Fixes
Fixed an issue where media manager only shows files uploaded in specific sections. Fixed an issue with icon picker names. Removed jumbo rounding and a few other style tweaks.
This commit is contained in:
74 files changed
+1622
-195
No files matched your search
@@ -159,10 +159,20 @@ test.describe.serial("barber operations journeys", () => {
|
||||
expectedState,
|
||||
);
|
||||
|
||||
// Restore the seeded default so this test is repeatable.
|
||||
// Restore the seeded default so this test is repeatable. This save can itself surface an
|
||||
// unrelated conflict — the seed's own "genuinely future" fixture for Leo (see prisma/seed.ts,
|
||||
// appt-leo-future) is dated relative to whenever the seed happened to run and can
|
||||
// coincidentally land on a Sunday, which is off by default — so handle either outcome rather
|
||||
// than assuming a clean save (same pattern as owner-journeys.spec.ts journey 4's restore step).
|
||||
await page.getByRole("switch", { name: "Sunday working" }).click();
|
||||
await page.getByRole("button", { name: "Save", exact: true }).click();
|
||||
await expect(page.getByText("Saved.")).toBeVisible();
|
||||
const saveAnywayButton = page.getByRole("button", { name: "Save Anyway", exact: true });
|
||||
const savedStatus = page.getByText("Saved.");
|
||||
await expect(saveAnywayButton.or(savedStatus)).toBeVisible();
|
||||
if (await saveAnywayButton.isVisible()) {
|
||||
await saveAnywayButton.click();
|
||||
}
|
||||
await expect(savedStatus).toBeVisible();
|
||||
});
|
||||
|
||||
test("8. barber adds a recurring break", async ({ page }) => {
|
||||
@@ -230,12 +240,22 @@ test.describe.serial("barber operations journeys", () => {
|
||||
});
|
||||
|
||||
test("10. barber receives a new-booking notification", async ({ page }) => {
|
||||
// Journey 3 (this file runs serially) already booked Marcus a fresh appointment for Jordan
|
||||
// Blake — see NotificationService/booking-notifications.ts, notifyBookingCreated, which
|
||||
// Deliberately books its own fresh appointment rather than relying on journey 3's — every
|
||||
// other independent journey in this file follows that same "book a fresh appointment first"
|
||||
// rule (see this file's header comment), and this one was the exception, which made it fail
|
||||
// in confusing ways whenever it ran outside the full serial file (e.g. `-g` filtering past
|
||||
// journey 3). See NotificationService/booking-notifications.ts, notifyBookingCreated, which
|
||||
// queues STAFF_NEW_APPOINTMENT for the assigned barber on every booking.
|
||||
await signIn(page, SEEDED.owner.email, "password123");
|
||||
await page.goto("/staff");
|
||||
|
||||
await page.goto("/staff/book?q=Jordan");
|
||||
await page.getByRole("button", { name: /Jordan Blake/ }).click();
|
||||
await completeStaffBookingFlow(page, {
|
||||
serviceName: SEEDED.services.haircut,
|
||||
staffName: SEEDED.owner.name,
|
||||
});
|
||||
|
||||
await page.goto("/staff");
|
||||
const bell = page.getByRole("link", { name: /Notifications, \d+ unread/ });
|
||||
await expect(bell).toBeVisible();
|
||||
await bell.click();
|
||||
|
||||
Reference in new issue
Block a user