Add unique index and unique constraint check, uniqueness test fails
[akkoma] / test / web / thread_mute_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.ThreadMuteTest do
6 use Pleroma.DataCase
7 import Pleroma.Web.ThreadMute
8
9 import Pleroma.Factory
10
11 describe "mute tests" do
12 setup do
13 user = insert(:user)
14
15 activity = insert(:note_activity)
16
17 [user: user, activity: activity]
18 end
19
20 test "add mute", %{user: user, activity: activity} do
21 {:ok, _activity} = add_mute(user, activity.id)
22 assert muted?(user, activity)
23 end
24
25 test "remove mute", %{user: user, activity: activity} do
26 add_mute(user, activity.id)
27 {:ok, _activity} = remove_mute(user, activity.id)
28 refute muted?(user, activity)
29 end
30
31 test "check that mutes can't be duplicate", %{user: user, activity: activity} do
32 add_mute(user, activity.id)
33 assert muted?(user, activity)
34 {:error, _} = add_mute(user, activity.id)
35 end
36 end
37 end