|
|
@@ -46,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 |
|
|
|