fix: fetching GraphQL schema by GraphiQL IDE (#9630)
parent
25039ca731
commit
99a0e5668f
@ -0,0 +1,120 @@ |
||||
defmodule BlockScoutWeb.Schema.Query.IntrospectionTest do |
||||
use BlockScoutWeb.ConnCase |
||||
|
||||
test "fetches schema", %{conn: conn} do |
||||
introspection_query = ~S""" |
||||
query IntrospectionQuery { |
||||
__schema { |
||||
queryType { |
||||
name |
||||
} |
||||
mutationType { |
||||
name |
||||
} |
||||
|
||||
types { |
||||
...FullType |
||||
} |
||||
directives { |
||||
name |
||||
description |
||||
|
||||
locations |
||||
args { |
||||
...InputValue |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
fragment FullType on __Type { |
||||
kind |
||||
name |
||||
description |
||||
|
||||
fields(includeDeprecated: true) { |
||||
name |
||||
description |
||||
args { |
||||
...InputValue |
||||
} |
||||
type { |
||||
...TypeRef |
||||
} |
||||
isDeprecated |
||||
deprecationReason |
||||
} |
||||
inputFields { |
||||
...InputValue |
||||
} |
||||
interfaces { |
||||
...TypeRef |
||||
} |
||||
enumValues(includeDeprecated: true) { |
||||
name |
||||
description |
||||
isDeprecated |
||||
deprecationReason |
||||
} |
||||
possibleTypes { |
||||
...TypeRef |
||||
} |
||||
} |
||||
|
||||
fragment InputValue on __InputValue { |
||||
name |
||||
description |
||||
type { |
||||
...TypeRef |
||||
} |
||||
defaultValue |
||||
} |
||||
|
||||
fragment TypeRef on __Type { |
||||
kind |
||||
name |
||||
ofType { |
||||
kind |
||||
name |
||||
ofType { |
||||
kind |
||||
name |
||||
ofType { |
||||
kind |
||||
name |
||||
ofType { |
||||
kind |
||||
name |
||||
ofType { |
||||
kind |
||||
name |
||||
ofType { |
||||
kind |
||||
name |
||||
ofType { |
||||
kind |
||||
name |
||||
ofType { |
||||
kind |
||||
name |
||||
ofType { |
||||
kind |
||||
name |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
""" |
||||
|
||||
conn = get(conn, "/api/v1/graphql", query: introspection_query) |
||||
response = json_response(conn, 200) |
||||
|
||||
assert %{"data" => %{"__schema" => %{"directives" => _}}} = response |
||||
end |
||||
end |
Loading…
Reference in new issue