diff --git a/src/pages/Contact.tsx b/src/pages/Contact.tsx index 37f60ca..b05a1a2 100644 --- a/src/pages/Contact.tsx +++ b/src/pages/Contact.tsx @@ -179,6 +179,17 @@ const Contact = () => { > )} + +
+ Wir verwenden Ihre Angaben nur, um Ihre Anfrage zu beantworten. Mehr dazu in unserer{" "} + + Datenschutzerklärung + + . +
{/* Contact Info */} diff --git a/src/test/sofort-paket.test.tsx b/src/test/sofort-paket.test.tsx index 09c6c22..08e71de 100644 --- a/src/test/sofort-paket.test.tsx +++ b/src/test/sofort-paket.test.tsx @@ -366,3 +366,25 @@ describe("C4 Schreibweise WEBklar", () => { }, ); }); + +describe("C2 Datenschutzhinweis am Kontaktformular", () => { + const HINWEIS = + "Wir verwenden Ihre Angaben nur, um Ihre Anfrage zu beantworten. Mehr dazu in unserer Datenschutzerklärung."; + + it("steht unter dem Senden-Button und verlinkt die Datenschutzerklärung", () => { + seite("/kontakt"); + const senden = screen.getByRole("button", { name: /Nachricht senden/ }); + const formular = senden.closest("form") as HTMLFormElement; + const hinweis = within(formular).getByText((_, el) => el?.tagName === "P" && el.textContent === HINWEIS); + expect(senden.compareDocumentPosition(hinweis) & Node.DOCUMENT_POSITION_FOLLOWING).toBeTruthy(); + expect(within(hinweis).getByRole("link", { name: "Datenschutzerklärung" })).toHaveAttribute("href", DATENSCHUTZ); + }); + + it("ist kleiner, gedämpfter Text mit gut lesbarem Link (Farb-Token siehe C5)", () => { + seite("/kontakt"); + const hinweis = screen.getByRole("link", { name: "Datenschutzerklärung" }).closest("p") as HTMLElement; + expect(hinweis).toHaveClass("text-muted-foreground"); + expect(hinweis.className).toMatch(/text-(xs|sm)/); + expect(screen.getByRole("link", { name: "Datenschutzerklärung" })).toHaveClass("text-foreground", "underline"); + }); +});