diff --git a/felsokning/app/src/components/PaymentTestModeBanner.tsx b/felsokning/app/src/components/PaymentTestModeBanner.tsx index 81ce52d..1859502 100644 --- a/felsokning/app/src/components/PaymentTestModeBanner.tsx +++ b/felsokning/app/src/components/PaymentTestModeBanner.tsx @@ -4,8 +4,10 @@ const clientToken = import.meta.env.VITE_PAYMENTS_CLIENT_TOKEN as string | undef export function PaymentTestModeBanner() { const { pathname } = useLocation(); - // Guidad Felsökning har inga betalningar — bannern gäller bara butiken. - if (pathname.startsWith("/felsokning")) { + // Bannern gäller butiken. ALVA och felsökningen har inga betalningar, + // och ett driftmeddelande från en annan produkt ovanför ALVA-huvudet + // säger till verkstaden att de tittar på något halvfärdigt. + if (["/felsokning", "/alva"].some((p) => pathname === p || pathname.startsWith(`${p}/`))) { return null; } if (!clientToken) { diff --git a/felsokning/app/src/felsokning/__tests__/alva-yta.test.ts b/felsokning/app/src/felsokning/__tests__/alva-yta.test.ts index 118689f..d11d63f 100644 --- a/felsokning/app/src/felsokning/__tests__/alva-yta.test.ts +++ b/felsokning/app/src/felsokning/__tests__/alva-yta.test.ts @@ -98,3 +98,24 @@ describe("ALVA-ytan följer designsystemet", () => { expect(udda).toEqual([]); }); }); + +// ---- Andra produkters meddelanden får inte synas på ALVA-ytan ---------- +// +// Bakgrund: butikens banner "Skarpa betalningar är inte konfigurerade" +// renderades ovanför ALVA-huvudet, eftersom den satt i App och bara +// undantog /felsokning. En verkstad som ser ett driftmeddelande från en +// annan produkt läser det som att den tittar på något halvfärdigt — och +// det är ett trovärdighetsproblem, inte ett kosmetiskt. +describe("ALVA-ytan är fri från andra produkters meddelanden", () => { + const banner = readFileSync("src/components/PaymentTestModeBanner.tsx", "utf8"); + + it("betalningsbannern undantar både /felsokning och /alva", () => { + expect(banner).toContain('"/felsokning"'); + expect(banner).toContain('"/alva"'); + }); + + it("undantaget matchar underliggande sökvägar, inte bara prefix på ordnivå", () => { + // "/alvarlig" ska inte räknas som ALVA. Regeln jämför hela segment. + expect(banner).toMatch(/pathname === p \|\| pathname\.startsWith\(`\$\{p\}\/`\)/); + }); +});