diff options
| author | Roman Chvanikov <chvanikoff@pm.me> | 2020-06-23 20:56:55 +0300 |
|---|---|---|
| committer | Roman Chvanikov <chvanikoff@pm.me> | 2020-06-23 20:56:55 +0300 |
| commit | 1471b70ef1550df91687276968108231f1bab604 (patch) | |
| tree | 3a59e7497d665d5ce3d6445132453518bc50601d /test/notification_test.exs | |
| parent | 604a83ae3efe21b231fb524203a883a062102546 (diff) | |
| parent | c7d69e925664ce7125c3938c298d72e94a2a1349 (diff) | |
| download | pleroma-1471b70ef1550df91687276968108231f1bab604.tar.gz pleroma-1471b70ef1550df91687276968108231f1bab604.zip | |
Merge develop
Diffstat (limited to 'test/notification_test.exs')
| -rw-r--r-- | test/notification_test.exs | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/test/notification_test.exs b/test/notification_test.exs index 37c255fee..526f43fab 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -10,6 +10,7 @@ defmodule Pleroma.NotificationTest do alias Pleroma.FollowingRelationship alias Pleroma.Notification + alias Pleroma.Repo alias Pleroma.Tests.ObanHelpers alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub @@ -31,6 +32,7 @@ defmodule Pleroma.NotificationTest do {:ok, [notification]} = Notification.create_notifications(activity) assert notification.user_id == user.id + assert notification.type == "pleroma:emoji_reaction" end test "notifies someone when they are directly addressed" do @@ -48,6 +50,7 @@ defmodule Pleroma.NotificationTest do notified_ids = Enum.sort([notification.user_id, other_notification.user_id]) assert notified_ids == [other_user.id, third_user.id] assert notification.activity_id == activity.id + assert notification.type == "mention" assert other_notification.activity_id == activity.id assert [%Pleroma.Marker{unread_count: 2}] = @@ -303,6 +306,14 @@ defmodule Pleroma.NotificationTest do assert {:ok, []} == Notification.create_notifications(status) end + + test "it disables notifications from people who are invisible" do + author = insert(:user, invisible: true) + user = insert(:user) + + {:ok, status} = CommonAPI.post(author, %{status: "hey @#{user.nickname}"}) + refute Notification.create_notification(status, user) + end end describe "follow / follow_request notifications" do @@ -335,9 +346,12 @@ defmodule Pleroma.NotificationTest do # After request is accepted, the same notification is rendered with type "follow": assert {:ok, _} = CommonAPI.accept_follow_request(user, followed_user) - notification_id = notification.id - assert [%{id: ^notification_id}] = Notification.for_user(followed_user) - assert %{type: "follow"} = NotificationView.render("show.json", render_opts) + notification = + Repo.get(Notification, notification.id) + |> Repo.preload(:activity) + + assert %{type: "follow"} = + NotificationView.render("show.json", notification: notification, for: followed_user) end test "it doesn't create a notification for follow-unfollow-follow chains" do |
