import { login } from "../helpers"; describe("competenceCertificate.cy.js", () => { beforeEach(() => {}); it("check without points", () => { cy.manageCommand("cypress_reset"); login("test-student1@example.com", "test"); cy.visit("/course/test-lehrgang/competence"); cy.get('[data-cy="certificate-total-points-text"]').contains( "Der Punktestand wird zu einem späteren Zeitpunkt berechnet.", ); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ).and("contain", "0 von 2 Kompetenznachweis-Elementen"); // check on certificates page cy.get('[data-cy="certificates-show-all-button"]').click(); cy.get('[data-cy="certificate-total-points-text"]').contains( "Der Punktestand wird zu einem späteren Zeitpunkt berechnet.", ); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ) .should( "contain", "Der Punktestand wird zu einem späteren Zeitpunkt berechnet.", ) .and("contain", "0 von 2 Kompetenznachweis-Elementen"); // check certificate detail page cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-detail-link"]', ).click(); cy.get( '[data-cy="assignment-test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice"]', ).should("contain", "Höchstpunktzahl"); cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"]', ).should("contain", "Höchstpunktzahl"); }); it("check with finished passed edoniq test", () => { cy.manageCommand( "cypress_reset --create-assignment-completion --create-edoniq-test-results 19 24 0", ); login("test-student1@example.com", "test"); cy.visit("/course/test-lehrgang/competence"); cy.get('[data-cy="certificate-total-points-text"]').contains( "Erfahrungsnote üK: 5", ); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ) .should("contain", "Note: 5") .and("contain", "1 von 2 Kompetenznachweis-Elementen"); // check on certificates page cy.get('[data-cy="certificates-show-all-button"]').click(); cy.get('[data-cy="certificate-total-points-text"]') .should("contain", "Erfahrungsnote üK") .and("contain", "Zwischenstand"); cy.get('[data-cy="certificate-total-grade"]').should("contain", "Note: 5"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade"]', ).should("contain", "Note: 5"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade-percent"]', ).should("contain", "Ungerundete Note: 4.96"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ) .and("contain", "Zwischenstand") .and("contain", "1 von 2 Kompetenznachweis-Elementen"); // check certificate detail page cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-detail-link"]', ).click(); cy.get( '[data-cy="assignment-test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice"]', ) .should("contain", "Höchstpunktzahl") .and("contain", "Ergebnisse abgegeben"); cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"]', ) .should("contain", "19") .and("contain", "Bewertung freigegeben") .and("not.contain", "Nicht Bestanden"); // it can open learning content page directly cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"] [data-cy="open-learning-content"]', ).click(); cy.get('[data-cy="test-result"]') .should("contain", "19 von 24 Punkten") .and("contain", "79%"); }); it("check with finished failed edoniq test", () => { cy.manageCommand( "cypress_reset --create-assignment-completion --create-edoniq-test-results 10 24 0", ); login("test-student1@example.com", "test"); // go to certificate detail page cy.visit( "/course/test-lehrgang/competence/certificates/kompetenznachweis-1", ); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade"]', ).should("contain", "Note: 3"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade-percent"]', ).should("contain", "Ungerundete Note: 3.08"); cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"]', ) .should("contain", "10") .and("contain", "Bewertung freigegeben") .and("contain", "42%") .and("contain", "Nicht bestanden"); // it can open learning content page directly cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"] [data-cy="open-learning-content"]', ).click(); cy.get('[data-cy="test-result"]') .should("contain", "10 von 24 Punkten") .and("contain", "42%") .and("contain", "Nicht bestanden"); }); it("check with finished edoniq test and finished casework", () => { cy.manageCommand( "cypress_reset --create-assignment-evaluation --create-edoniq-test-results 19 24 0", ); login("test-student1@example.com", "test"); cy.visit("/course/test-lehrgang/competence"); cy.get('[data-cy="certificate-total-points-text"]').contains( "Erfahrungsnote üK: 5.5", ); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ) .should("contain", "Note: 5.5") .and("contain", "2 von 2 Kompetenznachweis-Elementen"); // check on certificates page cy.get('[data-cy="certificates-show-all-button"]').click(); cy.get('[data-cy="certificate-total-points-text"]') .should("contain", "Erfahrungsnote üK") .and("contain", "Note: 5.5") .and("not.contain", "Zwischenstand"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ) .and("not.contain", "Zwischenstand") .and("contain", "2 von 2 Kompetenznachweis-Elementen"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade"]', ).should("contain", "Note: 5.5"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade-percent"]', ).should("contain", "Ungerundete Note: 5.48"); // check certificate detail page cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-detail-link"]', ).click(); cy.get( '[data-cy="assignment-test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice"]', ) .should("contain", "24") .and("contain", "von 24 Punkten") .and("contain", "Bewertung freigegeben"); cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"]', ) .should("contain", "19") .and("contain", "von 24 Punkten") .and("contain", "Bewertung freigegeben"); }); it("check with finished edoniq test and finished casework in different course sessions", () => { const TEST_TRAINER2_USER_ID = "299941ae-1e4b-4f45-8180-876c3ad340b4"; const TEST_STUDENT2_USER_ID = "19c40d94-15cc-4198-aaad-ef707c4b0900"; const TEST_COURSE_SESSION_ZURICH_ID = -2; cy.manageCommand( `cypress_reset --create-assignment-evaluation --assignment-evaluation-user-id ${TEST_TRAINER2_USER_ID} --assignment-completion-user-id ${TEST_STUDENT2_USER_ID} --edoniq-user-id ${TEST_STUDENT2_USER_ID} --edoniq-course-session-id '${TEST_COURSE_SESSION_ZURICH_ID}' --create-edoniq-test-results 19 24 0`, ); login("test-student2@example.com", "test"); cy.visit("/course/test-lehrgang/competence"); cy.get('[data-cy="certificate-total-points-text"]').contains( "Erfahrungsnote üK: 5.5", ); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ) .should("contain", "Note: 5.5") .and("contain", "2 von 2 Kompetenznachweis-Elementen"); // check on certificates page cy.get('[data-cy="certificates-show-all-button"]').click(); cy.get('[data-cy="certificate-total-points-text"]') .should("contain", "Erfahrungsnote üK") .and("contain", "Note: 5.5") .and("not.contain", "Zwischenstand"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ) .and("not.contain", "Zwischenstand") .and("contain", "2 von 2 Kompetenznachweis-Elementen"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade"]', ).should("contain", "Note: 5.5"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade-percent"]', ).should("contain", "Ungerundete Note: 5.48"); // check certificate detail page cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-detail-link"]', ).click(); cy.get( '[data-cy="assignment-test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice"]', ) .should("contain", "24") .and("contain", "von 24 Punkten") .and("contain", "Bewertung freigegeben"); cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"]', ) .should("contain", "19") .and("contain", "von 24 Punkten") .and("contain", "Bewertung freigegeben"); cy.get( '[data-cy="assignment-test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice-course-session"]', ).should("contain", "Test Bern 2022 a"); cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo-course-session"]', ).should("contain", "Test Zürich 2022 a"); }); it("check show assignment in different course session", () => { const TEST_TRAINER2_USER_ID = "299941ae-1e4b-4f45-8180-876c3ad340b4"; const TEST_STUDENT2_USER_ID = "19c40d94-15cc-4198-aaad-ef707c4b0900"; const TEST_COURSE_SESSION_ZURICH_ID = -2; cy.manageCommand( `cypress_reset --create-assignment-evaluation --assignment-evaluation-user-id ${TEST_TRAINER2_USER_ID} --assignment-completion-user-id ${TEST_STUDENT2_USER_ID} --edoniq-user-id ${TEST_STUDENT2_USER_ID} --edoniq-course-session-id '${TEST_COURSE_SESSION_ZURICH_ID}' --create-edoniq-test-results 19 24 0`, ); login("test-student2@example.com", "test"); cy.visit( "course/test-lehrgang/competence/certificates/kompetenznachweis-1", ); cy.get('[data-cy="current-course-session-title"]').should( "contain", "Test Bern 2022 a", ); cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"] [data-cy="open-learning-content"]', ).click(); cy.get('[data-cy="current-course-session-title"]').should( "contain", "Test Zürich 2022 a", ); }); it("check with finished edoniq test with deducted points", () => { cy.manageCommand( "cypress_reset --create-assignment-completion --create-edoniq-test-results 19 24 8", ); login("test-student1@example.com", "test"); // go to certificate detail page cy.visit( "/course/test-lehrgang/competence/certificates/kompetenznachweis-1", ); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade"]', ).should("contain", "Note: 3.5"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade-percent"]', ).should("contain", "Ungerundete Note: 3.29"); cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"]', ) .should("contain", "11") .and("contain", "Bewertung freigegeben") .and("contain", "46%") .and("contain", "mit Abzug") .and("contain", "Nicht bestanden"); // it can open learning content page directly cy.get( '[data-cy="assignment-test-lehrgang-assignment-edoniq-wissens-und-verständisfragen-circle-fahrzeug-demo"] [data-cy="open-learning-content"]', ).click(); cy.get('[data-cy="test-result"]') .should("contain", "11 von 24 Punkten") .and("contain", "46%") .and("contain", "Punkte aus Bewertung: 19") .and("contain", "Abgezogene Punkte: 8") .and("contain", "Grund: Edoniq Punkteabzug Test") .and("contain", "Nicht bestanden"); }); it("check with finished casework and points deducted", () => { cy.manageCommand( "cypress_reset --create-assignment-evaluation --assignment-evaluation-scores 4,6,4,3,2 --assignment-points-deducted 5", ); login("test-student1@example.com", "test"); cy.visit("/course/test-lehrgang/competence"); cy.get('[data-cy="certificate-total-points-text"]').contains( "Erfahrungsnote üK: 4", ); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ) .should("contain", "Note: 4") .and("contain", "1 von 2 Kompetenznachweis-Elementen"); // check on certificates page cy.get('[data-cy="certificates-show-all-button"]').click(); cy.get('[data-cy="certificate-total-points-text"]') .should("contain", "Erfahrungsnote üK") .and("contain", "Note: 4") .and("contain", "Zwischenstand"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1"]', ) .and("contain", "Zwischenstand") .and("contain", "1 von 2 Kompetenznachweis-Elementen"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade"]', ).should("contain", "Note: 4"); cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-grade-percent"]', ).should("contain", "Ungerundete Note: 3.92"); // check certificate detail page cy.get( '[data-cy="certificate-test-lehrgang-competencenavi-certificates-kompetenznachweis-1-detail-link"]', ).click(); cy.get( '[data-cy="assignment-test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice"]', ) .should("contain", "14") .and("contain", "von 24 Punkten") .and("contain", "58%") .and("contain", "mit Abzug") .and("contain", "Bewertung freigegeben"); cy.get( '[data-cy="assignment-test-lehrgang-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice"] [data-cy="open-learning-content"]', ).click(); cy.get('[data-cy="user-points"]').should("contain", "14"); cy.get('[data-cy="total-points"]').should( "contain", "von 24 Punkten (58%)", ); cy.get('[data-cy="points-deducted"]') .should("contain", "Punkte aus Bewertung: 19") .and("contain", "Abgezogene Punkte: 5") .and("contain", "Grund: Assignment Punkteabzug Test"); }); it("should display link to details", () => { cy.manageCommand("cypress_reset"); login("test-student1@example.com", "test"); cy.visit("/course/test-lehrgang/competence/self-evaluation-and-feedback"); cy.get('[data-cy^="self-eval-"][data-cy$="-detail-url"]:first').contains( "Selbsteinschätzung anschauen", ); }); });