Проблема: я хотел бы протестировать запрос GraphQL, который находится в файле .graphql
, например:
#import '../../fragments/Widget.graphql'
query WidgetFragment($id: ID) {
readWidgetFragment(id: $id) {
...Widget
}
}
Чтобы создать схему GraphQL с проверенными резольверами и данными, я использую makeExecutableSchema
иaddMockFunctionsToSchema
из graphql-tools .
Чтобы выполнить запрос изнутри шутного теста, я понимаю, что мне нужно использовать функцию graphql()
из graphql-js.
Эта функция нуждается в запросе в виде строки , поэтому я попробовал два разных способа, но ни один из них не сработал:
- Синтаксический анализ
.graphql
файл в виде обычного текстового файла, в котором содержится необработанная строка (с помощью jest-raw-loader в моей конфигурации jest).Это дает мне: Failed: Errors in query: Unknown fragment "Widget".
при выполнении запроса. - Анализ файла
.graphql
в объект query
с использованием jest-transform-graphql .Я считаю, что это должен быть правильный подход, потому что должен правильно разрешать любые импортированные фрагменты.Однако для выполнения запроса мне нужно передать query.loc.source.body
в graphql
, что приведет к тому же сообщению об ошибке, что и в варианте 1.