diff --git a/cypress/e2e/competence.cy.js b/cypress/e2e/competence.cy.js new file mode 100644 index 00000000..dcf9b212 --- /dev/null +++ b/cypress/e2e/competence.cy.js @@ -0,0 +1,32 @@ +import { login } from "./helpers"; + +describe("Competence", () => { + beforeEach(() => { + cy.manageCommand("cypress_reset"); + + login("admin", "test"); + cy.visit("/learn/test-lehrgang-lp/analyse"); + }); + + it("self evaluation should be neutral", () => { + cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').find('[data-cy="unknown"]').should('exist'); + }); + + it("should be able to make a happy self evaluation", () => { + cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').click(); + cy.makeSelfEvaluation([true, true]) + cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').find('[data-cy="success"]').should('exist'); + }); + + it("should be able to make a fail self evaluation", () => { + cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').click(); + cy.makeSelfEvaluation([false, false]) + cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').find('[data-cy="fail"]').should('exist'); + }); + + it("should be able to make a mixed self evaluation", () => { + cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').click(); + cy.makeSelfEvaluation([false, true]) + cy.get('[data-cy="test-lehrgang-lp-circle-analyse-lu-fahrzeug"]').find('[data-cy="fail"]').should('exist'); + }); +}); diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 2793a069..ad305178 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -96,6 +96,18 @@ function loadObjectJson(key, value, djangoModelPath, serializerModelPath) { } +Cypress.Commands.add('makeSelfEvaluation', (answers) => { + for (let answer of answers) { + if (answer) { + cy.get('[data-cy="success"]').click(); + } else { + cy.get('[data-cy="fail"]').click(); + } + cy.get('[data-cy="complete-and-continue"]').click(); + } +}); + + // Cypress.Commands.add('loadApiClientRequestResponseLog', (key, value) => { // return loadObjectJson( // key,