1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Web.MastodonAPI.CustomEmojiControllerTest do
6 use Pleroma.Web.ConnCase, async: true
7 alias Pleroma.Web.ApiSpec
8 alias Pleroma.Web.ApiSpec.Schemas.CustomEmoji
9 alias Pleroma.Web.ApiSpec.Schemas.CustomEmojisResponse
10 import OpenApiSpex.TestAssertions
12 test "with tags", %{conn: conn} do
15 |> get("/api/v1/custom_emojis")
18 assert [emoji | _body] = resp
19 assert Map.has_key?(emoji, "shortcode")
20 assert Map.has_key?(emoji, "static_url")
21 assert Map.has_key?(emoji, "tags")
22 assert is_list(emoji["tags"])
23 assert Map.has_key?(emoji, "category")
24 assert Map.has_key?(emoji, "url")
25 assert Map.has_key?(emoji, "visible_in_picker")
26 assert_schema(resp, "CustomEmojisResponse", ApiSpec.spec())
27 assert_schema(emoji, "CustomEmoji", ApiSpec.spec())
30 test "CustomEmoji example matches schema" do
31 api_spec = ApiSpec.spec()
32 schema = CustomEmoji.schema()
33 assert_schema(schema.example, "CustomEmoji", api_spec)
36 test "CustomEmojisResponse example matches schema" do
37 api_spec = ApiSpec.spec()
38 schema = CustomEmojisResponse.schema()
39 assert_schema(schema.example, "CustomEmojisResponse", api_spec)