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'); }); });