Я пытаюсь высмеять мой сервер graphql, так что когда я запрашиваю, он возвращает обратно макет данных вместо перехода на сервер graphql. В тот момент, когда я бег моего запроса к притворной graphql, я получаю обратно эту ошибку:Mocking graphql server
"errors":[{"message":"Syntax Error GraphQL request (1:13) Expected $, found Name \"input\"\n\n1: query login(input: {userName: \"james\" , passWord: \"password\"}
Вот моя текущая настройка:
Запроса
let query = `query login(input: {userName: "james" , passWord: "password"}){
login(input: {userName: "james" , passWord: "password"})
}`;
Схемы
const typeDefs = `
type loginCrendentialsType {
data: String
}
input loginInputType{
userName: String!
passWord: String!
}
type RootQuery {
login(input: loginInputType): [loginCrendentialsType]
}
schema {
query: RootQuery
}
`;
Mock
const mocks = {
login: (loginInputType) => ({
data: mockDB.getUser(loginInputType.userName, loginInputType.passWord)
})
};
установка
const schema = makeExecutableSchema({
typeDefs
});
addMockFunctionsToSchema({
schema,
mocks,
});
graphql(schema,query).then((result) => {
console.log("reachedhere " + JSON.stringify(result));
});
Я думаю, что когда вы предоставляете входные переменные, это должна быть мутация, а не запрос? –
btw check graphql-faker: https://github.com/APIs-guru/graphql-faker Он использует faker.js для подделки сервера GraphQL. Также он поддерживает расширенный режим для смешивания реальных данных сервера с поддельными. – RomanHotsiy