Add specs for AccountController.mutes, AccountController.blocks, AccountController.mutes, AccountController.endorsements

This commit is contained in:
Egor Kislitsyn 2020-04-09 20:34:21 +04:00
parent ab185d3ea4
commit 7e0b42d99f
No known key found for this signature in database
GPG key ID: 1B49CB15B71E7805
3 changed files with 41 additions and 25 deletions

View file

@ -321,7 +321,42 @@ def follows_operation do
} }
end end
def mutes_operation, do: :ok def mutes_operation do
def blocks_operation, do: :ok %Operation{
def endorsements_operation, do: :ok tags: ["accounts"],
summary: "Muted accounts",
operationId: "AccountController.mutes",
description: "Accounts the user has muted.",
security: [%{"oAuth" => ["follow", "read:mutes"]}],
responses: %{
200 => Operation.response("Accounts", "application/json", AccountsResponse)
}
}
end
def blocks_operation do
%Operation{
tags: ["accounts"],
summary: "Blocked users",
operationId: "AccountController.blocks",
description: "View your blocks. See also accounts/:id/{block,unblock}",
security: [%{"oAuth" => ["read:blocks"]}],
responses: %{
200 => Operation.response("Accounts", "application/json", AccountsResponse)
}
}
end
def endorsements_operation do
%Operation{
tags: ["accounts"],
summary: "Endorsements",
operationId: "AccountController.endorsements",
description: "Not implemented",
security: [%{"oAuth" => ["read:accounts"]}],
responses: %{
200 => Operation.response("Empry array", "application/json", %Schema{type: :array})
}
}
end
end end

View file

@ -80,28 +80,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountController do
plug(RateLimiter, [name: :app_account_creation] when action == :create) plug(RateLimiter, [name: :app_account_creation] when action == :create)
plug(:assign_account_by_id when action in @needs_account) plug(:assign_account_by_id when action in @needs_account)
plug( plug(OpenApiSpex.Plug.CastAndValidate, render_error: Pleroma.Web.ApiSpec.RenderError)
OpenApiSpex.Plug.CastAndValidate,
[render_error: Pleroma.Web.ApiSpec.RenderError]
when action in [
:create,
:verify_credentials,
:update_credentials,
:relationships,
:show,
:statuses,
:followers,
:following,
:lists,
:follow,
:unfollow,
:mute,
:unmute,
:block,
:unblock,
:follows
]
)
action_fallback(Pleroma.Web.MastodonAPI.FallbackController) action_fallback(Pleroma.Web.MastodonAPI.FallbackController)

View file

@ -1155,6 +1155,7 @@ test "getting a list of mutes" do
other_user_id = to_string(other_user.id) other_user_id = to_string(other_user.id)
assert [%{"id" => ^other_user_id}] = json_response(conn, 200) assert [%{"id" => ^other_user_id}] = json_response(conn, 200)
assert_schema(json_response(conn, 200), "AccountsResponse", ApiSpec.spec())
end end
test "getting a list of blocks" do test "getting a list of blocks" do
@ -1170,5 +1171,6 @@ test "getting a list of blocks" do
other_user_id = to_string(other_user.id) other_user_id = to_string(other_user.id)
assert [%{"id" => ^other_user_id}] = json_response(conn, 200) assert [%{"id" => ^other_user_id}] = json_response(conn, 200)
assert_schema(json_response(conn, 200), "AccountsResponse", ApiSpec.spec())
end end
end end