...

Source file src/github.com/99designs/gqlgen/codegen/testserver/followschema/ptr_to_any_test.go

Documentation: github.com/99designs/gqlgen/codegen/testserver/followschema

     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 TestPtrToAny(t *testing.T) {
    14  	resolvers := &Stub{}
    15  
    16  	c := client.New(handler.NewDefaultServer(NewExecutableSchema(Config{Resolvers: resolvers})))
    17  
    18  	var a any = `{"some":"thing"}`
    19  	resolvers.QueryResolver.PtrToAnyContainer = func(ctx context.Context) (wrappedStruct *PtrToAnyContainer, e error) {
    20  		ptrToAnyContainer := PtrToAnyContainer{
    21  			PtrToAny: &a,
    22  		}
    23  		return &ptrToAnyContainer, nil
    24  	}
    25  
    26  	t.Run("binding to pointer to any", func(t *testing.T) {
    27  		var resp struct {
    28  			PtrToAnyContainer struct {
    29  				Binding *any
    30  			}
    31  		}
    32  
    33  		err := c.Post(`query { ptrToAnyContainer { binding }}`, &resp)
    34  		require.NoError(t, err)
    35  
    36  		require.Equal(t, &a, resp.PtrToAnyContainer.Binding)
    37  	})
    38  }
    39  

View as plain text