From b231a7892c1f2b8337d1c6126cec005e6f257c4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Thu, 6 Aug 2026 05:16:32 +0200 Subject: [PATCH] test(02-12): retire sharing inventory anchors - remove obsolete inventory-only journey declarations\n- select persistent shared-record journeys by Playwright project config --- ...v137-sharing-managed-profiles-a11y.spec.ts | 7 ---- e2e/v137-sharing-managed-profiles.spec.ts | 7 ---- playwright.config.ts | 8 ++++ src/__tests__/v137-wave-zero-fixtures.test.ts | 32 -------------- tests/fixtures/v137/e2e-journeys.ts | 42 ------------------- 5 files changed, 8 insertions(+), 88 deletions(-) delete mode 100644 tests/fixtures/v137/e2e-journeys.ts diff --git a/e2e/v137-sharing-managed-profiles-a11y.spec.ts b/e2e/v137-sharing-managed-profiles-a11y.spec.ts index 96812d259..0037bc9d5 100644 --- a/e2e/v137-sharing-managed-profiles-a11y.spec.ts +++ b/e2e/v137-sharing-managed-profiles-a11y.spec.ts @@ -34,13 +34,6 @@ test.describe("shared record accessibility states", () => { test.describe.configure({ mode: "serial" }); test.use({ storageState: SCOPE_A11Y_STORAGE_STATE_PATH }); - test.beforeEach(({}, testInfo) => { - test.skip( - testInfo.project.name !== "chromium-desktop", - "isolated shared-record accessibility session", - ); - }); - test("success and empty shared profile states have no WCAG violations", async ({ page, }) => { diff --git a/e2e/v137-sharing-managed-profiles.spec.ts b/e2e/v137-sharing-managed-profiles.spec.ts index db8f38a57..b83e15631 100644 --- a/e2e/v137-sharing-managed-profiles.spec.ts +++ b/e2e/v137-sharing-managed-profiles.spec.ts @@ -29,13 +29,6 @@ test.describe("scoped sharing browser journeys", () => { test.describe.configure({ mode: "serial" }); test.use({ storageState: SCOPE_DELEGATE_STORAGE_STATE_PATH }); - test.beforeEach(({}, testInfo) => { - test.skip( - testInfo.project.name !== "chromium-desktop", - "scoped sharing seed has one session and runs once", - ); - }); - for (const record of E2E_SCOPE_RECORDS) { test(`opens only the ${record.domain} record doorway`, async ({ page }) => { await page.goto("/"); diff --git a/playwright.config.ts b/playwright.config.ts index 3a79e9e88..bb986a4ca 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -83,6 +83,14 @@ export default defineConfig({ }, { name: "chromium-mobile", + // The scoped-sharing journeys each carry a persistent server-side + // session stamp. They use isolated desktop jars and are not responsive + // layout checks, so running a second project against the same stamps + // would test session interference rather than the record journeys. + testIgnore: [ + "v137-sharing-managed-profiles.spec.ts", + "v137-sharing-managed-profiles-a11y.spec.ts", + ], use: { // Pixel 5 — Chromium-based mobile profile so CI only needs // `playwright install chromium` instead of also pulling diff --git a/src/__tests__/v137-wave-zero-fixtures.test.ts b/src/__tests__/v137-wave-zero-fixtures.test.ts index 05d086678..6575f2228 100644 --- a/src/__tests__/v137-wave-zero-fixtures.test.ts +++ b/src/__tests__/v137-wave-zero-fixtures.test.ts @@ -1,6 +1,3 @@ -import { readFileSync } from "node:fs"; -import { join } from "node:path"; - import { describe, expect, it } from "vitest"; import { @@ -13,10 +10,6 @@ import { NOTIFICATION_CHANNELS, NOTIFICATION_DELIVERY_MATRIX, } from "../../tests/fixtures/v137/notification-matrix"; -import { - ACCESSIBILITY_STATES, - RELEASE_JOURNEYS, -} from "../../tests/fixtures/v137/e2e-journeys"; describe("sharing and handler inventories", () => { it("freezes the exact sharing-domain vocabulary", () => { @@ -104,28 +97,3 @@ describe("security principals and compatibility", () => { expect(LEGACY_ACCOUNT_PAYLOADS[3]?.legacyDecoder).toBe("deny"); }); }); - -describe("journey and accessibility inventory", () => { - it("names every release journey and accessibility state exactly once", () => { - expect(RELEASE_JOURNEYS).toHaveLength(8); - expect(ACCESSIBILITY_STATES).toHaveLength(5); - expect(new Set(RELEASE_JOURNEYS.map(({ name }) => name)).size).toBe( - RELEASE_JOURNEYS.length, - ); - expect(new Set(ACCESSIBILITY_STATES.map(({ name }) => name)).size).toBe( - ACCESSIBILITY_STATES.length, - ); - }); - - it("leaves the browser anchors discoverable without focused or skipped cases", () => { - const anchorFiles = [ - "v137-sharing-managed-profiles.spec.ts", - "v137-sharing-managed-profiles-a11y.spec.ts", - ]; - - for (const file of anchorFiles) { - const source = readFileSync(join(process.cwd(), "e2e", file), "utf8"); - expect(source).not.toMatch(/\b(?:test|describe)\.(?:only|skip)\b/); - } - }); -}); diff --git a/tests/fixtures/v137/e2e-journeys.ts b/tests/fixtures/v137/e2e-journeys.ts deleted file mode 100644 index 1cc016116..000000000 --- a/tests/fixtures/v137/e2e-journeys.ts +++ /dev/null @@ -1,42 +0,0 @@ -export const RELEASE_JOURNEYS = [ - { - name: "adult-full-read-scoped-read-write-and-manage", - contract: "inventory-only", - }, - { - name: "manage-mutation-activity-and-fenced-settings", - contract: "inventory-only", - }, - { - name: "managed-profile-two-guardian-lifecycle", - contract: "inventory-only", - }, - { - name: "two-guardian-two-record-notification-delivery", - contract: "inventory-only", - }, - { - name: "revoked-manage-idempotency-replay", - contract: "inventory-only", - }, - { - name: "delegate-provider-no-egress-owner-positive", - contract: "inventory-only", - }, - { - name: "durable-import-actor-attribution", - contract: "inventory-only", - }, - { - name: "legacy-client-compatibility", - contract: "inventory-only", - }, -] as const; - -export const ACCESSIBILITY_STATES = [ - { name: "success", contract: "inventory-only" }, - { name: "empty", contract: "inventory-only" }, - { name: "loading", contract: "inventory-only" }, - { name: "error", contract: "inventory-only" }, - { name: "refusal", contract: "inventory-only" }, -] as const;