logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 2d83efa5deeef249494f06c6a0f20cfe5791a8e3
parent: 853f183fd3b8e782ef0f05e30a0b6b080d2a4ed0
Author: lambda <pleromagit@rogerbraun.net>
Date:   Sun, 13 May 2018 08:16:54 +0000

Merge branch 'no-self-notification' into 'develop'

Do not create notification for yourself

Closes #121

See merge request pleroma/pleroma!148

Diffstat:

Mlib/pleroma/notification.ex3++-
Mtest/notification_test.exs7+++++++
Mtest/web/twitter_api/twitter_api_controller_test.exs4+++-
3 files changed, 12 insertions(+), 2 deletions(-)

diff --git 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 @@ -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 @@ -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