Create AdminAPI.InstanceController
[akkoma] / test / pleroma / web / admin_api / controllers / instance_controller_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.AdminAPI.InstanceControllerTest do
6 use Pleroma.Web.ConnCase
7 use Oban.Testing, repo: Pleroma.Repo
8
9 import Pleroma.Factory
10
11 alias Pleroma.Web.CommonAPI
12
13 setup_all do
14 Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
15
16 :ok
17 end
18
19 setup do
20 admin = insert(:user, is_admin: true)
21 token = insert(:oauth_admin_token, user: admin)
22
23 conn =
24 build_conn()
25 |> assign(:user, admin)
26 |> assign(:token, token)
27
28 {:ok, %{admin: admin, token: token, conn: conn}}
29 end
30
31 describe "instances" do
32 test "GET /instances/:instance/statuses", %{conn: conn} do
33 user = insert(:user, local: false, ap_id: "https://archae.me/users/archaeme")
34 user2 = insert(:user, local: false, ap_id: "https://test.com/users/test")
35 insert_pair(:note_activity, user: user)
36 activity = insert(:note_activity, user: user2)
37
38 %{"total" => 2, "activities" => activities} =
39 conn |> get("/api/pleroma/admin/instances/archae.me/statuses") |> json_response(200)
40
41 assert length(activities) == 2
42
43 %{"total" => 1, "activities" => [_]} =
44 conn |> get("/api/pleroma/admin/instances/test.com/statuses") |> json_response(200)
45
46 %{"total" => 0, "activities" => []} =
47 conn |> get("/api/pleroma/admin/instances/nonexistent.com/statuses") |> json_response(200)
48
49 CommonAPI.repeat(activity.id, user)
50
51 %{"total" => 2, "activities" => activities} =
52 conn |> get("/api/pleroma/admin/instances/archae.me/statuses") |> json_response(200)
53
54 assert length(activities) == 2
55
56 %{"total" => 3, "activities" => activities} =
57 conn
58 |> get("/api/pleroma/admin/instances/archae.me/statuses?with_reblogs=true")
59 |> json_response(200)
60
61 assert length(activities) == 3
62 end
63 end
64 end