From 0cc4f1578cb097ea269eeed05e62c84ddb4b71d8 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 6 Aug 2026 13:37:17 +0000 Subject: [PATCH] Inloggningen heter Login, inte Customer login MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Startsidans knapp hette "Customer login" medan navigationen kallade samma sida "Login". Två namn på samma destination är förvirrande i sig, men det här var värre än så: "customer" är i det här systemet FORDONETS ÄGARE — den som får delningslänken och godkänner en åtgärd. Verkstaden som loggar in är inte den. Knappen lovade alltså en ingång för fel person, med produktens eget ord för någon annan. Två test låser det: varje länk till inloggningen bär navigationens namn på destinationen, och ingen ingång kallar verkstaden för kund. Mutationstestade — bägge faller när "Customer login" läggs tillbaka. Övriga "customer" på ytan står kvar. De handlar om fordonets ägare, och där är ordet rätt. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt --- .../src/felsokning/__tests__/alva-yta.test.ts | 28 +++++++++++++++++++ felsokning/app/src/pages/alva/Start.tsx | 4 +-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/felsokning/app/src/felsokning/__tests__/alva-yta.test.ts b/felsokning/app/src/felsokning/__tests__/alva-yta.test.ts index 51fd78b..c65dacc 100644 --- a/felsokning/app/src/felsokning/__tests__/alva-yta.test.ts +++ b/felsokning/app/src/felsokning/__tests__/alva-yta.test.ts @@ -399,3 +399,31 @@ describe("portalen är stängd, eller uttryckligen en demonstration", () => { expect(ram).toMatch(/\{konto && \(/); }); }); + +// ---- En destination, ett namn ------------------------------------------ +// +// Startsidans knapp hette "Customer login" medan navigationen kallade +// samma sida "Login". Två namn på samma destination är förvirrande i sig, +// men det här var värre än så: "customer" är i det här systemet FORDONETS +// ÄGARE — den som får delningslänken och godkänner en åtgärd. Verkstaden +// som loggar in är inte den. Knappen lovade alltså en ingång för fel +// person, med produktens eget ord för någon annan. +describe("inloggningen heter samma sak överallt", () => { + const ram = readFileSync("src/pages/alva/Ram.tsx", "utf8"); + const start = readFileSync("src/pages/alva/Start.tsx", "utf8"); + + it("navigationens namn på inloggningen är det som används", () => { + const namn = ram.match(/\{ till: "\/alva\/logga-in", text: "([^"]+)" \}/)?.[1]; + expect(namn).toBeTruthy(); + // Varje länk till inloggningen på startsidan bär samma text. + const knappar = [...start.matchAll(/to="\/alva\/logga-in">\s*]*>([^<]+)<\/Knapp>/g)]; + expect(knappar.length).toBeGreaterThan(0); + for (const [, text] of knappar) expect(text.trim()).toBe(namn); + }); + + it("ingen ingång kallar verkstaden för kund", () => { + // "customer" får förekomma — men om den vem som helst kan logga in. + const rader = start.split("\n").filter((r) => /customer/i.test(r) && /logga-in|login/i.test(r)); + expect(rader).toEqual([]); + }); +}); diff --git a/felsokning/app/src/pages/alva/Start.tsx b/felsokning/app/src/pages/alva/Start.tsx index 48bd607..783d3a3 100644 --- a/felsokning/app/src/pages/alva/Start.tsx +++ b/felsokning/app/src/pages/alva/Start.tsx @@ -56,7 +56,7 @@ export default function Start() { Request account - Customer login + Login @@ -283,7 +283,7 @@ export default function Start() { Request account - Customer login + Login