github.com/luciferinlove/gqlgen@v0.17.16-bzc.1/codegen/testserver/followschema/scalar_default_test.go (about) 1 package followschema 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/luciferinlove/gqlgen/client" 8 "github.com/luciferinlove/gqlgen/graphql/handler" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestDefaultScalarImplementation(t *testing.T) { 13 resolvers := &Stub{} 14 15 c := client.New(handler.NewDefaultServer(NewExecutableSchema(Config{Resolvers: resolvers}))) 16 17 resolvers.QueryResolver.DefaultScalar = func(ctx context.Context, arg string) (i string, e error) { 18 return arg, nil 19 } 20 21 t.Run("with arg value", func(t *testing.T) { 22 var resp struct{ DefaultScalar string } 23 c.MustPost(`query { defaultScalar(arg: "fff") }`, &resp) 24 require.Equal(t, "fff", resp.DefaultScalar) 25 }) 26 27 t.Run("with default value", func(t *testing.T) { 28 var resp struct{ DefaultScalar string } 29 c.MustPost(`query { defaultScalar }`, &resp) 30 require.Equal(t, "default", resp.DefaultScalar) 31 }) 32 }