From 7d6a13f4f86d10bbe8d5018cfbc62d48622c1d80 Mon Sep 17 00:00:00 2001 From: Conduction Release Bot Date: Wed, 2 Sep 2026 09:28:50 +0200 Subject: [PATCH] fix(e2e): Projecten is offered again, so invert the test that said otherwise MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #1728 restored the Projecten menu entry and gave the reason: the removal rested on a claim that dossiq's WorkflowBoard replaces it, and it does not. `project` is a BILLING entity here, carrying billable, budgetHours, budgetAmount, hourlyRate and ledgerSync*, with sixteen files hanging off it. That PR touched only src/menu-layout.json, so the e2e assertion encoding the retracted claim stayed behind and has failed on development ever since: ✘ Projecten is no longer offered in the navigation 1 failed, 331 passed INVERTED, not deleted. The test asserted a LIMITATION that turned out to be wrong, and the behaviour now wanted is its opposite. Deleting it would leave nothing watching an entry that was already removed once by mistake, so it now asserts the entry IS present and carries the reason. `the projects page stays reachable by direct link` is untouched: retiring a menu entry never retired the route, and restoring the entry does not change that. --- .../spec-coverage/ia-tickets-and-projects.spec.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tests/e2e/spec-coverage/ia-tickets-and-projects.spec.ts b/tests/e2e/spec-coverage/ia-tickets-and-projects.spec.ts index 9e009e2e8..ba0d624f7 100644 --- a/tests/e2e/spec-coverage/ia-tickets-and-projects.spec.ts +++ b/tests/e2e/spec-coverage/ia-tickets-and-projects.spec.ts @@ -57,14 +57,22 @@ test('the tickets entry reads "All tickets"', async ({ page }) => { }) // @e2e openspec/specs/pipelinq-navigation/spec.md -test('Projecten is no longer offered in the navigation', async ({ page }) => { +test('Projecten is offered in the navigation', async ({ page }) => { + // INVERTED, not deleted. This asserted the entry was GONE, on the claim + // that dossiq's WorkflowBoard replaced it. #1728 retracted that claim and + // restored the entry: `project` is a BILLING entity here, carrying + // billable, budgetHours, budgetAmount, hourlyRate and ledgerSync*, with + // sixteen files hanging off it. A planning board does not replace it. + // + // The assertion flips rather than disappearing: deleting it would leave + // nothing watching an entry that was already removed once by mistake. await openApp(page) const nav = page.locator('#app-navigation-vue, .app-navigation').first() await expect( nav.getByText(/^\s*(Projecten|Projects)\s*$/i), - 'the retired entry must be gone from the menu', - ).toHaveCount(0) + 'the billing surface must stay in the menu', + ).toHaveCount(1, { timeout: 15000 }) }) // @e2e openspec/specs/pipelinq-navigation/spec.md