Initialize fork and rebrand app to event_manager
CI / Server (push) Has been cancelled
Linters / Frappe Linter (push) Has been cancelled
Linters / Vulnerable Dependency Check (push) Has been cancelled
UI Tests / Playwright E2E Tests (push) Has been cancelled

This commit is contained in:
2026-05-11 09:56:57 +02:00
parent f82bb803ac
commit 786cbc724f
500 changed files with 41152 additions and 2 deletions
+91
View File
@@ -0,0 +1,91 @@
import { test, expect } from "@playwright/test";
import { BookingPage } from "../pages";
// Verifies that the booking form displays correctly with ticket types, add-ons, and booking button.
test.describe("Event Registration Page", () => {
const testEventRoute = "test-event-e2e";
test("should display event booking page", async ({ page }) => {
const bookingPage = new BookingPage(page);
await bookingPage.goto(testEventRoute);
await bookingPage.waitForFormLoad();
await bookingPage.expectFormVisible();
console.log("Event booking page loaded successfully");
});
test("should display add-ons section", async ({ page }) => {
const bookingPage = new BookingPage(page);
await bookingPage.goto(testEventRoute);
await bookingPage.waitForFormLoad();
const addOnCount = await bookingPage.addOnCheckboxes.count();
console.log(`Found ${addOnCount} add-on related elements`);
if (addOnCount > 0) {
await bookingPage.expectAddOnsVisible();
console.log("Add-ons section is displayed");
} else {
console.log("No add-on elements found");
}
});
test("should display booking button", async ({ page }) => {
const bookingPage = new BookingPage(page);
await bookingPage.goto(testEventRoute);
await bookingPage.waitForFormLoad();
await bookingPage.expectBookButtonVisible();
const buttonText = await bookingPage.getBookButtonText();
console.log(`Booking button found with text: "${buttonText}"`);
});
test("should display attendee form fields", async ({ page }) => {
const bookingPage = new BookingPage(page);
await bookingPage.goto(testEventRoute);
await bookingPage.waitForFormLoad();
const hasNameInput = await bookingPage.attendeeNameInput.isVisible().catch(() => false);
const hasEmailInput = await bookingPage.attendeeEmailInput.isVisible().catch(() => false);
expect(hasNameInput && hasEmailInput).toBeTruthy();
console.log("Attendee form fields are displayed");
});
test("should fill booking form with attendee details and select add-ons", async ({ page }) => {
const bookingPage = new BookingPage(page);
await bookingPage.goto(testEventRoute);
await bookingPage.waitForFormLoad();
// Fill in attendee details
const testName = "John Doe";
const testEmail = "john.doe@example.com";
await bookingPage.fillAttendeeDetails(testName, testEmail);
// Verify the values were entered
await expect(bookingPage.attendeeNameInput).toHaveValue(testName);
await expect(bookingPage.attendeeEmailInput).toHaveValue(testEmail);
console.log("Attendee details filled successfully");
// Select add-ons if available
const addOnCount = await bookingPage.addOnCheckboxes.count();
if (addOnCount > 0) {
// Click the first add-on checkbox
await bookingPage.addOnCheckboxes.first().click();
// Verify it's checked
await expect(bookingPage.addOnCheckboxes.first()).toBeChecked();
console.log("Add-on selected successfully");
}
// Verify booking button is still visible and ready
await bookingPage.expectBookButtonVisible();
console.log("Form is ready to submit");
});
});