aboutsummaryrefslogtreecommitdiff
path: root/test/notification_test.exs
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-01-13 13:38:28 +0300
committerrinpatch <rinpatch@sdf.org>2019-01-13 13:38:28 +0300
commite4dc3f71aea900e566c0d66ddffc5cd57e3920dd (patch)
treed0b0edfd3c7aa4c2015b0b461a4c40895e16eba9 /test/notification_test.exs
parent9a6236e69d2709c0df374574fd77c4b2bc3d68fb (diff)
parent19b6a8239387869c69c6885044ee488d097b723f (diff)
downloadpleroma-e4dc3f71aea900e566c0d66ddffc5cd57e3920dd.tar.gz
Resolve merge conflict
Diffstat (limited to 'test/notification_test.exs')
-rw-r--r--test/notification_test.exs41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/notification_test.exs b/test/notification_test.exs
index 385210793..94fb0ab15 100644
--- a/test/notification_test.exs
+++ b/test/notification_test.exs
@@ -1,3 +1,7 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Pleroma.NotificationTest do
use Pleroma.DataCase
alias Pleroma.Web.TwitterAPI.TwitterAPI
@@ -42,6 +46,43 @@ defmodule Pleroma.NotificationTest do
assert nil == Notification.create_notification(activity, author)
end
+
+ test "it doesn't create a notification for follow-unfollow-follow chains" do
+ user = insert(:user)
+ followed_user = insert(:user)
+ {:ok, _, _, activity} = TwitterAPI.follow(user, %{"user_id" => followed_user.id})
+ Notification.create_notification(activity, followed_user)
+ TwitterAPI.unfollow(user, %{"user_id" => followed_user.id})
+ {:ok, _, _, activity_dupe} = TwitterAPI.follow(user, %{"user_id" => followed_user.id})
+ assert nil == Notification.create_notification(activity_dupe, followed_user)
+ end
+
+ test "it doesn't create a notification for like-unlike-like chains" do
+ user = insert(:user)
+ liked_user = insert(:user)
+ {:ok, status} = TwitterAPI.create_status(liked_user, %{"status" => "Yui is best yuru"})
+ {:ok, fav_status} = TwitterAPI.fav(user, status.id)
+ Notification.create_notification(fav_status, liked_user)
+ TwitterAPI.unfav(user, status.id)
+ {:ok, dupe} = TwitterAPI.fav(user, status.id)
+ assert nil == Notification.create_notification(dupe, liked_user)
+ end
+
+ test "it doesn't create a notification for repeat-unrepeat-repeat chains" do
+ user = insert(:user)
+ retweeted_user = insert(:user)
+
+ {:ok, status} =
+ TwitterAPI.create_status(retweeted_user, %{
+ "status" => "Send dupe notifications to the shadow realm"
+ })
+
+ {:ok, retweeted_activity} = TwitterAPI.repeat(user, status.id)
+ Notification.create_notification(retweeted_activity, retweeted_user)
+ TwitterAPI.unrepeat(user, status.id)
+ {:ok, dupe} = TwitterAPI.repeat(user, status.id)
+ assert nil == Notification.create_notification(dupe, retweeted_user)
+ end
end
describe "get notification" do