Я настраиваю новый проект с использованием graphql-модулей и пытаюсь запустить некоторые тесты на моем первом модуле.
Мой модуль довольно прост
import { GraphQLModule } from "@graphql-modules/core";
import * as typeDefs from "./user.schema.graphql";
import { UserResolvers } from "./user.resolvers";
import { UserProvider } from "./user.provider";
export const UserModule = new GraphQLModule({
typeDefs,
resolvers: UserResolvers,
providers: [UserProvider],
});
И моя схема очень просто
type Mutation {
register(email: String!, password: String!): User
}
type Query {
user(id: ID!): User
}
type User {
id: ID
email: String!
password: String!
}
Все отлично работает, когда я запускаю локальный экземпляр с помощью ts-node, однако, когда я пытаюсь запустить эти тесты
import { execute } from "graphql";
import { gql } from "apollo-server";
import { App } from "./app";
describe("UserModule", () => {
it("FieldResolver of Query: userById", async () => {
const { schema } = App;
const result = await execute({
schema,
document: gql`
query {
user(id: "ANOTHERID") {
id
email
}
}
`,
});
expect(result.errors).toBeFalsy();
expect(result.data["userById"]["id"]).toBe("ANOTHERID");
expect(result.data["userById"]["email"]).toBe("email@email.com");
});
});
Внезапно моя схема недопустима, что Тест прямо из документации по GraphQL-модулям, и я обязательно включил пару дополнительных модулей, которые заставляют мое приложение работать правильно.
Я получаю ошибку:
- #Module #D:\projects\hello-world\server\src\modules\app.ts_6292583185464227 doesn't have a valid schema!
-- Cannot read property 'prev' of undefined
Possible solutions:
- Check syntax errors in typeDefs
- Make sure you import correct dependencies
5 | describe("UserModule", () => {
6 | it("FieldResolver of Query: userById", async () => {
> 7 | const { schema } = App;
| ^
Я потратил немного времени на удаление фрагментов, но ничто из того, что я делаю, похоже, не помогает, и все результаты Google не имеют значения.