diff options
| author | feld <feld@feld.me> | 2020-02-27 18:11:04 +0000 | 
|---|---|---|
| committer | feld <feld@feld.me> | 2020-02-27 18:11:04 +0000 | 
| commit | f2216287a72f5d644a4e8c932b4448c15c9a2a9b (patch) | |
| tree | fc4046b6cca525ef016dcccfbcfc9a2e8fff208a /test/web | |
| parent | ab0aa04e4cdc6f0f51a5a20d3f472d426a35149d (diff) | |
| parent | e2a6a403677ff4c879c398e46efb814866a3cd04 (diff) | |
| download | pleroma-f2216287a72f5d644a4e8c932b4448c15c9a2a9b.tar.gz pleroma-f2216287a72f5d644a4e8c932b4448c15c9a2a9b.zip | |
Merge branch 'admin-status-list' into 'develop'
Admin API: `/api/pleroma/admin/statuses` (accepts `godmode` and `local_only`)
Closes #1550
See merge request pleroma/pleroma!2192
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/admin_api/admin_api_controller_test.exs | 46 | 
1 files changed, 46 insertions, 0 deletions
| diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs index 7c33a51f8..777e85938 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -3065,6 +3065,52 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      end    end +  describe "GET /api/pleroma/admin/statuses" do +    test "returns all public, unlisted, and direct statuses", %{conn: conn, admin: admin} do +      blocked = insert(:user) +      user = insert(:user) +      User.block(admin, blocked) + +      {:ok, _} = +        CommonAPI.post(user, %{"status" => "@#{admin.nickname}", "visibility" => "direct"}) + +      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "unlisted"}) +      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) +      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "public"}) +      {:ok, _} = CommonAPI.post(blocked, %{"status" => ".", "visibility" => "public"}) + +      response = +        conn +        |> get("/api/pleroma/admin/statuses") +        |> json_response(200) + +      refute "private" in Enum.map(response, & &1["visibility"]) +      assert length(response) == 4 +    end + +    test "returns only local statuses with local_only on", %{conn: conn} do +      user = insert(:user) +      remote_user = insert(:user, local: false, nickname: "archaeme@archae.me") +      insert(:note_activity, user: user, local: true) +      insert(:note_activity, user: remote_user, local: false) + +      response = +        conn +        |> get("/api/pleroma/admin/statuses?local_only=true") +        |> json_response(200) + +      assert length(response) == 1 +    end + +    test "returns private statuses with godmode on", %{conn: conn} do +      user = insert(:user) +      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) +      {:ok, _} = CommonAPI.post(user, %{"status" => ".", "visibility" => "public"}) +      conn = get(conn, "/api/pleroma/admin/statuses?godmode=true") +      assert json_response(conn, 200) |> length() == 2 +    end +  end +    describe "GET /api/pleroma/admin/users/:nickname/statuses" do      setup do        user = insert(:user) | 
