Integration tests

These tests run a gqlgen server against the apollo client to test real world connectivity.

First start the go server

go run integration/server/server.go

And in another terminal:

cd integration
npm ci
npm run test
Expand ▾ Collapse ▴




This section is empty.


This section is empty.


func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

    NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.


    type ComplexityRoot

    type ComplexityRoot struct {
    	Element struct {
    		Child      func(childComplexity int) int
    		Error      func(childComplexity int) int
    		Mismatched func(childComplexity int) int
    	Query struct {
    		Complexity   func(childComplexity int, value int) int
    		Date         func(childComplexity int, filter models.DateFilter) int
    		Error        func(childComplexity int, typeArg *models.ErrorType) int
    		JSONEncoding func(childComplexity int) int
    		Path         func(childComplexity int) int
    		Viewer       func(childComplexity int) int
    	User struct {
    		Likes func(childComplexity int) int
    		Name  func(childComplexity int) int
    	Viewer struct {
    		User func(childComplexity int) int

    type Config

    type Config struct {
    	Resolvers  ResolverRoot
    	Directives DirectiveRoot
    	Complexity ComplexityRoot

    type CustomError

    type CustomError struct {
    	UserMessage   string
    	InternalError string

    func (*CustomError) Error

    func (e *CustomError) Error() string

    type DirectiveRoot

    type DirectiveRoot struct {
    	Magic func(ctx context.Context, obj interface{}, next graphql.Resolver, kind *int) (res interface{}, err error)

    type ElementResolver

    type ElementResolver interface {
    	Child(ctx context.Context, obj *models.Element) (*models.Element, error)
    	Error(ctx context.Context, obj *models.Element) (bool, error)
    	Mismatched(ctx context.Context, obj *models.Element) ([]bool, error)

    type QueryResolver

    type QueryResolver interface {
    	Path(ctx context.Context) ([]*models.Element, error)
    	Date(ctx context.Context, filter models.DateFilter) (bool, error)
    	Viewer(ctx context.Context) (*models.Viewer, error)
    	JSONEncoding(ctx context.Context) (string, error)
    	Error(ctx context.Context, typeArg *models.ErrorType) (bool, error)
    	Complexity(ctx context.Context, value int) (bool, error)

    type Resolver

    type Resolver struct{}

    func (*Resolver) Element

    func (r *Resolver) Element() ElementResolver

    func (*Resolver) Query

    func (r *Resolver) Query() QueryResolver

    func (*Resolver) User

    func (r *Resolver) User() UserResolver

    type ResolverRoot

    type ResolverRoot interface {
    	Element() ElementResolver
    	Query() QueryResolver
    	User() UserResolver

    type UserResolver

    type UserResolver interface {
    	Likes(ctx context.Context, obj *remote_api.User) ([]string, error)


    Path Synopsis