Add pagination to users admin API
[akkoma] / test / web / admin_api / admin_api_controller_test.exs
index 9fbaaba39edd852ee62b36b7a7d040792a49af77..1b0a2f5be70cb03d2356b01afdbab0868cd0a138 100644 (file)
@@ -330,4 +330,43 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
 
     assert conn.status == 200
   end
+
+  test "GET /api/pleroma/admin/users" do
+    admin = insert(:user, info: %{is_admin: true})
+    user = insert(:user)
+
+    conn =
+      build_conn()
+      |> assign(:user, admin)
+      |> get("/api/pleroma/admin/users?page=1")
+
+    assert json_response(conn, 200) == %{
+             "count" => 1,
+             "page_size" => 50,
+             "users" => [
+               %{
+                 "deactivated" => user.info.deactivated,
+                 "id" => user.id,
+                 "nickname" => user.nickname
+               }
+             ]
+           }
+  end
+
+  test "PATCH /api/pleroma/admin/users/:nickname/toggle_activation" do
+    admin = insert(:user, info: %{is_admin: true})
+    user = insert(:user)
+
+    conn =
+      build_conn()
+      |> assign(:user, admin)
+      |> patch("/api/pleroma/admin/users/#{user.nickname}/toggle_activation")
+
+    assert json_response(conn, 200) ==
+             %{
+               "deactivated" => !user.info.deactivated,
+               "id" => user.id,
+               "nickname" => user.nickname
+             }
+  end
 end