AdminApiControllerTest: Add test that `deleted` users get deactivated.
[akkoma] / test / web / admin_api / controllers / admin_api_controller_test.exs
index e63268831d71e527f43b4e09f05092e4d83cb913..66d4b1ef36bf03666cf32f4ad9610738aa479be8 100644 (file)
@@ -158,6 +158,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
       user = insert(:user)
       clear_config([:instance, :federating], true)
 
+      refute user.deactivated
+
       with_mock Pleroma.Web.Federator,
         publish: fn _ -> nil end do
         conn =
@@ -176,6 +178,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
 
         assert json_response(conn, 200) == [user.nickname]
 
+        user = Repo.get(User, user.id)
+        assert user.deactivated
+
         assert called(Pleroma.Web.Federator.publish(:_))
       end
     end
@@ -1164,6 +1169,27 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
              }
     end
 
+    test "`active` filters out users pending approval", %{token: token} do
+      insert(:user, approval_pending: true)
+      %{id: user_id} = insert(:user, approval_pending: false)
+      %{id: admin_id} = token.user
+
+      conn =
+        build_conn()
+        |> assign(:user, token.user)
+        |> assign(:token, token)
+        |> get("/api/pleroma/admin/users?filters=active")
+
+      assert %{
+               "count" => 2,
+               "page_size" => 50,
+               "users" => [
+                 %{"id" => ^admin_id},
+                 %{"id" => ^user_id}
+               ]
+             } = json_response(conn, 200)
+    end
+
     test "it works with multiple filters" do
       admin = insert(:user, nickname: "john", is_admin: true)
       token = insert(:oauth_admin_token, user: admin)