diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/mastodon_api/views/conversation_view_test.exs | 1 | ||||
| -rw-r--r-- | test/web/mastodon_api/views/status_view_test.exs | 25 | ||||
| -rw-r--r-- | test/web/streamer/streamer_test.exs | 12 | 
3 files changed, 34 insertions, 4 deletions
| diff --git a/test/web/mastodon_api/views/conversation_view_test.exs b/test/web/mastodon_api/views/conversation_view_test.exs index a2a880705..6ed22597d 100644 --- a/test/web/mastodon_api/views/conversation_view_test.exs +++ b/test/web/mastodon_api/views/conversation_view_test.exs @@ -30,5 +30,6 @@ defmodule Pleroma.Web.MastodonAPI.ConversationViewTest do      assert [account] = conversation.accounts      assert account.id == other_user.id +    assert conversation.last_status.pleroma.direct_conversation_id == participation.id    end  end diff --git a/test/web/mastodon_api/views/status_view_test.exs b/test/web/mastodon_api/views/status_view_test.exs index 7526f2f27..d46ecc646 100644 --- a/test/web/mastodon_api/views/status_view_test.exs +++ b/test/web/mastodon_api/views/status_view_test.exs @@ -7,6 +7,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do    alias Pleroma.Activity    alias Pleroma.Bookmark +  alias Pleroma.Conversation.Participation    alias Pleroma.HTML    alias Pleroma.Object    alias Pleroma.Repo @@ -23,10 +24,11 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      :ok    end -  test "returns the direct conversation id when given the `with_conversation_id` option" do +  test "loads and returns the direct conversation id when given the `with_direct_conversation_id` option" do      user = insert(:user)      {:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!", "visibility" => "direct"}) +    [participation] = Participation.for_user(user)      status =        StatusView.render("show.json", @@ -35,7 +37,26 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do          for: user        ) -    assert status[:pleroma][:direct_conversation_id] +    assert status[:pleroma][:direct_conversation_id] == participation.id + +    status = StatusView.render("show.json", activity: activity, for: user) +    assert status[:pleroma][:direct_conversation_id] == nil +  end + +  test "returns the direct conversation id when given the `direct_conversation_id` option" do +    user = insert(:user) + +    {:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!", "visibility" => "direct"}) +    [participation] = Participation.for_user(user) + +    status = +      StatusView.render("show.json", +        activity: activity, +        direct_conversation_id: participation.id, +        for: user +      ) + +    assert status[:pleroma][:direct_conversation_id] == participation.id    end    test "returns a temporary ap_id based user for activities missing db users" do diff --git a/test/web/streamer/streamer_test.exs b/test/web/streamer/streamer_test.exs index d6968f4d0..80a7541b2 100644 --- a/test/web/streamer/streamer_test.exs +++ b/test/web/streamer/streamer_test.exs @@ -7,6 +7,7 @@ defmodule Pleroma.Web.StreamerTest do    import Pleroma.Factory +  alias Pleroma.Conversation.Participation    alias Pleroma.List    alias Pleroma.User    alias Pleroma.Web.CommonAPI @@ -481,7 +482,14 @@ defmodule Pleroma.Web.StreamerTest do        task =          Task.async(fn -> -          assert_receive {:text, _received_event}, 4_000 +          assert_receive {:text, received_event}, 4_000 + +          assert %{"event" => "conversation", "payload" => received_payload} = +                   Jason.decode!(received_event) + +          assert %{"last_status" => last_status} = Jason.decode!(received_payload) +          [participation] = Participation.for_user(user) +          assert last_status["pleroma"]["direct_conversation_id"] == participation.id          end)        Streamer.add_socket( @@ -498,7 +506,7 @@ defmodule Pleroma.Web.StreamerTest do        Task.await(task)      end -    test "it doesn't send conversation update to the 'direct' streamj when the last message in the conversation is deleted" do +    test "it doesn't send conversation update to the 'direct' stream when the last message in the conversation is deleted" do        user = insert(:user)        another_user = insert(:user) | 
