diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2020-04-10 14:18:57 +0400 |
---|---|---|
committer | Egor Kislitsyn <egor@kislitsyn.com> | 2020-04-10 14:18:57 +0400 |
commit | cf2a0574e77ed207453215ae83377a3eb8f2fa0c (patch) | |
tree | fdc89909325238b71c8fc07a63d8720e432434c4 /test/web/api_spec/app_operation_test.exs | |
parent | 4a2538967caf5b0f9970cc5f973c16ea5d776aa3 (diff) | |
parent | ce089615e1e89fbb63b0c0548906f3b6c22abac2 (diff) | |
download | pleroma-cf2a0574e77ed207453215ae83377a3eb8f2fa0c.tar.gz pleroma-cf2a0574e77ed207453215ae83377a3eb8f2fa0c.zip |
Merge branch 'develop' into fix/support-conversations-pagination
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 |