-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathformat_test.go
executable file
·57 lines (53 loc) · 989 Bytes
/
format_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package graphql
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/vektah/gqlparser/v2/ast"
)
func TestFormatSelectionSet(t *testing.T) {
// the table of sets to test
rows := []struct {
input ast.SelectionSet
expected string
}{
{
ast.SelectionSet{},
"{}",
},
{
ast.SelectionSet{
&ast.Field{Name: "firstName"},
&ast.Field{Name: "friend", SelectionSet: ast.SelectionSet{&ast.Field{Name: "lastName"}}},
},
`{
firstName
friend {
lastName
}
}`,
},
{
ast.SelectionSet{&ast.FragmentSpread{Name: "MyFragment"}},
`{
...MyFragment
}`,
},
{
ast.SelectionSet{
&ast.InlineFragment{
TypeCondition: "MyType",
SelectionSet: ast.SelectionSet{&ast.Field{Name: "firstName"}},
},
},
`{
... on MyType {
firstName
}
}`,
},
}
for _, row := range rows {
// make sure we get the expected result
assert.Equal(t, row.expected, FormatSelectionSet(row.input))
}
}