diff options
author | Maksim Pechnikov <parallel588@gmail.com> | 2020-04-10 07:09:28 +0300 |
---|---|---|
committer | Maksim Pechnikov <parallel588@gmail.com> | 2020-04-10 07:09:28 +0300 |
commit | 648cc699e551324a067cd1b906df5f497ade5861 (patch) | |
tree | 3ddcee32eb0b61770709422aaa266167a8254e28 /test/web/api_spec/app_operation_test.exs | |
parent | 591f7015d91b383dae1ee29576d13c0fad65cad6 (diff) | |
parent | c433ed9dbb1db9777f235527e06c9c8bec3b1436 (diff) | |
download | pleroma-648cc699e551324a067cd1b906df5f497ade5861.tar.gz pleroma-648cc699e551324a067cd1b906df5f497ade5861.zip |
Merge branch 'develop' into support/update_oban
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 |