167 lines
5.2 KiB
JavaScript
167 lines
5.2 KiB
JavaScript
const assignments = require('../../fixtures/assignments.json');
|
|
const mePayload = require('../../fixtures/me.join-class.json');
|
|
const topics = require('../../fixtures/topics.json');
|
|
const baseTopic = require('../../fixtures/geld-und-kauf.json');
|
|
|
|
const moduleTeasers = require('../../fixtures/module-teasers.json');
|
|
const fullModules = require('../../fixtures/full-modules.json');
|
|
|
|
const topic = {
|
|
topic: {
|
|
...baseTopic.topic,
|
|
modules: {
|
|
'__typename': 'ModuleNodeConnection',
|
|
edges: [
|
|
...Object.values(moduleTeasers).map(module => {
|
|
return {
|
|
node: module,
|
|
__typename: 'ModuleNodeEdge',
|
|
};
|
|
}),
|
|
],
|
|
},
|
|
},
|
|
};
|
|
|
|
const me = {
|
|
...mePayload.me,
|
|
lastModule: {
|
|
// 'id': 'TW9kdWxlTm9kZToxNw==',
|
|
'slug': 'lohn-und-budget',
|
|
'__typename': 'ModuleNode',
|
|
},
|
|
lastTopic: {
|
|
'id': 'VG9waWNOb2RlOjU=',
|
|
'slug': 'geld-und-kauf',
|
|
'__typename': 'TopicNode',
|
|
},
|
|
recentModules: {
|
|
'edges': [],
|
|
'__typename': 'ModuleNodeConnection',
|
|
},
|
|
};
|
|
|
|
const operations = {
|
|
MeQuery: variables => {
|
|
return {
|
|
me: {
|
|
...me,
|
|
'__typename': 'UserNode',
|
|
'permissions': [],
|
|
},
|
|
};
|
|
},
|
|
AssignmentsQuery: {
|
|
assignments,
|
|
},
|
|
ModulesQuery: variables => {
|
|
return {
|
|
module: fullModules[variables.slug],
|
|
};
|
|
},
|
|
TopicsQuery: topics,
|
|
Topic: topic,
|
|
UpdateLastTopic: {
|
|
'updateLastTopic': {
|
|
'topic': topic.topic,
|
|
'__typename': 'UpdateLastTopicPayload',
|
|
},
|
|
},
|
|
UpdateLastModule: variables => {
|
|
return {
|
|
updateLastModule: {
|
|
lastModule: moduleTeasers[variables.input.id],
|
|
__typename: 'UpdateLastModulePayload',
|
|
},
|
|
};
|
|
},
|
|
};
|
|
|
|
Cypress.Commands.add('checkHome', (n, skipHome) => {
|
|
if (!skipHome) {
|
|
cy.get('[data-cy="home-link"]').click();
|
|
}
|
|
cy.get('[data-cy=start-modules-list]').should('exist');
|
|
cy.get('[data-cy=start-module-teaser]').should('have.length', n);
|
|
});
|
|
|
|
Cypress.Commands.add('goToModule', (topicTitle, moduleMetaTitle) => {
|
|
cy.get('[data-cy=open-sidebar-link]').click();
|
|
cy.contains(topicTitle).click();
|
|
cy.get('[data-cy=topic-title]').should('exist').should('contain', topicTitle);
|
|
cy.contains(moduleMetaTitle).click();
|
|
});
|
|
|
|
describe('Current Module', () => {
|
|
before(() => {
|
|
cy.server();
|
|
|
|
cy.task('getSchema').then(schema => {
|
|
cy.mockGraphql({
|
|
schema,
|
|
// endpoint: '/api/graphql'
|
|
// mocks,
|
|
operations,
|
|
});
|
|
});
|
|
|
|
// cy.mockGraphql({
|
|
// schema: schema,
|
|
// // endpoint: '/api/graphql'
|
|
// operations,
|
|
// });
|
|
});
|
|
|
|
// it('is set correctly', () => {
|
|
// cy.viewport('macbook-15');
|
|
//
|
|
// cy.fakeLogin('nico.zickgraf', 'test');
|
|
// // cy.apolloLogin('nico.zickgraf', 'test');
|
|
// cy.visit('/');
|
|
//
|
|
// // module list exists, but does not have anything in it
|
|
// cy.checkHome(0, true);
|
|
// cy.get('[data-cy=no-modules-yet]').should('exist').should('contain', 'Sie haben sich noch kein Modul angeschaut. Legen Sie jetzt los!');
|
|
//
|
|
// cy.goToModule('Geld und Kauf', 'Modul 2');
|
|
// cy.get('[data-cy=module-title]').should('contain', 'Geld');
|
|
// cy.checkHome(1);
|
|
// cy.get('[data-cy=start-module-teaser]').first().should('contain', 'Geld');
|
|
//
|
|
// cy.goToModule('Geld und Kauf', 'Modul 1');
|
|
// cy.get('[data-cy=module-title]').should('contain', 'Lohn und Budget');
|
|
// cy.checkHome(2);
|
|
// cy.get('[data-cy=start-module-teaser]').first().should('contain', 'Lohn und Budget');
|
|
// cy.get('[data-cy=start-module-teaser]').eq(1).should('contain', 'Geld');
|
|
//
|
|
// cy.goToModule('Geld und Kauf', 'Modul 4');
|
|
// cy.get('[data-cy=module-title]').should('contain', 'Lerntipps');
|
|
// cy.checkHome(3);
|
|
// cy.get('[data-cy=start-module-teaser]').first().should('contain', 'Lerntipps');
|
|
// cy.get('[data-cy=start-module-teaser]').eq(1).should('contain', 'Lohn und Budget');
|
|
// cy.get('[data-cy=start-module-teaser]').eq(2).should('contain', 'Geld');
|
|
//
|
|
// // module list is full, should switch only the order around
|
|
// cy.goToModule('Geld und Kauf', 'Modul 2');
|
|
// cy.get('[data-cy=module-title]').should('contain', 'Geld');
|
|
// cy.checkHome(3);
|
|
// cy.get('[data-cy=start-module-teaser]').first().should('contain', 'Geld');
|
|
// cy.get('[data-cy=start-module-teaser]').eq(1).should('contain', 'Lerntipps');
|
|
// cy.get('[data-cy=start-module-teaser]').eq(2).should('contain', 'Lohn und Budget');
|
|
//
|
|
// cy.goToModule('Geld und Kauf', 'Modul 5');
|
|
// cy.get('[data-cy=module-title]').should('contain', 'Random');
|
|
// cy.checkHome(3);
|
|
// cy.get('[data-cy=start-module-teaser]').first().should('contain', 'Random');
|
|
// cy.get('[data-cy=start-module-teaser]').eq(1).should('contain', 'Geld');
|
|
// cy.get('[data-cy=start-module-teaser]').eq(2).should('contain', 'Lerntipps');
|
|
//
|
|
// cy.get('[data-cy=start-module-teaser]').last().click();
|
|
// cy.get('[data-cy=module-title]').should('contain', 'Lerntipps');
|
|
// cy.checkHome(3);
|
|
// cy.get('[data-cy=start-module-teaser]').first().should('contain', 'Lerntipps');
|
|
// cy.get('[data-cy=start-module-teaser]').eq(1).should('contain', 'Random');
|
|
// cy.get('[data-cy=start-module-teaser]').eq(2).should('contain', 'Geld');
|
|
// });
|
|
});
|