diff --git a/lib/pleroma/web/api_spec/operations/pleroma_frontend_settings_operation.ex b/lib/pleroma/web/api_spec/operations/pleroma_frontend_settings_operation.ex index 6d1e23277..812b40e14 100644 --- a/lib/pleroma/web/api_spec/operations/pleroma_frontend_settings_operation.ex +++ b/lib/pleroma/web/api_spec/operations/pleroma_frontend_settings_operation.ex @@ -30,9 +30,9 @@ defmodule Pleroma.Web.ApiSpec.PleromaFrontendSettingsOperation do def update_preferred_frontend_operation() do %Operation{ tags: ["Frontends"], - summary: "Frontend Settings Profiles", - description: "List frontend setting profiles", - operationId: "PleromaAPI.FrontendSettingsController.available_frontends", + summary: "Update preferred frontend setting", + description: "Store preferred frontend in cookies", + operationId: "PleromaAPI.FrontendSettingsController.update_preferred_frontend", requestBody: request_body( "Frontend", diff --git a/lib/pleroma/web/plugs/frontend_static.ex b/lib/pleroma/web/plugs/frontend_static.ex index 3708e9e4a..2808f96fc 100644 --- a/lib/pleroma/web/plugs/frontend_static.ex +++ b/lib/pleroma/web/plugs/frontend_static.ex @@ -81,15 +81,8 @@ defmodule Pleroma.Web.Plugs.FrontendStatic do end end -<<<<<<< HEAD -======= def preferred_or_fallback(conn, fallback), do: fallback - defp enabled?(if_opt) when is_function(if_opt), do: if_opt.() - defp enabled?(true), do: true - defp enabled?(_), do: false - ->>>>>>> de64c6c54a (add selection UI) defp invalid_path?(list) do invalid_path?(list, :binary.compile_pattern(["/", "\\", ":", "\0"])) end diff --git a/test/pleroma/web/pleroma_api/controllers/frontend_settings_controller_test.exs b/test/pleroma/web/pleroma_api/controllers/frontend_settings_controller_test.exs new file mode 100644 index 000000000..8c62a5463 --- /dev/null +++ b/test/pleroma/web/pleroma_api/controllers/frontend_settings_controller_test.exs @@ -0,0 +1,19 @@ +defmodule Pleroma.Web.PleromaAPI.FrontendSettingsControllerTest do + use Pleroma.Web.ConnCase, async: false + + import Pleroma.Factory + + describe "PUT /api/v1/pleroma/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/pleroma/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