From 09189c3a7c61d15dc8c73c2474df19320f5032d0 Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Sat, 9 Feb 2019 14:23:51 +0100 Subject: Made a test! --- test/web/thread_mute_test.exs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/web/thread_mute_test.exs (limited to 'test') diff --git a/test/web/thread_mute_test.exs b/test/web/thread_mute_test.exs new file mode 100644 index 000000000..4dea44d2f --- /dev/null +++ b/test/web/thread_mute_test.exs @@ -0,0 +1,25 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ThreadMuteTest do + use Pleroma.DataCase + import Pleroma.Web.ThreadMute + + import Pleroma.Factory + + test "add a mute" do + user = insert(:user, %{id: "1"}) + + activity = + insert(:note_activity, %{ + data: %{"context" => "http://localhost:4000/contexts/361ca23e-ffa7-4773-b981-a355a18dc592"} + }) + + id = activity.id + {:ok, mute} = add_mute(user, id) + + assert mute.user_id == "1" + assert mute.context == "http://localhost:4000/contexts/361ca23e-ffa7-4773-b981-a355a18dc592" + end +end -- cgit v1.2.3 From 4430a0ad127411b818d875dbbaf14369c109f331 Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Sat, 9 Feb 2019 14:34:42 +0100 Subject: added another test --- test/web/thread_mute_test.exs | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'test') diff --git a/test/web/thread_mute_test.exs b/test/web/thread_mute_test.exs index 4dea44d2f..75277ef62 100644 --- a/test/web/thread_mute_test.exs +++ b/test/web/thread_mute_test.exs @@ -8,18 +8,33 @@ defmodule Pleroma.Web.ThreadMuteTest do import Pleroma.Factory - test "add a mute" do - user = insert(:user, %{id: "1"}) + describe "mute tests" do + setup do + user = insert(:user, %{id: "1"}) - activity = - insert(:note_activity, %{ - data: %{"context" => "http://localhost:4000/contexts/361ca23e-ffa7-4773-b981-a355a18dc592"} - }) + activity = + insert(:note_activity, %{ + data: %{ + "context" => "http://localhost:4000/contexts/361ca23e-ffa7-4773-b981-a355a18dc592" + } + }) - id = activity.id - {:ok, mute} = add_mute(user, id) + [user: user, activity: activity] + end - assert mute.user_id == "1" - assert mute.context == "http://localhost:4000/contexts/361ca23e-ffa7-4773-b981-a355a18dc592" + test "add mute", %{user: user, activity: activity} do + id = activity.id + {:ok, mute} = add_mute(user, id) + + assert mute.user_id == "1" + assert mute.context == "http://localhost:4000/contexts/361ca23e-ffa7-4773-b981-a355a18dc592" + end + + test "remove mute", %{user: user, activity: activity} do + id = activity.id + + add_mute(user, id) + {1, nil} = remove_mute(user, id) + end end end -- cgit v1.2.3 From a0d732ec55fcbce8cf345344d1456dc77bb0f3bf Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Sat, 9 Feb 2019 17:47:57 +0100 Subject: it works!! --- test/web/thread_mute_test.exs | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'test') diff --git a/test/web/thread_mute_test.exs b/test/web/thread_mute_test.exs index 75277ef62..212cae860 100644 --- a/test/web/thread_mute_test.exs +++ b/test/web/thread_mute_test.exs @@ -10,31 +10,32 @@ defmodule Pleroma.Web.ThreadMuteTest do describe "mute tests" do setup do - user = insert(:user, %{id: "1"}) + user = insert(:user) - activity = - insert(:note_activity, %{ - data: %{ - "context" => "http://localhost:4000/contexts/361ca23e-ffa7-4773-b981-a355a18dc592" - } - }) + activity = insert(:note_activity) [user: user, activity: activity] end test "add mute", %{user: user, activity: activity} do id = activity.id - {:ok, mute} = add_mute(user, id) - - assert mute.user_id == "1" - assert mute.context == "http://localhost:4000/contexts/361ca23e-ffa7-4773-b981-a355a18dc592" + {:ok, _activity} = add_mute(user, id) end test "remove mute", %{user: user, activity: activity} do id = activity.id add_mute(user, id) - {1, nil} = remove_mute(user, id) + {:ok, _activity} = remove_mute(user, id) + end + + test "check mute", %{user: user, activity: activity} do + id = activity.id + + add_mute(user, id) + assert muted?(user, activity) + remove_mute(user, id) + refute muted?(user, activity) end end end -- cgit v1.2.3 From 478a05b4c99d696846b71d0eb4d6982ba422bfb8 Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Sat, 9 Feb 2019 18:34:00 +0100 Subject: Merged "check mute" test into the other two --- test/web/thread_mute_test.exs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'test') diff --git a/test/web/thread_mute_test.exs b/test/web/thread_mute_test.exs index 212cae860..119a06f52 100644 --- a/test/web/thread_mute_test.exs +++ b/test/web/thread_mute_test.exs @@ -20,6 +20,7 @@ defmodule Pleroma.Web.ThreadMuteTest do test "add mute", %{user: user, activity: activity} do id = activity.id {:ok, _activity} = add_mute(user, id) + assert muted?(user, activity) end test "remove mute", %{user: user, activity: activity} do @@ -27,14 +28,6 @@ defmodule Pleroma.Web.ThreadMuteTest do add_mute(user, id) {:ok, _activity} = remove_mute(user, id) - end - - test "check mute", %{user: user, activity: activity} do - id = activity.id - - add_mute(user, id) - assert muted?(user, activity) - remove_mute(user, id) refute muted?(user, activity) end end -- cgit v1.2.3 From 6a150de3bd416cfe0b4870deee2e6557791345f8 Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Sat, 9 Feb 2019 20:52:11 +0100 Subject: Add unique index and unique constraint check, uniqueness test fails --- test/web/thread_mute_test.exs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'test') diff --git a/test/web/thread_mute_test.exs b/test/web/thread_mute_test.exs index 119a06f52..f3a24613c 100644 --- a/test/web/thread_mute_test.exs +++ b/test/web/thread_mute_test.exs @@ -18,17 +18,20 @@ defmodule Pleroma.Web.ThreadMuteTest do end test "add mute", %{user: user, activity: activity} do - id = activity.id - {:ok, _activity} = add_mute(user, id) + {:ok, _activity} = add_mute(user, activity.id) assert muted?(user, activity) end test "remove mute", %{user: user, activity: activity} do - id = activity.id - - add_mute(user, id) - {:ok, _activity} = remove_mute(user, id) + add_mute(user, activity.id) + {:ok, _activity} = remove_mute(user, activity.id) refute muted?(user, activity) end + + test "check that mutes can't be duplicate", %{user: user, activity: activity} do + add_mute(user, activity.id) + assert muted?(user, activity) + {:error, _} = add_mute(user, activity.id) + end end end -- cgit v1.2.3 From c01ef574c192488c2643a20b4064439757613449 Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Mon, 11 Feb 2019 11:59:51 +0100 Subject: Refactor as per Rin's suggestions, add endpoint tests --- test/web/common_api/common_api_test.exs | 26 +++++++++++++++ .../mastodon_api/mastodon_api_controller_test.exs | 33 +++++++++++++++++++ test/web/thread_mute_test.exs | 37 ---------------------- 3 files changed, 59 insertions(+), 37 deletions(-) delete mode 100644 test/web/thread_mute_test.exs (limited to 'test') diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index a7d9e6161..d26b6e49c 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -164,4 +164,30 @@ defmodule Pleroma.Web.CommonAPI.Test do assert %User{info: %{pinned_activities: []}} = user end end + + describe "mute tests" do + setup do + user = insert(:user) + + activity = insert(:note_activity) + + [user: user, activity: activity] + end + + test "add mute", %{user: user, activity: activity} do + {:ok, _} = CommonAPI.add_mute(user, activity) + assert CommonAPI.thread_muted?(user, activity) + end + + test "remove mute", %{user: user, activity: activity} do + CommonAPI.add_mute(user, activity) + {:ok, _} = CommonAPI.remove_mute(user, activity) + refute CommonAPI.thread_muted?(user, activity) + end + + test "check that mutes can't be duplicate", %{user: user, activity: activity} do + CommonAPI.add_mute(user, activity) + {:error, _} = CommonAPI.add_mute(user, activity) + end + end end diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs index f8da86004..f7c059663 100644 --- a/test/web/mastodon_api/mastodon_api_controller_test.exs +++ b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -1749,4 +1749,37 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do assert [json_response(response2, 200)] == json_response(bookmarks, 200) end + + describe "conversation muting" do + setup do + + user = insert(:user) + {:ok, activity} = CommonAPI.post(user, %{"status" => "HIE"}) + + [user: user, activity: activity] + end + + test "mute conversation", %{conn: conn, user: user, activity: activity} do + id_str = to_string(activity.id) + + assert %{"id" => ^id_str, "muted" => true} = + conn + |> assign(:user, user) + |> post("/api/v1/statuses/#{activity.id}/mute") + |> json_response(200) + end + + test "unmute conversation", %{conn: conn, user: user, activity: activity} do + {:ok, _} = CommonAPI.add_mute(user, activity) + + id_str = to_string(activity.id) + user = refresh_record(user) + + assert %{"id" => ^id_str, "muted" => false} = + conn + |> assign(:user, user) + |> post("/api/v1/statuses/#{activity.id}/unmute") + |> json_response(200) + end + end end diff --git a/test/web/thread_mute_test.exs b/test/web/thread_mute_test.exs deleted file mode 100644 index f3a24613c..000000000 --- a/test/web/thread_mute_test.exs +++ /dev/null @@ -1,37 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.ThreadMuteTest do - use Pleroma.DataCase - import Pleroma.Web.ThreadMute - - import Pleroma.Factory - - describe "mute tests" do - setup do - user = insert(:user) - - activity = insert(:note_activity) - - [user: user, activity: activity] - end - - test "add mute", %{user: user, activity: activity} do - {:ok, _activity} = add_mute(user, activity.id) - assert muted?(user, activity) - end - - test "remove mute", %{user: user, activity: activity} do - add_mute(user, activity.id) - {:ok, _activity} = remove_mute(user, activity.id) - refute muted?(user, activity) - end - - test "check that mutes can't be duplicate", %{user: user, activity: activity} do - add_mute(user, activity.id) - assert muted?(user, activity) - {:error, _} = add_mute(user, activity.id) - end - end -end -- cgit v1.2.3