Skip to content

Commit

Permalink
Add namespace to test cases for embedded in testserver
Browse files Browse the repository at this point in the history
  • Loading branch information
matiasanaya committed Nov 8, 2019
1 parent c72931c commit 5d30ab9
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 197 deletions.
12 changes: 6 additions & 6 deletions codegen/testserver/embedded.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package testserver

// Case1 model
type Case1 struct {
// EmbeddedCase1 model
type EmbeddedCase1 struct {
Empty
*ExportedEmbeddedPointerAfterInterface
}
Expand All @@ -17,8 +17,8 @@ func (*ExportedEmbeddedPointerAfterInterface) ExportedEmbeddedPointerExportedMet
return "ExportedEmbeddedPointerExportedMethodResponse"
}

// Case2 model
type Case2 struct {
// EmbeddedCase2 model
type EmbeddedCase2 struct {
*unexportedEmbeddedPointer
}

Expand All @@ -29,7 +29,7 @@ func (*unexportedEmbeddedPointer) UnexportedEmbeddedPointerExportedMethod() stri
return "UnexportedEmbeddedPointerExportedMethodResponse"
}

// Case3 model
type Case3 interface {
// EmbeddedCase3 model
type EmbeddedCase3 interface {
ExplicitInterfaceMethod() string
}
12 changes: 6 additions & 6 deletions codegen/testserver/embedded.graphql
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
extend type Query {
case1: Case1
case2: Case2
# case3: Case3
embeddedCase1: EmbeddedCase1
embeddedCase2: EmbeddedCase2
# embeddedCase3: EmbeddedCase3
}

type Case1 @goModel(model:"testserver.Case1") {
type EmbeddedCase1 @goModel(model:"testserver.EmbeddedCase1") {
exportedEmbeddedPointerExportedMethod: String!
}

type Case2 @goModel(model:"testserver.Case2") {
type EmbeddedCase2 @goModel(model:"testserver.EmbeddedCase2") {
unexportedEmbeddedPointerExportedMethod: String!
}

# type Case3 @goModel(model:"testserver.Case3") {
# type EmbeddedCase3 @goModel(model:"testserver.EmbeddedCase3") {
# explicitInterfaceMethod: String!
# }
38 changes: 19 additions & 19 deletions codegen/testserver/embedded_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,22 @@ import (
"github.com/stretchr/testify/require"
)

// type fakeCase3 struct{}
type fakeEmbeddedCase3 struct{}

// func (fakeCase3) ExplicitInterfaceMethod() string {
// return "ExplicitInterfaceMethodResponse"
// }
func (fakeEmbeddedCase3) ExplicitInterfaceMethod() string {
return "ExplicitInterfaceMethodResponse"
}

func TestEmbedded(t *testing.T) {
resolver := &Stub{}
resolver.QueryResolver.Case1 = func(ctx context.Context) (*Case1, error) {
return &Case1{}, nil
resolver.QueryResolver.EmbeddedCase1 = func(ctx context.Context) (*EmbeddedCase1, error) {
return &EmbeddedCase1{}, nil
}
resolver.QueryResolver.Case2 = func(ctx context.Context) (*Case2, error) {
return &Case2{&unexportedEmbeddedPointer{}}, nil
resolver.QueryResolver.EmbeddedCase2 = func(ctx context.Context) (*EmbeddedCase2, error) {
return &EmbeddedCase2{&unexportedEmbeddedPointer{}}, nil
}
// resolver.QueryResolver.Case3 = func(ctx context.Context) (Case3, error) {
// return &fakeCase3{}, nil
// resolver.QueryResolver.EmbeddedCase3 = func(ctx context.Context) (EmbeddedCase3, error) {
// return &fakeEmbeddedCase3{}, nil
// }

c := client.New(handler.GraphQL(
Expand All @@ -33,34 +33,34 @@ func TestEmbedded(t *testing.T) {

t.Run("embedded case 1", func(t *testing.T) {
var resp struct {
Case1 struct {
EmbeddedCase1 struct {
ExportedEmbeddedPointerExportedMethod string
}
}
err := c.Post(`query { case1 { exportedEmbeddedPointerExportedMethod } }`, &resp)
err := c.Post(`query { embeddedCase1 { exportedEmbeddedPointerExportedMethod } }`, &resp)
require.NoError(t, err)
require.Equal(t, resp.Case1.ExportedEmbeddedPointerExportedMethod, "ExportedEmbeddedPointerExportedMethodResponse")
require.Equal(t, resp.EmbeddedCase1.ExportedEmbeddedPointerExportedMethod, "ExportedEmbeddedPointerExportedMethodResponse")
})

t.Run("embedded case 2", func(t *testing.T) {
var resp struct {
Case2 struct {
EmbeddedCase2 struct {
UnexportedEmbeddedPointerExportedMethod string
}
}
err := c.Post(`query { case2 { unexportedEmbeddedPointerExportedMethod } }`, &resp)
err := c.Post(`query { embeddedCase2 { unexportedEmbeddedPointerExportedMethod } }`, &resp)
require.NoError(t, err)
require.Equal(t, resp.Case2.UnexportedEmbeddedPointerExportedMethod, "UnexportedEmbeddedPointerExportedMethodResponse")
require.Equal(t, resp.EmbeddedCase2.UnexportedEmbeddedPointerExportedMethod, "UnexportedEmbeddedPointerExportedMethodResponse")
})

// t.Run("embedded case 3", func(t *testing.T) {
// var resp struct {
// Case3 struct {
// EmbeddedCase3 struct {
// ExplicitInterfaceMethod bool
// }
// }
// err := c.Post(`query { case3 { explicitInterfaceMethod } }`, &resp)
// err := c.Post(`query { Embeddedcase3 { explicitInterfaceMethod } }`, &resp)
// require.NoError(t, err)
// require.Equal(t, resp.Case3.ExplicitInterfaceMethod, "ExplicitInterfaceMethodResponse")
// require.Equal(t, resp.EmbeddedCase3.ExplicitInterfaceMethod, "ExplicitInterfaceMethodResponse")
// })
}
Loading

0 comments on commit 5d30ab9

Please sign in to comment.