aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/notification_test.exs23
-rw-r--r--test/user_info_test.exs24
2 files changed, 47 insertions, 0 deletions
diff --git a/test/notification_test.exs b/test/notification_test.exs
index c3db77b6c..907b9e669 100644
--- a/test/notification_test.exs
+++ b/test/notification_test.exs
@@ -300,6 +300,29 @@ defmodule Pleroma.NotificationTest do
assert n2.seen == true
assert n3.seen == false
end
+
+ test "Updates `updated_at` field" do
+ user1 = insert(:user)
+ user2 = insert(:user)
+
+ Enum.each(0..10, fn i ->
+ {:ok, _activity} =
+ TwitterAPI.create_status(user1, %{
+ "status" => "#{i} hi @#{user2.nickname}"
+ })
+ end)
+
+ Process.sleep(1000)
+
+ [notification | _] = Notification.for_user(user2)
+
+ Notification.set_read_up_to(user2, notification.id)
+
+ Notification.for_user(user2)
+ |> Enum.each(fn notification ->
+ assert notification.updated_at > notification.inserted_at
+ end)
+ end
end
describe "notification target determination" do
diff --git a/test/user_info_test.exs b/test/user_info_test.exs
new file mode 100644
index 000000000..2d795594e
--- /dev/null
+++ b/test/user_info_test.exs
@@ -0,0 +1,24 @@
+defmodule Pleroma.UserInfoTest do
+ alias Pleroma.Repo
+ alias Pleroma.User.Info
+
+ use Pleroma.DataCase
+
+ import Pleroma.Factory
+
+ describe "update_email_notifications/2" do
+ setup do
+ user = insert(:user, %{info: %{email_notifications: %{"digest" => true}}})
+
+ {:ok, user: user}
+ end
+
+ test "Notifications are updated", %{user: user} do
+ true = user.info.email_notifications["digest"]
+ changeset = Info.update_email_notifications(user.info, %{"digest" => false})
+ assert changeset.valid?
+ {:ok, result} = Ecto.Changeset.apply_action(changeset, :insert)
+ assert result.email_notifications["digest"] == false
+ end
+ end
+end