aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/support/conn_case.ex5
-rw-r--r--test/web/api_spec/account_operation_test.exs32
-rw-r--r--test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs2
3 files changed, 39 insertions, 0 deletions
diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex
index 064874201..36ce372c2 100644
--- a/test/support/conn_case.ex
+++ b/test/support/conn_case.ex
@@ -51,6 +51,11 @@ defmodule Pleroma.Web.ConnCase do
%{user: user, token: token, conn: conn}
end
+ defp request_content_type(%{conn: conn}) do
+ conn = put_req_header(conn, "content-type", "multipart/form-data")
+ [conn: conn]
+ end
+
defp ensure_federating_or_authenticated(conn, url, user) do
initial_setting = Config.get([:instance, :federating])
on_exit(fn -> Config.put([:instance, :federating], initial_setting) end)
diff --git a/test/web/api_spec/account_operation_test.exs b/test/web/api_spec/account_operation_test.exs
index 37501b8cc..a54059074 100644
--- a/test/web/api_spec/account_operation_test.exs
+++ b/test/web/api_spec/account_operation_test.exs
@@ -9,6 +9,7 @@ defmodule Pleroma.Web.ApiSpec.AccountOperationTest do
alias Pleroma.Web.ApiSpec.Schemas.Account
alias Pleroma.Web.ApiSpec.Schemas.AccountCreateRequest
alias Pleroma.Web.ApiSpec.Schemas.AccountCreateResponse
+ alias Pleroma.Web.ApiSpec.Schemas.AccountUpdateCredentialsRequest
import OpenApiSpex.TestAssertions
import Pleroma.Factory
@@ -31,6 +32,12 @@ defmodule Pleroma.Web.ApiSpec.AccountOperationTest do
assert_schema(schema.example, "AccountCreateResponse", api_spec)
end
+ test "AccountUpdateCredentialsRequest example matches schema" do
+ api_spec = ApiSpec.spec()
+ schema = AccountUpdateCredentialsRequest.schema()
+ assert_schema(schema.example, "AccountUpdateCredentialsRequest", api_spec)
+ end
+
test "AccountController produces a AccountCreateResponse", %{conn: conn} do
api_spec = ApiSpec.spec()
app_token = insert(:oauth_token, user: nil)
@@ -52,4 +59,29 @@ defmodule Pleroma.Web.ApiSpec.AccountOperationTest do
assert_schema(json, "AccountCreateResponse", api_spec)
end
+
+ test "AccountUpdateCredentialsRequest produces an Account", %{conn: conn} do
+ api_spec = ApiSpec.spec()
+ token = insert(:oauth_token, scopes: ["read", "write"])
+
+ json =
+ conn
+ |> put_req_header("authorization", "Bearer " <> token.token)
+ |> put_req_header("content-type", "application/json")
+ |> patch(
+ "/api/v1/accounts/update_credentials",
+ %{
+ hide_followers_count: "true",
+ hide_follows_count: "true",
+ skip_thread_containment: "true",
+ hide_follows: "true",
+ pleroma_settings_store: %{"pleroma-fe" => %{"key" => "val"}},
+ note: "foobar",
+ fields_attributes: [%{name: "foo", value: "bar"}]
+ }
+ )
+ |> json_response(200)
+
+ assert_schema(json, "Account", api_spec)
+ end
end
diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs
index 2d256f63c..0e890a980 100644
--- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs
+++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs
@@ -14,6 +14,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController.UpdateCredentialsTest do
describe "updating credentials" do
setup do: oauth_access(["write:accounts"])
+ setup :request_content_type
test "sets user settings in a generic way", %{conn: conn} do
res_conn =
@@ -237,6 +238,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController.UpdateCredentialsTest do
for token <- [token1, token2] do
conn =
build_conn()
+ |> put_req_header("content-type", "multipart/form-data")
|> put_req_header("authorization", "Bearer #{token.token}")
|> patch("/api/v1/accounts/update_credentials", %{})