github.com/99designs/gqlgeN@v0.7.2/example/selection/selection_test.go (about) 1 package selection 2 3 import ( 4 "net/http/httptest" 5 "testing" 6 7 "github.com/99designs/gqlgen/client" 8 9 "github.com/99designs/gqlgen/handler" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestSelection(t *testing.T) { 14 srv := httptest.NewServer(handler.GraphQL(NewExecutableSchema(Config{Resolvers: &Resolver{}}))) 15 c := client.New(srv.URL) 16 17 query := `{ 18 events { 19 selection 20 collected 21 22 ... on Post { 23 message 24 sent 25 } 26 27 ...LikeFragment 28 } 29 } 30 fragment LikeFragment on Like { reaction sent } 31 ` 32 33 var resp struct { 34 Events []struct { 35 Selection []string 36 Collected []string 37 38 Message string 39 Reaction string 40 Sent string 41 } 42 } 43 c.MustPost(query, &resp) 44 45 require.Equal(t, []string{ 46 "selection as selection", 47 "collected as collected", 48 "inline fragment on Post", 49 "named fragment LikeFragment on Like", 50 }, resp.Events[0].Selection) 51 52 require.Equal(t, []string{ 53 "selection as selection", 54 "collected as collected", 55 "reaction as reaction", 56 "sent as sent", 57 }, resp.Events[0].Collected) 58 }