diff options
author | lambda <lain@soykaf.club> | 2019-04-10 10:04:20 +0000 |
---|---|---|
committer | lambda <lain@soykaf.club> | 2019-04-10 10:04:20 +0000 |
commit | 6504b43f96860d1911ed9a17d1c487a6e8ac93ba (patch) | |
tree | 8414fc2108941ccadd9b9fd4dd37c9d3cf731399 /test/notification_test.exs | |
parent | c8440b5e0c97c5d5c03e4b99e30a61df6ab95319 (diff) | |
parent | be8350baa2f8c9cf9be3f53ee4a0041dada1386f (diff) | |
download | pleroma-6504b43f96860d1911ed9a17d1c487a6e8ac93ba.tar.gz pleroma-6504b43f96860d1911ed9a17d1c487a6e8ac93ba.zip |
Merge branch 'feature/user-status-subscriptions' into 'develop'
Add ability to subscribe to users
See merge request pleroma/pleroma!1024
Diffstat (limited to 'test/notification_test.exs')
-rw-r--r-- | test/notification_test.exs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/notification_test.exs b/test/notification_test.exs index 89d06b3a2..c3db77b6c 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -29,6 +29,18 @@ defmodule Pleroma.NotificationTest do assert notification.activity_id == activity.id assert other_notification.activity_id == activity.id end + + test "it creates a notification for subscribed users" do + user = insert(:user) + subscriber = insert(:user) + + User.subscribe(subscriber, user) + + {:ok, status} = TwitterAPI.create_status(user, %{"status" => "Akariiiin"}) + {:ok, [notification]} = Notification.create_notifications(status) + + assert notification.user_id == subscriber.id + end end describe "create_notification" do @@ -153,6 +165,28 @@ defmodule Pleroma.NotificationTest do {:ok, dupe} = TwitterAPI.repeat(user, status.id) assert nil == Notification.create_notification(dupe, retweeted_user) end + + test "it doesn't create duplicate notifications for follow+subscribed users" do + user = insert(:user) + subscriber = insert(:user) + + {:ok, _, _, _} = TwitterAPI.follow(subscriber, %{"user_id" => user.id}) + User.subscribe(subscriber, user) + {:ok, status} = TwitterAPI.create_status(user, %{"status" => "Akariiiin"}) + {:ok, [_notif]} = Notification.create_notifications(status) + end + + test "it doesn't create subscription notifications if the recipient cannot see the status" do + user = insert(:user) + subscriber = insert(:user) + + User.subscribe(subscriber, user) + + {:ok, status} = + TwitterAPI.create_status(user, %{"status" => "inwisible", "visibility" => "direct"}) + + assert {:ok, []} == Notification.create_notifications(status) + end end describe "get notification" do |