diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2020-04-10 14:20:48 +0400 |
---|---|---|
committer | Egor Kislitsyn <egor@kislitsyn.com> | 2020-04-10 14:20:48 +0400 |
commit | 7f692343c80ddf353712490edfbcdb14866f5685 (patch) | |
tree | 7ef90078d87fafb1eb25986c92af17a9eede37be /test/web/api_spec/app_operation_test.exs | |
parent | fc2eb1fbd6a5b38a3cf72e557cce1029d6b7f16f (diff) | |
parent | ce089615e1e89fbb63b0c0548906f3b6c22abac2 (diff) | |
download | pleroma-7f692343c80ddf353712490edfbcdb14866f5685.tar.gz pleroma-7f692343c80ddf353712490edfbcdb14866f5685.zip |
Merge branch 'develop' into global-status-expiration
Diffstat (limited to 'test/web/api_spec/app_operation_test.exs')
-rw-r--r-- | test/web/api_spec/app_operation_test.exs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/web/api_spec/app_operation_test.exs b/test/web/api_spec/app_operation_test.exs new file mode 100644 index 000000000..5b96abb44 --- /dev/null +++ b/test/web/api_spec/app_operation_test.exs @@ -0,0 +1,45 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ApiSpec.AppOperationTest do + use Pleroma.Web.ConnCase, async: true + + alias Pleroma.Web.ApiSpec + alias Pleroma.Web.ApiSpec.Schemas.AppCreateRequest + alias Pleroma.Web.ApiSpec.Schemas.AppCreateResponse + + import OpenApiSpex.TestAssertions + import Pleroma.Factory + + test "AppCreateRequest example matches schema" do + api_spec = ApiSpec.spec() + schema = AppCreateRequest.schema() + assert_schema(schema.example, "AppCreateRequest", api_spec) + end + + test "AppCreateResponse example matches schema" do + api_spec = ApiSpec.spec() + schema = AppCreateResponse.schema() + assert_schema(schema.example, "AppCreateResponse", api_spec) + end + + test "AppController produces a AppCreateResponse", %{conn: conn} do + api_spec = ApiSpec.spec() + app_attrs = build(:oauth_app) + + json = + conn + |> put_req_header("content-type", "application/json") + |> post( + "/api/v1/apps", + Jason.encode!(%{ + client_name: app_attrs.client_name, + redirect_uris: app_attrs.redirect_uris + }) + ) + |> json_response(200) + + assert_schema(json, "AppCreateResponse", api_spec) + end +end |