Skip to content

Commit 00beec0

Browse files
Conduction Release Botclaude
andcommitted
fix(e2e): the report and store pages are not the workspace
Two of the 62 were not the modal mask. They are my own assertions, and they were stale the moment routing landed. `the dashboards report renders real numbers` and `Store opens the hosted store surface` both asserted `.workspace-shell` on their page. That passed before `launchpad-manifest-tier-3` for the wrong reason: every URL fell back to the dashboard, so the workspace WAS on every page. It routes now, and those pages are the report and the store — the workspace being absent is the change working. They assert the shared chrome instead, which is what those pages do have. The rest of that spec is the direct evidence tier 3 works: `each declared chrome destination opens`, `Reports lists the one report this app can honestly offer`, `the Flows page opens` and `the admin manifest pages redirect` all PASSED on the same run — every route that used to fall through to /dashboard. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 5ce2266 commit 00beec0

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

tests/e2e/app-chrome.spec.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,16 @@ test.describe('app chrome (ADR-114)', () => {
189189
test('the dashboards report renders real numbers, not empty cards', async ({
190190
page,
191191
}) => {
192-
await page.goto(`${APP_BASE}/reports/dashboards`)
193-
await expect(page.locator('.workspace-shell')).toBeVisible({
192+
await page.goto(`${APP_BASE}/reports/dashboards`, {
193+
waitUntil: 'domcontentloaded',
194+
})
195+
196+
// 🔴 THE SHARED CHROME, NOT `.workspace-shell`. This asserted the
197+
// workspace here, and it passed for the wrong reason: before
198+
// `launchpad-manifest-tier-3` every URL fell back to the dashboard, so
199+
// the workspace was on every page. It routes now, and this page is the
200+
// report — the workspace being ABSENT is the change working.
201+
await expect(page.locator('[data-testid="cn-nav"]')).toBeVisible({
194202
timeout: 30_000,
195203
})
196204
await expect(
@@ -211,11 +219,14 @@ test.describe('app chrome (ADR-114)', () => {
211219
timeout: 15_000,
212220
})
213221

222+
// Same as the report above: the store page is not the workspace, and
223+
// asserting `.workspace-shell` here passed only while nothing routed.
224+
//
214225
// The page is declarative: openregister hosts the store plane, so this
215226
// app ships NO store controller (ADR-080, ADR-114 Decision 4). With no
216227
// registry configured it renders the app's own items and makes NO
217228
// network call, so this must pass on a plain instance.
218-
await expect(page.locator('.workspace-shell')).toBeVisible({
229+
await expect(page.locator('[data-testid="cn-nav"]')).toBeVisible({
219230
timeout: 30_000,
220231
})
221232
})

0 commit comments

Comments
 (0)