FIx failing tests
parent
032bd9d373
commit
ebb9b9f459
|
@ -110,6 +110,61 @@ const fillQuestion = async (eventTypePage: Page, questionType: string, customLoc
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const fillAllQuestions = async (eventTypePage: Page, questions: string[], options: BookingOptions) => {
|
||||||
|
if (options.isAllRequired) {
|
||||||
|
for (const question of questions) {
|
||||||
|
switch (question) {
|
||||||
|
case "email":
|
||||||
|
await eventTypePage.getByPlaceholder("Email").click();
|
||||||
|
await eventTypePage.getByPlaceholder("Email").fill(EMAIL);
|
||||||
|
break;
|
||||||
|
case "phone":
|
||||||
|
await eventTypePage.getByPlaceholder("Phone test").click();
|
||||||
|
await eventTypePage.getByPlaceholder("Phone test").fill(PHONE);
|
||||||
|
break;
|
||||||
|
case "address":
|
||||||
|
await eventTypePage.getByPlaceholder("Address test").click();
|
||||||
|
await eventTypePage.getByPlaceholder("Address test").fill("123 Main St, City, Country");
|
||||||
|
break;
|
||||||
|
case "textarea":
|
||||||
|
await eventTypePage.getByPlaceholder("Textarea test").click();
|
||||||
|
await eventTypePage.getByPlaceholder("Textarea test").fill("This is a sample text for textarea.");
|
||||||
|
break;
|
||||||
|
case "select":
|
||||||
|
await eventTypePage.locator("form svg").last().click();
|
||||||
|
await eventTypePage.getByTestId("select-option-Option 1").click();
|
||||||
|
break;
|
||||||
|
case "multiselect":
|
||||||
|
await eventTypePage.locator("form svg").nth(4).click();
|
||||||
|
await eventTypePage.getByTestId("select-option-Option 1").click();
|
||||||
|
break;
|
||||||
|
case "number":
|
||||||
|
await eventTypePage.getByLabel("number test").click();
|
||||||
|
await eventTypePage.getByLabel("number test").fill("123");
|
||||||
|
break;
|
||||||
|
case "radio":
|
||||||
|
await eventTypePage.getByRole("radiogroup").getByText("Option 1").check();
|
||||||
|
break;
|
||||||
|
case "text":
|
||||||
|
await eventTypePage.getByPlaceholder("Text test").click();
|
||||||
|
await eventTypePage.getByPlaceholder("Text test").fill("Sample text");
|
||||||
|
break;
|
||||||
|
case "checkbox":
|
||||||
|
await eventTypePage.getByLabel("Option 1").first().check();
|
||||||
|
await eventTypePage.getByLabel("Option 2").first().check();
|
||||||
|
break;
|
||||||
|
case "boolean":
|
||||||
|
await eventTypePage.getByLabel(`${question} test`).check();
|
||||||
|
break;
|
||||||
|
case "multiemail":
|
||||||
|
await eventTypePage.getByRole("button", { name: "multiemail test" }).click();
|
||||||
|
await eventTypePage.getByPlaceholder("multiemail test").fill(EMAIL);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export async function loginUser(users: UserFixture) {
|
export async function loginUser(users: UserFixture) {
|
||||||
const pro = await users.create({ name: "testuser" });
|
const pro = await users.create({ name: "testuser" });
|
||||||
await pro.apiLogin();
|
await pro.apiLogin();
|
||||||
|
@ -195,6 +250,14 @@ export function createBookingPageFixture(page: Page) {
|
||||||
await eventTypePage.getByPlaceholder(reschedulePlaceholderText).click();
|
await eventTypePage.getByPlaceholder(reschedulePlaceholderText).click();
|
||||||
await eventTypePage.getByPlaceholder(reschedulePlaceholderText).fill("Test reschedule");
|
await eventTypePage.getByPlaceholder(reschedulePlaceholderText).fill("Test reschedule");
|
||||||
await eventTypePage.getByTestId("confirm-reschedule-button").click();
|
await eventTypePage.getByTestId("confirm-reschedule-button").click();
|
||||||
|
await eventTypePage.waitForTimeout(400);
|
||||||
|
if (
|
||||||
|
await eventTypePage.getByRole("heading", { name: "Could not reschedule the meeting." }).isVisible()
|
||||||
|
) {
|
||||||
|
await eventTypePage.getByTestId("back").click();
|
||||||
|
await eventTypePage.getByTestId("time").last().click();
|
||||||
|
await eventTypePage.getByTestId("confirm-reschedule-button").click();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
assertBookingRescheduled: async (page: Page) => {
|
assertBookingRescheduled: async (page: Page) => {
|
||||||
|
@ -258,63 +321,15 @@ export function createBookingPageFixture(page: Page) {
|
||||||
},
|
},
|
||||||
fillAllQuestions: async (eventTypePage: Page, questions: string[], options: BookingOptions) => {
|
fillAllQuestions: async (eventTypePage: Page, questions: string[], options: BookingOptions) => {
|
||||||
const confirmButton = options.isReschedule ? "confirm-reschedule-button" : "confirm-book-button";
|
const confirmButton = options.isReschedule ? "confirm-reschedule-button" : "confirm-book-button";
|
||||||
|
await fillAllQuestions(eventTypePage, questions, options);
|
||||||
if (options.isAllRequired) {
|
|
||||||
for (const question of questions) {
|
|
||||||
switch (question) {
|
|
||||||
case "email":
|
|
||||||
await eventTypePage.getByPlaceholder("Email").click();
|
|
||||||
await eventTypePage.getByPlaceholder("Email").fill(EMAIL);
|
|
||||||
break;
|
|
||||||
case "phone":
|
|
||||||
await eventTypePage.getByPlaceholder("Phone test").click();
|
|
||||||
await eventTypePage.getByPlaceholder("Phone test").fill(PHONE);
|
|
||||||
break;
|
|
||||||
case "address":
|
|
||||||
await eventTypePage.getByPlaceholder("Address test").click();
|
|
||||||
await eventTypePage.getByPlaceholder("Address test").fill("123 Main St, City, Country");
|
|
||||||
break;
|
|
||||||
case "textarea":
|
|
||||||
await eventTypePage.getByPlaceholder("Textarea test").click();
|
|
||||||
await eventTypePage
|
|
||||||
.getByPlaceholder("Textarea test")
|
|
||||||
.fill("This is a sample text for textarea.");
|
|
||||||
break;
|
|
||||||
case "select":
|
|
||||||
await eventTypePage.locator("form svg").last().click();
|
|
||||||
await eventTypePage.getByTestId("select-option-Option 1").click();
|
|
||||||
break;
|
|
||||||
case "multiselect":
|
|
||||||
await eventTypePage.locator("form svg").nth(4).click();
|
|
||||||
await eventTypePage.getByTestId("select-option-Option 1").click();
|
|
||||||
break;
|
|
||||||
case "number":
|
|
||||||
await eventTypePage.getByLabel("number test").click();
|
|
||||||
await eventTypePage.getByLabel("number test").fill("123");
|
|
||||||
break;
|
|
||||||
case "radio":
|
|
||||||
await eventTypePage.getByRole("radiogroup").getByText("Option 1").check();
|
|
||||||
break;
|
|
||||||
case "text":
|
|
||||||
await eventTypePage.getByPlaceholder("Text test").click();
|
|
||||||
await eventTypePage.getByPlaceholder("Text test").fill("Sample text");
|
|
||||||
break;
|
|
||||||
case "checkbox":
|
|
||||||
await eventTypePage.getByLabel("Option 1").first().check();
|
|
||||||
await eventTypePage.getByLabel("Option 2").first().check();
|
|
||||||
break;
|
|
||||||
case "boolean":
|
|
||||||
await eventTypePage.getByLabel(`${question} test`).check();
|
|
||||||
break;
|
|
||||||
case "multiemail":
|
|
||||||
await eventTypePage.getByRole("button", { name: "multiemail test" }).click();
|
|
||||||
await eventTypePage.getByPlaceholder("multiemail test").fill(EMAIL);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
await eventTypePage.getByTestId(confirmButton).click();
|
await eventTypePage.getByTestId(confirmButton).click();
|
||||||
|
await eventTypePage.waitForTimeout(400);
|
||||||
|
if (await eventTypePage.getByRole("heading", { name: "Could not book the meeting." }).isVisible()) {
|
||||||
|
await eventTypePage.getByTestId("back").click();
|
||||||
|
await eventTypePage.getByTestId("time").last().click();
|
||||||
|
await fillAllQuestions(eventTypePage, questions, options);
|
||||||
|
await eventTypePage.getByTestId(confirmButton).click();
|
||||||
|
}
|
||||||
const scheduleSuccessfullyPage = eventTypePage.getByText(scheduleSuccessfullyText);
|
const scheduleSuccessfullyPage = eventTypePage.getByText(scheduleSuccessfullyText);
|
||||||
await scheduleSuccessfullyPage.waitFor({ state: "visible" });
|
await scheduleSuccessfullyPage.waitFor({ state: "visible" });
|
||||||
await expect(scheduleSuccessfullyPage).toBeVisible();
|
await expect(scheduleSuccessfullyPage).toBeVisible();
|
||||||
|
|
Loading…
Reference in New Issue