github.com/geneva/gqlgen@v0.17.7-0.20230801155730-7b9317164836/codegen/testserver/singlefile/ptr_to_any_test.go (about) 1 package singlefile 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/geneva/gqlgen/client" 8 "github.com/geneva/gqlgen/graphql/handler" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestPtrToAny(t *testing.T) { 13 resolvers := &Stub{} 14 15 c := client.New(handler.NewDefaultServer(NewExecutableSchema(Config{Resolvers: resolvers}))) 16 17 var a any = `{"some":"thing"}` 18 resolvers.QueryResolver.PtrToAnyContainer = func(ctx context.Context) (wrappedStruct *PtrToAnyContainer, e error) { 19 ptrToAnyContainer := PtrToAnyContainer{ 20 PtrToAny: &a, 21 } 22 return &ptrToAnyContainer, nil 23 } 24 25 t.Run("binding to pointer to any", func(t *testing.T) { 26 var resp struct { 27 PtrToAnyContainer struct { 28 Binding *any 29 } 30 } 31 32 err := c.Post(`query { ptrToAnyContainer { binding }}`, &resp) 33 require.NoError(t, err) 34 35 require.Equal(t, &a, resp.PtrToAnyContainer.Binding) 36 }) 37 }