Add spec for AccountController.update_credentials

This commit is contained in:
Egor Kislitsyn 2020-04-07 14:53:12 +04:00
commit 260cbddc94
No known key found for this signature in database
GPG key ID: 1B49CB15B71E7805
8 changed files with 229 additions and 16 deletions

View file

@ -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