Unterseiten: gemeinsamer Footer über ein Layout
/kontakt, /ueber-uns, /agb, /impressum, /wartungs-abo, /hosting-abo und die 404-Seite bekommen den vorhandenen Footer (Impressum, Datenschutz, Kündigen/Widerrufen) über ein gemeinsames Layout in src/routes.tsx. Die Seiten selbst bleiben unverändert, damit die bestehenden Abo- und AGB-Tests nicht auf doppelte Footer-Links stoßen. Die Startseite behält ihren eigenen Footer, /datenschutz leitet weiter und bleibt ohne. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c75befe8e5
commit
900d3a9ab5
2 files changed
+44
-9
No files matched your search
@@ -259,3 +259,26 @@ describe("B5 Erfolgsversprechen entschärft", () => {
|
||||
expect(screen.queryByText("Langfristige Partnerschaft")).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe("C1 Footer auf allen Unterseiten", () => {
|
||||
const unterseiten = ["/kontakt", "/ueber-uns", "/agb", "/impressum", "/wartungs-abo", "/hosting-abo", "/gibt-es-nicht"];
|
||||
|
||||
it.each(unterseiten)("%s zeigt genau einen Footer mit Impressum und Datenschutz", (pfad) => {
|
||||
seite(pfad);
|
||||
const footer = screen.getByRole("contentinfo");
|
||||
expect(within(footer).getByRole("link", { name: "Impressum" })).toHaveAttribute("href", "/impressum");
|
||||
expect(within(footer).getByRole("link", { name: "Datenschutz" })).toHaveAttribute("href", DATENSCHUTZ);
|
||||
});
|
||||
|
||||
it("die Startseite hat weiterhin genau einen Footer", () => {
|
||||
seite("/");
|
||||
expect(screen.getAllByRole("contentinfo")).toHaveLength(1);
|
||||
});
|
||||
|
||||
it("der Footer steht hinter dem Seiteninhalt", () => {
|
||||
seite("/impressum");
|
||||
const inhalt = screen.getByRole("main");
|
||||
const footer = screen.getByRole("contentinfo");
|
||||
expect(inhalt.compareDocumentPosition(footer) & Node.DOCUMENT_POSITION_FOLLOWING).toBeTruthy();
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user