skillbox/client/cypress/integration/solutions.spec.js

56 lines
1.7 KiB
JavaScript

describe('Solutions', () => {
it('does not display the solution at first, then displays them after clicking', () => {
cy.viewport('macbook-15');
cy.login('nico.zickgraf', 'test');
cy.visit('/module/lohn-und-budget');
cy.get('[data-cy=solution]').first()
.should('contain', 'anzeigen')
.should('not.contain', 'Lösungssatz')
.then($solution => {
cy.wrap($solution).within(() => {
cy.get('[data-cy=show-solution]').click();
});
cy.wrap($solution)
.should('contain', 'Lösungssatz')
.should('contain', 'ausblenden');
});
});
it.only('toggles the solution as teacher', () => {
// cy.server();
cy.login('nico.zickgraf', 'test');
cy.visit('/module/lohn-und-budget');
// cy.route('POST', '/api/graphql/').as('graphQL');
// does not work with cypress yet, because of the fetch api
// https://github.com/cypress-io/cypress/issues/95
cy.get('[data-cy=toggle-enable-solutions]').within(() => {
cy.get('input[type=checkbox]').uncheck({force: true});
cy.wait(2000);
});
cy.logout();
cy.login('rahel.cueni', 'test');
cy.visit('/module/lohn-und-budget');
cy.get('[data-cy=toggle-enable-solutions]')
.should('not.exist');
cy.get('[data-cy=solution]').should('not.exist');
cy.logout();
cy.login('nico.zickgraf', 'test');
cy.visit('/module/lohn-und-budget');
cy.get('[data-cy=toggle-enable-solutions]').within(() => {
cy.get('input[type=checkbox]').check({force: true});
cy.wait(2000);
// cy.wait('@graphQL');
});
cy.logout();
cy.login('rahel.cueni', 'test');
cy.visit('/module/lohn-und-budget');
cy.get('[data-cy=solution]').should('exist');
});
});