From f1507512190c4faeb136350cbd68758a7ec1fecf Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Wed, 17 Jul 2024 19:24:14 +0200 Subject: [PATCH] Add cypress test for "Feedback Praxisauftrag" --- client/src/components/ui/ItTextarea.vue | 2 +- .../mentor/MentorPraxisAssignmentPage.vue | 1 + .../README.md | 0 .../constants.js | 0 .../mentorTasks}/fremdeinschätzung.cy.js | 0 .../mentorTasks/praxisauftrag.cy.js | 111 ++++++++++++++++++ .../overview/memberOnly.cy.js | 0 .../overview/mentorAndMember.cy.js | 0 .../overview/mentorOnly.cy.js | 0 9 files changed, 113 insertions(+), 1 deletion(-) rename cypress/e2e/{learning_mentor => learningMentor}/README.md (100%) rename cypress/e2e/{learning_mentor => learningMentor}/constants.js (100%) rename cypress/e2e/{learning_mentor/fremdeinschätzung => learningMentor/mentorTasks}/fremdeinschätzung.cy.js (100%) create mode 100644 cypress/e2e/learningMentor/mentorTasks/praxisauftrag.cy.js rename cypress/e2e/{learning_mentor => learningMentor}/overview/memberOnly.cy.js (100%) rename cypress/e2e/{learning_mentor => learningMentor}/overview/mentorAndMember.cy.js (100%) rename cypress/e2e/{learning_mentor => learningMentor}/overview/mentorOnly.cy.js (100%) diff --git a/client/src/components/ui/ItTextarea.vue b/client/src/components/ui/ItTextarea.vue index a296c6b5..53ddd792 100644 --- a/client/src/components/ui/ItTextarea.vue +++ b/client/src/components/ui/ItTextarea.vue @@ -23,7 +23,7 @@ export interface Props { withDefaults(defineProps(), { label: undefined, - cyKey: "", + cyKey: "default", placeholder: "", }); const emit = defineEmits(["update:modelValue"]); diff --git a/client/src/pages/learningMentor/mentor/MentorPraxisAssignmentPage.vue b/client/src/pages/learningMentor/mentor/MentorPraxisAssignmentPage.vue index 31bdf905..2203454f 100644 --- a/client/src/pages/learningMentor/mentor/MentorPraxisAssignmentPage.vue +++ b/client/src/pages/learningMentor/mentor/MentorPraxisAssignmentPage.vue @@ -47,6 +47,7 @@ onMounted(() => { v-for="item in praxisAssignment.completions" :key="item.user_id" class="flex flex-col items-start justify-between gap-4 border-b py-2 pl-5 pr-5 last:border-b-0 md:flex-row md:items-center md:justify-between md:gap-16" + :data-cy="`praxis-assignment-feedback-${item.user_id}`" >
diff --git a/cypress/e2e/learning_mentor/README.md b/cypress/e2e/learningMentor/README.md similarity index 100% rename from cypress/e2e/learning_mentor/README.md rename to cypress/e2e/learningMentor/README.md diff --git a/cypress/e2e/learning_mentor/constants.js b/cypress/e2e/learningMentor/constants.js similarity index 100% rename from cypress/e2e/learning_mentor/constants.js rename to cypress/e2e/learningMentor/constants.js diff --git a/cypress/e2e/learning_mentor/fremdeinschätzung/fremdeinschätzung.cy.js b/cypress/e2e/learningMentor/mentorTasks/fremdeinschätzung.cy.js similarity index 100% rename from cypress/e2e/learning_mentor/fremdeinschätzung/fremdeinschätzung.cy.js rename to cypress/e2e/learningMentor/mentorTasks/fremdeinschätzung.cy.js diff --git a/cypress/e2e/learningMentor/mentorTasks/praxisauftrag.cy.js b/cypress/e2e/learningMentor/mentorTasks/praxisauftrag.cy.js new file mode 100644 index 00000000..ec6fcb1c --- /dev/null +++ b/cypress/e2e/learningMentor/mentorTasks/praxisauftrag.cy.js @@ -0,0 +1,111 @@ +import { login, logout } from "../../helpers"; +import { TEST_STUDENT1_VV_USER_ID } from "../../../consts"; + +describe("praxisauftrag.cy.js", () => { + beforeEach(() => { + cy.manageCommand("cypress_reset --create-learning-mentor"); + }); + + it("Teilnehmer macht Praxisauftrag; Begleiter kann Feedback geben", () => { + // teilnehmer macht selbsteinschätzung + login("student-vv@eiger-versicherungen.ch", "test"); + cy.visit( + "/course/versicherungsvermittler-in/learn/gewinnen/mein-kundenstamm", + ); + + cy.learningContentMultiLayoutNextStep(); + cy.get('[data-cy="it-textarea-user-text-input-1"]') + .clear() + .type("Hallo Teilaufgabe 1"); + // wait because of input debounce + cy.wait(550); + cy.learningContentMultiLayoutNextStep(); + + cy.get('[data-cy="it-textarea-user-text-input-1"]') + .clear() + .type("Hallo Teilaufgabe 2.1"); + cy.wait(550); + cy.learningContentMultiLayoutNextStep(); + + cy.get('[data-cy="it-textarea-user-text-input-1"]') + .clear() + .type("Hallo Teilaufgabe 3.1"); + // wait because of input debounce + cy.wait(550); + cy.learningContentMultiLayoutNextStep(); + + cy.get('[data-cy="it-textarea-user-text-input-0"]') + .clear() + .type("Hallo Teilaufgabe 4.1"); + // wait because of input debounce + cy.wait(550); + cy.learningContentMultiLayoutNextStep(); + + cy.get('[data-cy="it-textarea-user-text-input-0"]') + .clear() + .type("Hallo Teilaufgabe 5.1"); + // wait because of input debounce + cy.wait(550); + cy.learningContentMultiLayoutNextStep(); + + cy.get('[data-cy="confirm-submit-person"]').click(); + cy.get('[data-cy="select-learning-mentor"]').select( + "Micheala Weber-Mentor", + ); + cy.get('[data-cy="submit-assignment"]').click(); + + cy.visit("/"); + cy.get('[data-cy="header-profile"]').click(); + cy.get('[data-cy="logout-button"]').click(); + cy.wait(1000); + + // mentor feedback geben + login("test-mentor1@example.com", "test"); + cy.visit("/"); + + cy.get( + '[data-cy="panel-versicherungsvermittler-in"] [data-cy="dashboard.mentor.openTasksCount"]', + ).should("contain", "1"); + cy.get( + '[data-cy="panel-versicherungsvermittler-in"] [data-cy="dashboard.mentor.openTasksCount"] [data-cy="basebox.detailsLink"]', + ).click(); + + cy.contains("Feedback geben").click(); + + // viktor vollgas auswählen + cy.get( + `[data-cy="praxis-assignment-feedback-${TEST_STUDENT1_VV_USER_ID}"]`, + ).should("contain", "Ergebnisse abgegeben"); + cy.contains("Feedback geben").click(); + + cy.get('[data-cy="start-evaluation"]').click(); + cy.get('[data-cy="it-textarea-default"]').clear().type("Hallo Feedback 1"); + cy.wait(550); + cy.get('[data-cy="next-step"]').click(); + + cy.get('[data-cy="it-textarea-default"]').clear().type("Hallo Feedback 2"); + cy.wait(550); + cy.get('[data-cy="next-step"]').click(); + + cy.get('[data-cy="it-textarea-default"]').clear().type("Hallo Feedback 3"); + cy.wait(550); + cy.get('[data-cy="next-step"]').click(); + + cy.get('[data-cy="it-textarea-default"]').clear().type("Hallo Feedback 4"); + cy.wait(550); + cy.get('[data-cy="next-step"]').click(); + + cy.get('[data-cy="it-textarea-default"]').clear().type("Hallo Feedback 5"); + cy.wait(550); + cy.get('[data-cy="next-step"]').click(); + + cy.get('[data-cy="submit-evaluation"]').click(); + cy.get('[data-cy="next-step"]').click(); + + cy.visit("/"); + + cy.get( + '[data-cy="panel-versicherungsvermittler-in"] [data-cy="dashboard.mentor.openTasksCount"]', + ).should("contain", "0"); + }); +}); diff --git a/cypress/e2e/learning_mentor/overview/memberOnly.cy.js b/cypress/e2e/learningMentor/overview/memberOnly.cy.js similarity index 100% rename from cypress/e2e/learning_mentor/overview/memberOnly.cy.js rename to cypress/e2e/learningMentor/overview/memberOnly.cy.js diff --git a/cypress/e2e/learning_mentor/overview/mentorAndMember.cy.js b/cypress/e2e/learningMentor/overview/mentorAndMember.cy.js similarity index 100% rename from cypress/e2e/learning_mentor/overview/mentorAndMember.cy.js rename to cypress/e2e/learningMentor/overview/mentorAndMember.cy.js diff --git a/cypress/e2e/learning_mentor/overview/mentorOnly.cy.js b/cypress/e2e/learningMentor/overview/mentorOnly.cy.js similarity index 100% rename from cypress/e2e/learning_mentor/overview/mentorOnly.cy.js rename to cypress/e2e/learningMentor/overview/mentorOnly.cy.js