From 61a0c53b7b82bc875c855358df2c81c91e7e5a94 Mon Sep 17 00:00:00 2001 From: Raphael Kabo Date: Tue, 10 Oct 2023 15:50:33 +0100 Subject: Update Cypress tests --- cypress/e2e/event.cy.ts | 34 ++++++++++++++++++--- cypress/e2e/group.cy.ts | 78 ++++++++++++++++++++++++------------------------- 2 files changed, 68 insertions(+), 44 deletions(-) (limited to 'cypress/e2e') diff --git a/cypress/e2e/event.cy.ts b/cypress/e2e/event.cy.ts index 1160586..270ca0a 100644 --- a/cypress/e2e/event.cy.ts +++ b/cypress/e2e/event.cy.ts @@ -7,8 +7,6 @@ const eventData = { hostName: "Your Name", creatorEmail: "test@example.com", eventGroupCheckbox: false, - eventGroupID: "YourEventGroupID", - eventGroupEditToken: "YourEventGroupEditToken", interactionCheckbox: true, joinCheckbox: true, maxAttendeesCheckbox: true, @@ -28,7 +26,7 @@ describe("Events", () => { cy.get("#eventStart").type(eventData.eventStart); cy.get("#eventEnd").type(eventData.eventEnd); - cy.get(".select2-container").click(); + cy.get("select#timezone + span.select2").click(); cy.get(".select2-results__option") .contains(eventData.timezone) .click({ force: true }); @@ -177,7 +175,7 @@ describe("Events", () => { cy.get("#editEventForm #eventStart").type("2030-12-01T00:00"); cy.get("#editEventForm #eventEnd").type("2030-12-01T01:00"); - cy.get("#editEventForm .select2-container").click(); + cy.get("#editEventForm select#timezone + span.select2").click(); cy.get(".select2-results__option") .contains("Australia/Sydney") .click({ force: true }); @@ -218,4 +216,32 @@ describe("Events", () => { // Check that the attendee form is not visible cy.get("#attendEvent").should("not.exist"); }); + + it("sets a group for an event", function () { + // For this we need to create a group first. This will load the group edit token + // into our localStorage, and will then appear in the group select dropdown. + // We then go back to the event page, edit the event, and set the group. + cy.createGroup({ + eventGroupName: "Test Group", + eventGroupDescription: "Test Group Description", + eventGroupURL: "testgroup", + hostName: "Test Host", + creatorEmail: "test@example.com", + }); + + cy.visit(`/${this.eventID}`); + cy.url().should("include", this.editToken); + + cy.get("#editEvent").click(); + cy.get("#editEventForm #eventGroupCheckbox").check(); + cy.get("select#eventGroupSelect + span.select2").click(); + cy.get(".select2-results__option") + .contains("Test Group") + .click({ force: true }); + cy.get("#editEventForm").submit(); + + cy.get("#editModal").should("not.be.visible"); + + cy.get("#event-group").should("contain.text", "Test Group"); + }); }); diff --git a/cypress/e2e/group.cy.ts b/cypress/e2e/group.cy.ts index 8250179..279cb6c 100644 --- a/cypress/e2e/group.cy.ts +++ b/cypress/e2e/group.cy.ts @@ -8,28 +8,7 @@ const groupData = { describe("Groups", () => { beforeEach(() => { - cy.visit("/new"); - cy.get("#showNewEventGroupFormButton").click(); - - // Fill in the form - cy.get("#eventGroupName").type(groupData.eventGroupName); - cy.get("#eventGroupDescription").type(groupData.eventGroupDescription); - cy.get("#eventGroupURL").type(groupData.eventGroupURL); - cy.get("#eventGroupHostName").type(groupData.hostName); - cy.get("#eventGroupCreatorEmail").type(groupData.creatorEmail); - - // Submit the form - cy.get("#newEventGroupForm").submit(); - - // Wait for the new page to load - cy.url().should("not.include", "/new"); - - // Get the new group ID from the URL - cy.url().then((url) => { - const [groupID, editToken] = url.split("/").pop().split("?"); - cy.wrap(groupID).as("groupID"); - cy.wrap(editToken.slice(2)).as("editToken"); - }); + cy.createGroup(groupData); }); it("creates a new group", function () { cy.get("#eventGroupName").should("have.text", groupData.eventGroupName); @@ -47,23 +26,42 @@ describe("Groups", () => { }); it("edits a group", function () { - // // Wait for the modal to not be visible - // cy.get("#editModal").should("not.be.visible"); - // // Check that all the data is correct - // cy.get(".p-name").should("have.text", "Edited Event Name"); - // cy.get(".p-location").should("have.text", "Edited Event Location"); - // cy.get(".p-summary").should("contain.text", "Edited Event Description"); - // cy.get("#hosted-by").should("contain.text", "Hosted by Edited Name"); - // cy.get(".dt-duration").should( - // "contain.text", - // "Sunday 1 December 2030 from 12:00 am to 1:00 am", - // ); - // cy.get(".dt-duration") - // .invoke("text") - // .should("match", /AE(D|S)T/); - // // Check that the comment form is not visible - // cy.get("#postComment").should("not.exist"); - // // Check that the attendee form is not visible - // cy.get("#attendEvent").should("not.exist"); + cy.get("#editGroup").click(); + + cy.get("#editEventGroupForm #eventGroupName").focus().clear(); + cy.get("#editEventGroupForm #eventGroupDescription").focus().clear(); + cy.get("#editEventGroupForm #eventGroupURL").focus().clear(); + cy.get("#editEventGroupForm #eventGroupHostName").focus().clear(); + cy.get("#editEventGroupForm #eventGroupCreatorEmail").focus().clear(); + + cy.get("#editEventGroupForm #eventGroupName").type("Edited Group Name"); + cy.get("#editEventGroupForm #eventGroupDescription").type( + "Edited Group Description", + ); + cy.get("#editEventGroupForm #eventGroupURL").type( + "https://edited.example.com", + ); + cy.get("#editEventGroupForm #eventGroupHostName").type("Edited Name"); + cy.get("#editEventGroupForm #eventGroupCreatorEmail").type( + "edited@example.com", + ); + + // Submit the form + cy.get("#editEventGroupForm").submit(); + + // Wait for the modal to not be visible + cy.get("#editModal").should("not.be.visible"); + + // Check that all the data is correct + cy.get("#eventGroupName").should("have.text", "Edited Group Name"); + cy.get("#eventDescription").should( + "contain.text", + "Edited Group Description", + ); + cy.get("#eventGroupURL").should( + "contain.text", + "https://edited.example.com", + ); + cy.get("#hostName").should("contain.text", "Edited Name"); }); }); -- cgit v1.2.3