Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into develop
[akkoma] / test / notification_test.exs
1 defmodule Pleroma.NotificationTest do
2 use Pleroma.DataCase
3 alias Pleroma.Web.TwitterAPI.TwitterAPI
4 alias Pleroma.{User, Notification}
5 import Pleroma.Factory
6
7 describe "create_notifications" do
8 test "notifies someone when they are directly addressed" do
9 user = insert(:user)
10 other_user = insert(:user)
11 third_user = insert(:user)
12
13 {:ok, activity} = TwitterAPI.create_status(user, %{"status" => "hey @#{other_user.nickname} and @#{third_user.nickname}"})
14
15 {:ok, [notification, other_notification]} = Notification.create_notifications(activity)
16
17 assert notification.user_id == other_user.id
18 assert notification.activity_id == activity.id
19 assert other_notification.user_id == third_user.id
20 assert other_notification.activity_id == activity.id
21 end
22 end
23
24 describe "create_notification" do
25 test "it doesn't create a notification for user if the user blocks the activity author" do
26 activity = insert(:note_activity)
27 author = User.get_by_ap_id(activity.data["actor"])
28 user = insert(:user)
29 {:ok, user} = User.block(user, author)
30
31 assert nil == Notification.create_notification(activity, user)
32 end
33 end
34 end