import { describe, it, expect } from "vitest"; import { readFileSync } from "node:fs"; import { resolve } from "node:path"; describe("Home Page (prototype port)", () => { const pagePath = resolve(__dirname, "../../pages/index.vue"); const content = readFileSync(pagePath, "utf-8"); it("should have hms-hero section", () => { expect(content).toContain("hms-hero"); expect(content).toContain("hms-hero-bg"); expect(content).toContain("hms-hero-overlay"); }); it("should have hero title with Veranstaltungstechnik text", () => { expect(content).toContain("Veranstaltungstechnik"); expect(content).toContain("Professionelle Technik"); }); it("should have Mietkatalog button", () => { expect(content).toContain("Mietkatalog"); expect(content).toContain("hms-btn-primary"); }); it("should have Beratung anfragen button", () => { expect(content).toContain("Beratung anfragen"); expect(content).toContain("hms-btn-secondary"); }); 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 use ServiceCard component", () => { expect(content).toContain("ServiceCard"); }); it("should have hms-speaker-grid with 6 speakers", () => { expect(content).toContain("hms-speaker-grid"); expect(content).toContain("hms-speaker-item"); expect(content).toContain("SpeakerIcon"); expect(content).toContain("L-Acoustics K2"); expect(content).toContain("L-Acoustics KS28"); expect(content).toContain("Robe Pointe"); }); it("should have about section with stats", () => { expect(content).toContain("20+"); expect(content).toContain("1.000+"); expect(content).toContain("Jahre Erfahrung"); expect(content).toContain("Geräte im Lager"); }); it("should have CTA section with Katalog durchsuchen", () => { expect(content).toContain("Katalog durchsuchen"); expect(content).toContain("Online-Mietkatalog"); }); it("should use TypeScript with lang=ts", () => { expect(content).toContain('