Hosting-Abo-Seite, Wartungs-Abo mit beliebig vielen Postfächern, AGB Modul C (Entwurf)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
1637a4a45d
commit
dc27e508dd
7 files changed
+306
-20
No files matched your search
@@ -0,0 +1,51 @@
|
||||
import { describe, it, expect } from "vitest";
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import { MemoryRouter } from "react-router-dom";
|
||||
import HostingAbo from "@/pages/HostingAbo";
|
||||
import WartungsAbo from "@/pages/WartungsAbo";
|
||||
import AGB from "@/pages/AGB";
|
||||
|
||||
// Texte, die auf einer Seite mehrfach vorkommen können, werden mit getAllByText
|
||||
// geprüft (getByText wirft bei mehreren Treffern); Abwesenheit mit queryAllByText.
|
||||
|
||||
describe("Abo-Seiten", () => {
|
||||
it("Hosting-Abo-Seite: Preis, Postfach, Links", () => {
|
||||
render(
|
||||
<MemoryRouter>
|
||||
<HostingAbo />
|
||||
</MemoryRouter>,
|
||||
);
|
||||
expect(screen.getAllByText(/15,00 € pro Monat/).length).toBeGreaterThan(0);
|
||||
expect(screen.getAllByText(/1 E-Mail-Postfach/).length).toBeGreaterThan(0);
|
||||
expect(screen.getByRole("link", { name: "Verträge hier kündigen" })).toHaveAttribute(
|
||||
"href",
|
||||
"https://project.webklar.com/kuendigen.html",
|
||||
);
|
||||
expect(screen.getByRole("link", { name: /Vertragsunterlagen als PDF/ })).toHaveAttribute(
|
||||
"href",
|
||||
"https://project.webklar.com/WEBklar-Abo-Vertragsunterlagen.pdf",
|
||||
);
|
||||
});
|
||||
|
||||
it("Wartungs-Abo-Seite: beliebig viele Postfächer, Zusatzspeicher", () => {
|
||||
render(
|
||||
<MemoryRouter>
|
||||
<WartungsAbo />
|
||||
</MemoryRouter>,
|
||||
);
|
||||
expect(screen.getAllByText(/beliebig viele Postfächer/).length).toBeGreaterThan(0);
|
||||
expect(screen.queryAllByText("1 E-Mail-Postfach").length).toBe(0);
|
||||
expect(screen.queryAllByText(/1 E-Mail-Postfach/).length).toBe(0);
|
||||
expect(screen.getAllByText(/1,00 €/).length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
it("AGB Modul C verweist auf das Hosting-Abo", () => {
|
||||
render(
|
||||
<MemoryRouter>
|
||||
<AGB />
|
||||
</MemoryRouter>,
|
||||
);
|
||||
expect(screen.getAllByText(/Hosting-Abo/).length).toBeGreaterThan(0);
|
||||
expect(screen.queryAllByText(/verlängern sich automatisch/).length).toBe(0);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user