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 {
me: PrivateUserNode
}
interface Node {
id: ID!
}
type PrivateUserNode implements Node { cy.intercept('POST', '/api/graphql', (req) => {
firstName: String! const {query, variables} = req.body;
lastName: String! console.log(query, variables);
avatarUrl: String! graphql({
} schema: schemaWithMocks,
`; source: query,
const schema = makeExecutableSchema({typeDefs: schemaString}); variableValues: variables,
const schemaWithMocks = addMocksToSchema({schema}); }).then(result => {
console.log('result');
// cy.intercept('POST', '/api/graphql', (req) => { console.log(result);
const query = ` req.reply({
query MeQuery { ...result,
me { });
firstName }, e => {
lastName console.log('error message');
avatarUrl console.log(e.message);
} console.error(e);
} });
`;
// 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);
}); });
// }); });
// });
}); });