summaryrefslogtreecommitdiff
path: root/cypress/e2e/group.cy.ts
blob: 825017918f62b616cfdbb03b5d441780540568fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const groupData = {
    eventGroupName: "Test Group",
    eventGroupDescription: "Test Group Description",
    eventGroupURL: "https://example.com",
    hostName: "Test Host",
    creatorEmail: "test@example.com",
};

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");
        });
    });
    it("creates a new group", function () {
        cy.get("#eventGroupName").should("have.text", groupData.eventGroupName);
        cy.get("#eventDescription").should(
            "contain.text",
            groupData.eventGroupDescription,
        );
        cy.get("#eventGroupURL").should(
            "contain.text",
            groupData.eventGroupURL,
        );
        cy.get("#hostName").should("contain.text", groupData.hostName);
        cy.get("#eventGroupID").should("contain.text", this.groupID);
        cy.get("#eventGroupEditToken").should("contain.text", this.editToken);
    });

    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");
    });
});