diff --git a/codegen/field.go b/codegen/field.go index b4c6eb566a5..738a55413b0 100644 --- a/codegen/field.go +++ b/codegen/field.go @@ -184,8 +184,8 @@ func (b *builder) bindField(obj *Object, f *Field) (errret error) { } } -// findField attempts to match the name to a struct field with the following -// priorites: +// findBindTarget attempts to match the name to a struct field or method +// with the following priorites: // 1. Any Fields with a struct tag (see config.StructTag). Errors if more than one match is found // 2. Any method or field with a matching name. Errors if more than one match is found // 3. Same logic again for embedded fields diff --git a/codegen/testserver/embedded.go b/codegen/testserver/embedded.go index 79d250b207c..83d56962e93 100644 --- a/codegen/testserver/embedded.go +++ b/codegen/testserver/embedded.go @@ -28,8 +28,3 @@ type unexportedEmbeddedPointer struct{} func (*unexportedEmbeddedPointer) UnexportedEmbeddedPointerExportedMethod() string { return "UnexportedEmbeddedPointerExportedMethodResponse" } - -// EmbeddedCase3 model -type EmbeddedCase3 interface { - ExplicitInterfaceMethod() string -} diff --git a/codegen/testserver/embedded.graphql b/codegen/testserver/embedded.graphql index 13dda4744f5..ea83c955576 100644 --- a/codegen/testserver/embedded.graphql +++ b/codegen/testserver/embedded.graphql @@ -1,7 +1,6 @@ extend type Query { embeddedCase1: EmbeddedCase1 embeddedCase2: EmbeddedCase2 - # embeddedCase3: EmbeddedCase3 } type EmbeddedCase1 @goModel(model:"testserver.EmbeddedCase1") { @@ -11,7 +10,3 @@ type EmbeddedCase1 @goModel(model:"testserver.EmbeddedCase1") { type EmbeddedCase2 @goModel(model:"testserver.EmbeddedCase2") { unexportedEmbeddedPointerExportedMethod: String! } - -# type EmbeddedCase3 @goModel(model:"testserver.EmbeddedCase3") { -# explicitInterfaceMethod: String! -# } diff --git a/codegen/testserver/embedded_test.go b/codegen/testserver/embedded_test.go index f080d9a46c8..ab6d4bdd863 100644 --- a/codegen/testserver/embedded_test.go +++ b/codegen/testserver/embedded_test.go @@ -9,12 +9,6 @@ import ( "github.com/stretchr/testify/require" ) -type fakeEmbeddedCase3 struct{} - -func (fakeEmbeddedCase3) ExplicitInterfaceMethod() string { - return "ExplicitInterfaceMethodResponse" -} - func TestEmbedded(t *testing.T) { resolver := &Stub{} resolver.QueryResolver.EmbeddedCase1 = func(ctx context.Context) (*EmbeddedCase1, error) { @@ -23,9 +17,6 @@ func TestEmbedded(t *testing.T) { resolver.QueryResolver.EmbeddedCase2 = func(ctx context.Context) (*EmbeddedCase2, error) { return &EmbeddedCase2{&unexportedEmbeddedPointer{}}, nil } - // resolver.QueryResolver.EmbeddedCase3 = func(ctx context.Context) (EmbeddedCase3, error) { - // return &fakeEmbeddedCase3{}, nil - // } c := client.New(handler.GraphQL( NewExecutableSchema(Config{Resolvers: resolver}), @@ -52,15 +43,4 @@ func TestEmbedded(t *testing.T) { require.NoError(t, err) require.Equal(t, resp.EmbeddedCase2.UnexportedEmbeddedPointerExportedMethod, "UnexportedEmbeddedPointerExportedMethodResponse") }) - - // t.Run("embedded case 3", func(t *testing.T) { - // var resp struct { - // EmbeddedCase3 struct { - // ExplicitInterfaceMethod bool - // } - // } - // err := c.Post(`query { Embeddedcase3 { explicitInterfaceMethod } }`, &resp) - // require.NoError(t, err) - // require.Equal(t, resp.EmbeddedCase3.ExplicitInterfaceMethod, "ExplicitInterfaceMethodResponse") - // }) } diff --git a/codegen/testserver/generated.go b/codegen/testserver/generated.go index 81845d19eb4..70c762446c1 100644 --- a/codegen/testserver/generated.go +++ b/codegen/testserver/generated.go @@ -1562,7 +1562,6 @@ type ObjectDirectivesWithCustomGoModel { &ast.Source{Name: "embedded.graphql", Input: `extend type Query { embeddedCase1: EmbeddedCase1 embeddedCase2: EmbeddedCase2 - # embeddedCase3: EmbeddedCase3 } type EmbeddedCase1 @goModel(model:"testserver.EmbeddedCase1") { @@ -1572,10 +1571,6 @@ type EmbeddedCase1 @goModel(model:"testserver.EmbeddedCase1") { type EmbeddedCase2 @goModel(model:"testserver.EmbeddedCase2") { unexportedEmbeddedPointerExportedMethod: String! } - -# type EmbeddedCase3 @goModel(model:"testserver.EmbeddedCase3") { -# explicitInterfaceMethod: String! -# } `}, &ast.Source{Name: "interfaces.graphql", Input: `extend type Query { shapes: [Shape]