github.com/99designs/gqlgen@v0.17.45/codegen/testserver/singlefile/ptr_to_slice_test.go (about) 1 package singlefile 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/99designs/gqlgen/client" 10 "github.com/99designs/gqlgen/graphql/handler" 11 ) 12 13 func TestPtrToSlice(t *testing.T) { 14 resolvers := &Stub{} 15 16 c := client.New(handler.NewDefaultServer(NewExecutableSchema(Config{Resolvers: resolvers}))) 17 18 resolvers.QueryResolver.PtrToSliceContainer = func(ctx context.Context) (wrappedStruct *PtrToSliceContainer, e error) { 19 ptrToSliceContainer := PtrToSliceContainer{ 20 PtrToSlice: &[]string{"hello"}, 21 } 22 return &ptrToSliceContainer, nil 23 } 24 25 t.Run("pointer to slice", func(t *testing.T) { 26 var resp struct { 27 PtrToSliceContainer struct { 28 PtrToSlice []string 29 } 30 } 31 32 err := c.Post(`query { ptrToSliceContainer { ptrToSlice }}`, &resp) 33 require.NoError(t, err) 34 35 require.Equal(t, []string{"hello"}, resp.PtrToSliceContainer.PtrToSlice) 36 }) 37 }