aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/web/activity_pub/side_effects_test.exs41
-rw-r--r--test/web/common_api/common_api_test.exs1
-rw-r--r--test/web/pleroma_api/views/chat_view_test.exs15
3 files changed, 13 insertions, 44 deletions
diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs
index b1afa6a2e..6bbbaae87 100644
--- a/test/web/activity_pub/side_effects_test.exs
+++ b/test/web/activity_pub/side_effects_test.exs
@@ -23,7 +23,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do
import Mock
describe "handle_after_transaction" do
- test "it streams out notifications" do
+ test "it streams out notifications and streams" do
author = insert(:user, local: true)
recipient = insert(:user, local: true)
@@ -37,7 +37,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do
{:ok, _create_activity, meta} =
SideEffects.handle(create_activity, local: false, object_data: chat_message_data)
- assert [notification] = meta[:created_notifications]
+ assert [notification] = meta[:notifications]
with_mocks([
{
@@ -58,6 +58,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do
SideEffects.handle_after_transaction(meta)
assert called(Pleroma.Web.Streamer.stream(["user", "user:notification"], notification))
+ assert called(Pleroma.Web.Streamer.stream(["user", "user:pleroma_chat"], :_))
assert called(Pleroma.Web.Push.send(notification))
end
end
@@ -362,33 +363,10 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do
{:ok, create_activity, _meta} = ActivityPub.persist(create_activity_data, local: false)
- with_mock Pleroma.Web.Streamer, [],
- stream: fn _, payload ->
- case payload do
- {^author, cm_ref} ->
- assert cm_ref.unread == false
-
- {^recipient, cm_ref} ->
- assert cm_ref.unread == true
-
- view =
- Pleroma.Web.PleromaAPI.ChatView.render("show.json",
- last_message: cm_ref,
- chat: cm_ref.chat
- )
-
- assert view.unread == 1
-
- _ ->
- nil
- end
- end do
- {:ok, _create_activity, _meta} =
- SideEffects.handle(create_activity, local: false, object_data: chat_message_data)
+ {:ok, _create_activity, meta} =
+ SideEffects.handle(create_activity, local: false, object_data: chat_message_data)
- assert called(Pleroma.Web.Streamer.stream(["user", "user:pleroma_chat"], {author, :_}))
- assert called(Pleroma.Web.Streamer.stream(["user", "user:pleroma_chat"], {recipient, :_}))
- end
+ assert [_, _] = meta[:streamables]
end
test "it creates a Chat and MessageReferences for the local users and bumps the unread count, except for the author" do
@@ -422,13 +400,18 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do
SideEffects.handle(create_activity, local: false, object_data: chat_message_data)
# The notification gets created
- assert [notification] = meta[:created_notifications]
+ assert [notification] = meta[:notifications]
assert notification.activity_id == create_activity.id
# But it is not sent out
refute called(Pleroma.Web.Streamer.stream(["user", "user:notification"], notification))
refute called(Pleroma.Web.Push.send(notification))
+ # Same for the user chat stream
+ assert [{topics, _}, _] = meta[:streamables]
+ assert topics == ["user", "user:pleroma_chat"]
+ refute called(Pleroma.Web.Streamer.stream(["user", "user:pleroma_chat"], :_))
+
chat = Chat.get(author.id, recipient.ap_id)
[cm_ref] = MessageReference.for_chat_query(chat) |> Repo.all()
diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs
index 63b59820e..6bd26050e 100644
--- a/test/web/common_api/common_api_test.exs
+++ b/test/web/common_api/common_api_test.exs
@@ -72,6 +72,7 @@ defmodule Pleroma.Web.CommonAPITest do
assert called(Pleroma.Web.Push.send(notification))
assert called(Pleroma.Web.Streamer.stream(["user", "user:notification"], notification))
+ assert called(Pleroma.Web.Streamer.stream(["user", "user:pleroma_chat"], :_))
assert activity
end
diff --git a/test/web/pleroma_api/views/chat_view_test.exs b/test/web/pleroma_api/views/chat_view_test.exs
index f7af5d4e0..14eecb1bd 100644
--- a/test/web/pleroma_api/views/chat_view_test.exs
+++ b/test/web/pleroma_api/views/chat_view_test.exs
@@ -16,21 +16,6 @@ defmodule Pleroma.Web.PleromaAPI.ChatViewTest do
import Pleroma.Factory
- test "giving a chat with an 'unread' field, it uses that" do
- user = insert(:user)
- recipient = insert(:user)
-
- {:ok, chat} = Chat.get_or_create(user.id, recipient.ap_id)
-
- chat =
- chat
- |> Map.put(:unread, 5)
-
- represented_chat = ChatView.render("show.json", chat: chat)
-
- assert represented_chat[:unread] == 5
- end
-
test "it represents a chat" do
user = insert(:user)
recipient = insert(:user)