Håll ALVA-ytan fri från butikens driftmeddelanden
Betalningsbannern satt i App och undantog bara /felsokning, så den renderades ovanför ALVA-huvudet: "Skarpa betalningar är inte konfigurerade." En verkstad som ser ett driftmeddelande från en annan produkt läser det som att den tittar på något halvfärdigt. Det är ett trovärdighetsproblem, inte ett kosmetiskt. Undantaget jämför nu hela sökvägssegment i stället för prefix, så att /alvarlig inte råkar räknas som ALVA. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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\}\/`\)/);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user