diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/admin_api/admin_api_controller_test.exs | 24 | 
1 files changed, 24 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 a3fbb6041..12077135c 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -1363,6 +1363,30 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do        }      end +    test "requires write:reports scope", %{conn: conn, id: id, admin: admin} do +      read_token = insert(:oauth_token, user: admin, scopes: ["read"]) +      write_token = insert(:oauth_token, user: admin, scopes: ["write:reports"]) + +      response = +        conn +        |> assign(:token, read_token) +        |> patch("/api/pleroma/admin/reports", %{ +          "reports" => [%{"state" => "resolved", "id" => id}] +        }) +        |> json_response(403) + +      assert response == %{ +               "error" => "Insufficient permissions: admin:write:reports | write:reports." +             } + +      conn +      |> assign(:token, write_token) +      |> patch("/api/pleroma/admin/reports", %{ +        "reports" => [%{"state" => "resolved", "id" => id}] +      }) +      |> json_response(:no_content) +    end +      test "mark report as resolved", %{conn: conn, id: id, admin: admin} do        conn        |> patch("/api/pleroma/admin/reports", %{ | 
