diff options
author | lambda <pleromagit@rogerbraun.net> | 2018-05-13 08:16:54 +0000 |
---|---|---|
committer | lambda <pleromagit@rogerbraun.net> | 2018-05-13 08:16:54 +0000 |
commit | 2d83efa5deeef249494f06c6a0f20cfe5791a8e3 (patch) | |
tree | 67fd0dd926cb180be8dc0f0d1d3e9c6860232c5e | |
parent | 853f183fd3b8e782ef0f05e30a0b6b080d2a4ed0 (diff) | |
parent | 89603eda9ea51c5bd3c681fce958a4a6b446debe (diff) | |
download | pleroma-2d83efa5deeef249494f06c6a0f20cfe5791a8e3.tar.gz |
Merge branch 'no-self-notification' into 'develop'
Do not create notification for yourself
Closes #121
See merge request pleroma/pleroma!148
-rw-r--r-- | lib/pleroma/notification.ex | 3 | ||||
-rw-r--r-- | test/notification_test.exs | 7 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_controller_test.exs | 4 |
3 files changed, 12 insertions, 2 deletions
diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index e26e49c8c..e0dcd9823 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -91,7 +91,8 @@ defmodule Pleroma.Notification do # TODO move to sql, too. def create_notification(%Activity{} = activity, %User{} = user) do - unless User.blocks?(user, %{ap_id: activity.data["actor"]}) do + unless User.blocks?(user, %{ap_id: activity.data["actor"]}) or + user.ap_id == activity.data["actor"] do notification = %Notification{user_id: user.id, activity: activity} {:ok, notification} = Repo.insert(notification) Pleroma.Web.Streamer.stream("user", notification) diff --git a/test/notification_test.exs b/test/notification_test.exs index 568ad642c..2ca1ac13d 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -33,6 +33,13 @@ defmodule Pleroma.NotificationTest do assert nil == Notification.create_notification(activity, user) end + + test "it doesn't create a notification for user if he is the activity author" do + activity = insert(:note_activity) + author = User.get_by_ap_id(activity.data["actor"]) + + assert nil == Notification.create_notification(activity, author) + end end describe "get notification" do diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs index d7113979a..896fe246d 100644 --- a/test/web/twitter_api/twitter_api_controller_test.exs +++ b/test/web/twitter_api/twitter_api_controller_test.exs @@ -257,8 +257,10 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do end test "with credentials", %{conn: conn, user: current_user} do + other_user = insert(:user) + {:ok, activity} = - ActivityBuilder.insert(%{"to" => [current_user.ap_id]}, %{user: current_user}) + ActivityBuilder.insert(%{"to" => [current_user.ap_id]}, %{user: other_user}) conn = conn |