import { describe, it, expect } from "vitest"; import { readFileSync } from "node:fs"; import { resolve } from "node:path"; describe("Home Page", () => { const pagePath = resolve(__dirname, "../../pages/index.vue"); const content = readFileSync(pagePath, "utf-8"); it("should render hero with headline 'Veranstaltungstechnik'", () => { expect(content).toContain("Veranstaltungstechnik"); expect(content).toContain('data-testid="hero-headline"'); }); it("should have CTA button linking to /mietkatalog", () => { expect(content).toContain('to="/mietkatalog"'); expect(content).toContain("Mietkatalog"); }); it("should have CTA button linking to /kontakt", () => { expect(content).toContain('to="/kontakt"'); expect(content).toContain("Beratung anfragen"); }); it("should display all 8 services", () => { expect(content).toContain("Vermietung"); expect(content).toContain("Verkauf"); expect(content).toContain("Personal"); expect(content).toContain("Transport"); expect(content).toContain("Lagerung"); expect(content).toContain("Werkstatt"); expect(content).toContain("Installation"); expect(content).toContain("Booking"); }); it("should have services section with data-testid", () => { expect(content).toContain('data-testid="services-section"'); }); it("should have speaker grid with 6 equipment types", () => { expect(content).toContain('data-testid="speaker-grid"'); expect(content).toContain("Lautsprecher"); expect(content).toContain("Mischpulte"); expect(content).toContain("Lichtanlagen"); expect(content).toContain("Rigging"); expect(content).toContain("Traversen"); expect(content).toContain("Komplett-Setups"); }); it("should have about section with stats", () => { expect(content).toContain('data-testid="about-section"'); expect(content).toContain('data-testid="stat-years"'); expect(content).toContain("20+"); expect(content).toContain('data-testid="stat-devices"'); expect(content).toContain("1000+"); expect(content).toContain('data-testid="stat-events"'); expect(content).toContain("500+"); }); it("should have mietkatalog CTA section", () => { expect(content).toContain('data-testid="mietkatalog-cta"'); expect(content).toContain('data-testid="cta-mietkatalog-link"'); }); it("should use TypeScript with lang=ts", () => { expect(content).toContain('