test(02-12): retire sharing inventory anchors

- remove obsolete inventory-only journey declarations\n- select persistent shared-record journeys by Playwright project config
This commit is contained in:
Marc-André Bombeck committed 2026-08-06 05:16:32 +02:00
1 parent 9bb1e5b2ea
commit b231a7892c
5 files changed
+8 -88

No files matched your search

@@ -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,
}) => {
@@ -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("/");
+8
View File
@@ -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
@@ -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/);
}
});
});
-42
View File
@@ -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;