Inloggningen heter Login, inte Customer login

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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
This commit is contained in:
Claude
2026-08-06 13:37:17 +00:00
parent b147694e31
commit 0cc4f1578c
2 changed files with 30 additions and 2 deletions
@@ -399,3 +399,31 @@ describe("portalen är stängd, eller uttryckligen en demonstration", () => {
expect(ram).toMatch(/\{konto && \(/); 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[^>]*>([^<]+)<\/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([]);
});
});
+2 -2
View File
@@ -56,7 +56,7 @@ export default function Start() {
<Knapp>Request account</Knapp> <Knapp>Request account</Knapp>
</Link> </Link>
<Link to="/alva/logga-in"> <Link to="/alva/logga-in">
<Knapp variant="sekundar">Customer login</Knapp> <Knapp variant="sekundar">Login</Knapp>
</Link> </Link>
</div> </div>
</div> </div>
@@ -283,7 +283,7 @@ export default function Start() {
<Knapp>Request account</Knapp> <Knapp>Request account</Knapp>
</Link> </Link>
<Link to="/alva/logga-in"> <Link to="/alva/logga-in">
<Knapp variant="sekundar">Customer login</Knapp> <Knapp variant="sekundar">Login</Knapp>
</Link> </Link>
</div> </div>
</div> </div>