diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 21 | ||||
| -rw-r--r-- | test/web/mastodon_api/controllers/conversation_controller_test.exs | 14 | ||||
| -rw-r--r-- | test/web/mastodon_api/views/account_view_test.exs | 4 | 
3 files changed, 33 insertions, 6 deletions
| diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 3a5a2f984..28a9b773c 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -41,6 +41,27 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do          assert called(Pleroma.Web.Streamer.stream("participation", participations))        end      end + +    test "streams them out on activity creation" do +      user_one = insert(:user) +      user_two = insert(:user) + +      with_mock Pleroma.Web.Streamer, +        stream: fn _, _ -> nil end do +        {:ok, activity} = +          CommonAPI.post(user_one, %{ +            "status" => "@#{user_two.nickname}", +            "visibility" => "direct" +          }) + +        conversation = +          activity.data["context"] +          |> Pleroma.Conversation.get_for_ap_id() +          |> Repo.preload(participations: :user) + +        assert called(Pleroma.Web.Streamer.stream("participation", conversation.participations)) +      end +    end    end    describe "fetching restricted by visibility" do diff --git a/test/web/mastodon_api/controllers/conversation_controller_test.exs b/test/web/mastodon_api/controllers/conversation_controller_test.exs index a308a7620..d89a87179 100644 --- a/test/web/mastodon_api/controllers/conversation_controller_test.exs +++ b/test/web/mastodon_api/controllers/conversation_controller_test.exs @@ -54,9 +54,9 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do      assert user_two.id in account_ids      assert user_three.id in account_ids      assert is_binary(res_id) -    assert unread == true +    assert unread == false      assert res_last_status["id"] == direct.id -    assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 1 +    assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 0    end    test "updates the last_status on reply", %{conn: conn} do @@ -95,19 +95,23 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do          "visibility" => "direct"        }) +    assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 0 +    assert User.get_cached_by_id(user_two.id).info.unread_conversation_count == 1 +      [%{"id" => direct_conversation_id, "unread" => true}] =        conn -      |> assign(:user, user_one) +      |> assign(:user, user_two)        |> get("/api/v1/conversations")        |> json_response(200)      %{"unread" => false} =        conn -      |> assign(:user, user_one) +      |> assign(:user, user_two)        |> post("/api/v1/conversations/#{direct_conversation_id}/read")        |> json_response(200)      assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 0 +    assert User.get_cached_by_id(user_two.id).info.unread_conversation_count == 0      # The conversation is marked as unread on reply      {:ok, _} = @@ -124,6 +128,7 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do        |> json_response(200)      assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 1 +    assert User.get_cached_by_id(user_two.id).info.unread_conversation_count == 0      # A reply doesn't increment the user's unread_conversation_count if the conversation is unread      {:ok, _} = @@ -134,6 +139,7 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do        })      assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 1 +    assert User.get_cached_by_id(user_two.id).info.unread_conversation_count == 0    end    test "(vanilla) Mastodon frontend behaviour", %{conn: conn} do diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index b7a4938a6..ad209b4a3 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -424,8 +424,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        other_user = insert(:user)        {:ok, _activity} = -        CommonAPI.post(user, %{ -          "status" => "Hey @#{other_user.nickname}.", +        CommonAPI.post(other_user, %{ +          "status" => "Hey @#{user.nickname}.",            "visibility" => "direct"          }) | 
