Policies section (business-details-form.tsx) Late Arrival Policy, Booking Terms and Privacy Policy URL are gone. The section now has Cancellation Policy plus the Terms & Privacy name and email dropdowns. Their database columns stay, so nothing is lost. Saving no longer touches them. Email and push only One switch, IN_APP_NOTIFICATIONS_VISIBLE in in-app.ts, is set to false and controls everything below. Bell icon: gone for customers, staff and owners, including the unread badge. Notification pages: /notifications, /staff/notifications and /owner/notifications now return 404. Settings: Settings → Notifications shows only Email and Push toggles. Testing: I checked all of this in a local test app as the owner.
This commit is contained in:
19 files changed
+263
-40
No files matched your search
@@ -1,4 +1,5 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { IN_APP_NOTIFICATIONS_VISIBLE } from "../src/services/notifications/in-app";
|
||||
import { SEEDED, completeBookingFlow, completeRescheduleFlow, findAppointmentCard, signIn, uniqueEmail } from "./helpers";
|
||||
|
||||
/**
|
||||
@@ -166,6 +167,8 @@ test.describe("customer booking journeys", () => {
|
||||
});
|
||||
|
||||
test("7. booking confirmation creates an in-app notification the customer can read and mark read", async ({ page }) => {
|
||||
test.skip(!IN_APP_NOTIFICATIONS_VISIBLE, "In-app notifications are hidden — see src/features/notifications/in-app.ts");
|
||||
|
||||
await signIn(page, SEEDED.registeredCustomer.email);
|
||||
|
||||
await page.goto("/book");
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { createPool } from "mariadb";
|
||||
import { buildMysqlPoolConfig } from "../src/lib/db/mysql-pool-config";
|
||||
import { IN_APP_NOTIFICATIONS_VISIBLE } from "../src/services/notifications/in-app";
|
||||
import { SEEDED, completeStaffBookingFlow, signIn } from "./helpers";
|
||||
|
||||
/**
|
||||
@@ -240,6 +241,8 @@ test.describe.serial("barber operations journeys", () => {
|
||||
});
|
||||
|
||||
test("10. barber receives a new-booking notification", async ({ page }) => {
|
||||
test.skip(!IN_APP_NOTIFICATIONS_VISIBLE, "In-app notifications are hidden — see src/features/notifications/in-app.ts");
|
||||
|
||||
// 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
|
||||
|
||||
Reference in new issue
Block a user