...
1 package followschema
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 }
38
View as plain text