Test that end of poll notifications are streamed over websockets
This commit is contained in:
parent
c24e222887
commit
a5424c3681
@ -5,6 +5,7 @@
|
|||||||
defmodule Pleroma.NotificationTest do
|
defmodule Pleroma.NotificationTest do
|
||||||
use Pleroma.DataCase, async: false
|
use Pleroma.DataCase, async: false
|
||||||
|
|
||||||
|
import Mock
|
||||||
import Pleroma.Factory
|
import Pleroma.Factory
|
||||||
|
|
||||||
alias Pleroma.FollowingRelationship
|
alias Pleroma.FollowingRelationship
|
||||||
@ -183,10 +184,32 @@ defmodule Pleroma.NotificationTest do
|
|||||||
{:ok, _, _} = CommonAPI.vote(user2, question, [0])
|
{:ok, _, _} = CommonAPI.vote(user2, question, [0])
|
||||||
{:ok, _, _} = CommonAPI.vote(user3, question, [1])
|
{:ok, _, _} = CommonAPI.vote(user3, question, [1])
|
||||||
|
|
||||||
|
with_mocks([
|
||||||
|
{
|
||||||
|
Pleroma.Web.Streamer,
|
||||||
|
[],
|
||||||
|
[
|
||||||
|
stream: fn _, _ -> nil end
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Pleroma.Web.Push,
|
||||||
|
[],
|
||||||
|
[
|
||||||
|
send: fn _ -> nil end
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]) do
|
||||||
{:ok, notifications} = Notification.create_poll_notifications(activity)
|
{:ok, notifications} = Notification.create_poll_notifications(activity)
|
||||||
|
|
||||||
|
Enum.each(notifications, fn notification ->
|
||||||
|
assert called(Pleroma.Web.Streamer.stream(["user", "user:notification"], notification))
|
||||||
|
assert called(Pleroma.Web.Push.send(notification))
|
||||||
|
end)
|
||||||
|
|
||||||
assert [user2.id, user3.id, user1.id] == Enum.map(notifications, & &1.user_id)
|
assert [user2.id, user3.id, user1.id] == Enum.map(notifications, & &1.user_id)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "create_notification" do
|
describe "create_notification" do
|
||||||
test "it disables notifications from strangers" do
|
test "it disables notifications from strangers" do
|
||||||
|
Loading…
Reference in New Issue
Block a user