Fix OpenAPI spec for preferred_frontend endpoint

The spec was copied from another endpoint, including the operation id,
leading to scrubbing the valid parameters from the request and simply
not working.
This commit is contained in:
Paweł Świątkowski 2024-02-03 14:24:03 +01:00
parent b4ccddab39
commit d7d159c49f
Signed by untrusted user: katafrakt
GPG key ID: E8F0A30143BCE32C
2 changed files with 22 additions and 6 deletions

View file

@ -111,9 +111,9 @@ def available_frontends_operation() do
def update_preferred_frontend_operation() do
%Operation{
tags: ["Frontends"],
summary: "Frontend Settings Profiles",
description: "List frontend setting profiles",
operationId: "AkkomaAPI.FrontendSettingsController.available_frontends",
summary: "Update preferred frontend setting",
description: "Store preferred frontend in cookies",
operationId: "AkkomaAPI.FrontendSettingsController.update_preferred_frontend",
requestBody:
request_body(
"Frontend",
@ -132,9 +132,11 @@ def update_preferred_frontend_operation() do
responses: %{
200 =>
Operation.response("Frontends", "application/json", %Schema{
type: :array,
items: %Schema{
type: :string
type: :object,
properties: %{
frontend_name: %Schema{
type: :string
}
}
})
}

View file

@ -119,4 +119,18 @@ test "deletes a config" do
) == nil
end
end
describe "PUT /api/v1/akkoma/preferred_frontend" do
test "sets a cookie with selected frontend" do
%{conn: conn} = oauth_access(["read"])
response =
conn
|> put_req_header("content-type", "application/json")
|> put("/api/v1/akkoma/preferred_frontend", %{"frontend_name" => "pleroma-fe/stable"})
json_response_and_validate_schema(response, 200)
assert %{"preferred_frontend" => %{value: "pleroma-fe/stable"}} = response.resp_cookies
end
end
end