diff options
author | lain <lain@soykaf.club> | 2020-05-06 09:01:42 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-05-06 09:01:42 +0000 |
commit | c3f1ce80ebc6caf85b2f874c31d6b98fd0ef5876 (patch) | |
tree | 7a5711bb3b2e5d897e78f995d56d2df048e6d706 /test | |
parent | 0a88bf6a9d97254e6bf60e4fb8c912bae1c76130 (diff) | |
parent | aea781cbd8fb43f906c6022a8d2e0bf896008203 (diff) | |
download | pleroma-c3f1ce80ebc6caf85b2f874c31d6b98fd0ef5876.tar.gz |
Merge branch 'fix/1726-user-pagination' into 'develop'
Pagination fix for service users filters in admin api
Closes #1726
See merge request pleroma/pleroma!2452
Diffstat (limited to 'test')
-rw-r--r-- | test/web/admin_api/admin_api_controller_test.exs | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs index c3f3ad051..78c79bb07 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -19,6 +19,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do alias Pleroma.Tests.ObanHelpers alias Pleroma.User alias Pleroma.UserInviteToken + alias Pleroma.Web alias Pleroma.Web.ActivityPub.Relay alias Pleroma.Web.CommonAPI alias Pleroma.Web.MediaProxy @@ -737,6 +738,39 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do } end + test "pagination works correctly with service users", %{conn: conn} do + service1 = insert(:user, ap_id: Web.base_url() <> "/relay") + service2 = insert(:user, ap_id: Web.base_url() <> "/internal/fetch") + insert_list(25, :user) + + assert %{"count" => 26, "page_size" => 10, "users" => users1} = + conn + |> get("/api/pleroma/admin/users?page=1&filters=", %{page_size: "10"}) + |> json_response(200) + + assert Enum.count(users1) == 10 + assert service1 not in [users1] + assert service2 not in [users1] + + assert %{"count" => 26, "page_size" => 10, "users" => users2} = + conn + |> get("/api/pleroma/admin/users?page=2&filters=", %{page_size: "10"}) + |> json_response(200) + + assert Enum.count(users2) == 10 + assert service1 not in [users2] + assert service2 not in [users2] + + assert %{"count" => 26, "page_size" => 10, "users" => users3} = + conn + |> get("/api/pleroma/admin/users?page=3&filters=", %{page_size: "10"}) + |> json_response(200) + + assert Enum.count(users3) == 6 + assert service1 not in [users3] + assert service2 not in [users3] + end + test "renders empty array for the second page", %{conn: conn} do insert(:user) @@ -3545,7 +3579,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do end test "success", %{conn: conn} do - base_url = Pleroma.Web.base_url() + base_url = Web.base_url() app_name = "Trusted app" response = @@ -3566,7 +3600,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do end test "with trusted", %{conn: conn} do - base_url = Pleroma.Web.base_url() + base_url = Web.base_url() app_name = "Trusted app" response = |