describe "create_notification" do
@tag needs_streamer: true
test "it creates a notification for user and send to the 'user' and the 'user:notification' stream" do
- user = insert(:user)
+ %{user: user, token: oauth_token} = oauth_access(["read"])
task =
Task.async(fn ->
- Streamer.get_topic_and_add_socket("user", user)
+ {:ok, _topic} = Streamer.get_topic_and_add_socket("user", user, oauth_token)
assert_receive {:render_with_user, _, _, _}, 4_000
end)
task_user_notification =
Task.async(fn ->
- Streamer.get_topic_and_add_socket("user:notification", user)
+ {:ok, _topic} =
+ Streamer.get_topic_and_add_socket("user:notification", user, oauth_token)
+
assert_receive {:render_with_user, _, _, _}, 4_000
end)
in_reply_to_status_id: activity.id
})
- assert Notification.create_notification(activity, muter)
+ notification = Notification.create_notification(activity, muter)
+
+ assert notification.id
+ assert notification.seen
end
test "it disables notifications from strangers" do
{:ok, [notification]} = Notification.create_notifications(status)
assert notification
+ refute notification.seen
end
test "it creates notifications when someone likes user's status with a filtered word" do
{:ok, [notification]} = Notification.create_notifications(activity_two)
assert notification
+ refute notification.seen
end
end