summaryrefslogtreecommitdiff
path: root/cypress/e2e
diff options
context:
space:
mode:
authorRaphael Kabo <raphaelkabo@hey.com>2023-10-10 15:50:33 +0100
committerRaphael Kabo <raphaelkabo@hey.com>2023-10-10 15:50:33 +0100
commit61a0c53b7b82bc875c855358df2c81c91e7e5a94 (patch)
treeb0741471592cad5a760173a25ed39564e3443ee6 /cypress/e2e
parent2f4ffd5d86aa695afaffed9c6780f695d0bfde9d (diff)
Update Cypress tests
Diffstat (limited to 'cypress/e2e')
-rw-r--r--cypress/e2e/event.cy.ts34
-rw-r--r--cypress/e2e/group.cy.ts78
2 files changed, 68 insertions, 44 deletions
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");
});
});