diff options
author | Alex Gleason <alex@alexgleason.me> | 2020-07-14 18:02:44 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2020-07-14 18:02:44 -0500 |
commit | 20d24741af8ae755ce7f753680a55ca24ef7c1d4 (patch) | |
tree | bd8a663fd420df4c27131cbae73fa465c73bb3e2 /test | |
parent | 33f1b29b2c9cfe6f09c6b088b8b6f7bf14379b9b (diff) | |
download | pleroma-20d24741af8ae755ce7f753680a55ca24ef7c1d4.tar.gz |
AdminAPI: Add `PATCH /api/pleroma/admin/users/approve` endpoint
Diffstat (limited to 'test')
-rw-r--r-- | test/user_test.exs | 25 | ||||
-rw-r--r-- | test/web/admin_api/controllers/admin_api_controller_test.exs | 20 |
2 files changed, 45 insertions, 0 deletions
diff --git a/test/user_test.exs b/test/user_test.exs index e57453982..9da2aa411 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -1202,6 +1202,31 @@ defmodule Pleroma.UserTest do end end + describe "approve" do + test "approves a user" do + user = insert(:user, approval_pending: true) + assert true == user.approval_pending + {:ok, user} = User.approve(user) + assert false == user.approval_pending + end + + test "approves a list of users" do + unapproved_users = [ + insert(:user, approval_pending: true), + insert(:user, approval_pending: true), + insert(:user, approval_pending: true) + ] + + {:ok, users} = User.approve(unapproved_users) + + assert Enum.count(users) == 3 + + Enum.each(users, fn user -> + assert false == user.approval_pending + end) + end + end + describe "delete" do setup do {:ok, user} = insert(:user) |> User.set_cache() diff --git a/test/web/admin_api/controllers/admin_api_controller_test.exs b/test/web/admin_api/controllers/admin_api_controller_test.exs index 9cc8b1879..351df8883 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -1257,6 +1257,26 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do "@#{admin.nickname} deactivated users: @#{user_one.nickname}, @#{user_two.nickname}" end + test "PATCH /api/pleroma/admin/users/approve", %{admin: admin, conn: conn} do + user_one = insert(:user, approval_pending: true) + user_two = insert(:user, approval_pending: true) + + conn = + patch( + conn, + "/api/pleroma/admin/users/approve", + %{nicknames: [user_one.nickname, user_two.nickname]} + ) + + response = json_response(conn, 200) + assert Enum.map(response["users"], & &1["approval_pending"]) == [false, false] + + log_entry = Repo.one(ModerationLog) + + assert ModerationLog.get_log_entry_message(log_entry) == + "@#{admin.nickname} approved users: @#{user_one.nickname}, @#{user_two.nickname}" + end + test "PATCH /api/pleroma/admin/users/:nickname/toggle_activation", %{admin: admin, conn: conn} do user = insert(:user) |