...
1 package introspection
2
3 import (
4 "testing"
5
6 "github.com/stretchr/testify/require"
7 "github.com/vektah/gqlparser/v2/ast"
8 )
9
10 func TestType(t *testing.T) {
11 schemaType := Type{
12 def: &ast.Definition{
13 Name: "Query",
14 Description: "test description",
15 Fields: ast.FieldList{
16 &ast.FieldDefinition{Name: "__schema"},
17 &ast.FieldDefinition{Name: "test"},
18 &ast.FieldDefinition{Name: "deprecated", Directives: ast.DirectiveList{
19 &ast.Directive{Name: "deprecated"},
20 }},
21 },
22 Kind: ast.Object,
23 },
24 }
25
26 t.Run("name", func(t *testing.T) {
27 require.Equal(t, "Query", *schemaType.Name())
28 })
29
30 t.Run("description", func(t *testing.T) {
31 require.Equal(t, "test description", *schemaType.Description())
32 })
33
34 t.Run("fields", func(t *testing.T) {
35 fields := schemaType.Fields(false)
36 require.Len(t, fields, 1)
37 require.Equal(t, "test", fields[0].Name)
38 })
39
40 t.Run("fields includeDepricated", func(t *testing.T) {
41 fields := schemaType.Fields(true)
42 require.Len(t, fields, 2)
43 require.Equal(t, "test", fields[0].Name)
44 require.Equal(t, "deprecated", fields[1].Name)
45 })
46 }
47
View as plain text