Я создал тип интерфейса, например:
module UserErrorType
include Types::BaseInterface
definition_methods do
def resolve_type(object, _ctx)
...
end
end
end
И запрос, который выглядит следующим образом:
query {
thing {
errors {
code
message
... on SomeDerivedType {
blah
}
}
}
}
Когда я запускаю это локально, все работает нормально, я в состоянии разрешить мои производные типы и получить метод resolve_type
.
Когда я запускаю в rspe c:
describe UserErrorType, type: :graphql_object do
subject { execute(query, context) }
end
, я получаю следующую ошибку:
GraphQL :: RequiredImplementationMissingError: схема содержит интерфейсы или объединения, поэтому вы должны определить resolve_type -> (obj, ctx) { ... }
функцию
Исходя из моего понимания сообщения об ошибке, он хочет, чтобы я добавил метод resolve_type
непосредственно на объекте Schema
, хотя я должен иметь возможность определить его в definition_methods
непосредственно в интерфейсе, как указано выше.