Make intercept work with mocks

This commit is contained in:
Ramon Wenger 2022-09-26 16:20:50 +02:00
parent 3d630b28df
commit e83ebb73a0
1 changed files with 23 additions and 49 deletions

View File

@ -27,7 +27,7 @@
// https://github.com/tgriesser/cypress-graphql-mock/issues/23 // https://github.com/tgriesser/cypress-graphql-mock/issues/23
// todo: once above issue is fixed, go back to the original repo -> npm install cypress-graphql-mock // todo: once above issue is fixed, go back to the original repo -> npm install cypress-graphql-mock
// import 'cypress-graphql-mock'; // import 'cypress-graphql-mock';
// import mocks from '../fixtures/mocks'; import mocks from '../fixtures/mocks';
import {makeExecutableSchema} from '@graphql-tools/schema'; import {makeExecutableSchema} from '@graphql-tools/schema';
import {addMocksToSchema} from '@graphql-tools/mock'; import {addMocksToSchema} from '@graphql-tools/mock';
@ -144,54 +144,28 @@ Cypress.Commands.add('openSidebar', () => {
Cypress.Commands.add('setup', () => { Cypress.Commands.add('setup', () => {
cy.fakeLogin('nino.teacher', 'test'); cy.fakeLogin('nino.teacher', 'test');
cy.viewport('macbook-15'); cy.viewport('macbook-15');
// cy.task('getSchema').then(schemaString => { cy.task('getSchema').then(schemaString => {
const schemaString = ` const schema = makeExecutableSchema({typeDefs: schemaString});
schema { const schemaWithMocks = addMocksToSchema({schema, mocks});
query: Query
}
type Query { cy.intercept('POST', '/api/graphql', (req) => {
me: PrivateUserNode const {query, variables} = req.body;
} console.log(query, variables);
graphql({
schema: schemaWithMocks,
interface Node { source: query,
id: ID! variableValues: variables,
} }).then(result => {
console.log('result');
type PrivateUserNode implements Node { console.log(result);
firstName: String! req.reply({
lastName: String! ...result,
avatarUrl: String! });
} }, e => {
`; console.log('error message');
const schema = makeExecutableSchema({typeDefs: schemaString}); console.log(e.message);
const schemaWithMocks = addMocksToSchema({schema}); console.error(e);
});
// cy.intercept('POST', '/api/graphql', (req) => {
const query = `
query MeQuery {
me {
firstName
lastName
avatarUrl
}
}
`;
// const {query, variables} = req.body;
// console.log(query, variables);
graphql({
schema: schemaWithMocks,
source: query,
}).then(result => {
console.log(result);
// req.reply({
// data: {},
// });
}, e => {
console.log(e.message);
console.error(e);
}); });
// }); });
// });
}); });