2026-07-10 01:02:27 +02:00
|
|
|
|
# Test Report – T02: Static Pages
|
2026-07-09 01:17:35 +02:00
|
|
|
|
|
|
|
|
|
|
## Build Verification
|
2026-07-10 00:54:40 +02:00
|
|
|
|
|
2026-07-10 01:02:27 +02:00
|
|
|
|
**Command:** `npm run build`
|
|
|
|
|
|
**Result:** ✅ Build complete!
|
|
|
|
|
|
**Output:** Nitro build succeeded, all pages compiled successfully.
|
|
|
|
|
|
- index-BUIU2FQG.mjs (12.1 kB)
|
|
|
|
|
|
- referenzen-yQ6M2U3V.mjs (8.22 kB)
|
|
|
|
|
|
- kontakt-DZRjLPTh.mjs (9.47 kB)
|
|
|
|
|
|
- impressum-CwZu6BA4.mjs (3.82 kB)
|
|
|
|
|
|
- datenschutz (included in build)
|
|
|
|
|
|
- agb-vermietung (included in build)
|
|
|
|
|
|
- Lightbox component compiled
|
|
|
|
|
|
|
|
|
|
|
|
## Unit Tests
|
|
|
|
|
|
|
|
|
|
|
|
**Command:** `npx vitest run --reporter verbose`
|
|
|
|
|
|
**Result:** ✅ 148 tests passed (8 test files)
|
|
|
|
|
|
|
|
|
|
|
|
### New Test Files:
|
|
|
|
|
|
- `tests/unit/HomePage.test.ts` — 11 tests ✅
|
|
|
|
|
|
- Hero headline 'Veranstaltungstechnik'
|
|
|
|
|
|
- CTA links to /mietkatalog and /kontakt
|
|
|
|
|
|
- All 8 services present (Vermietung, Verkauf, Personal, Transport, Lagerung, Werkstatt, Installation, Booking)
|
|
|
|
|
|
- Speaker grid with 6 equipment types
|
|
|
|
|
|
- About section with stats (20+, 1000+, 500+)
|
|
|
|
|
|
- Mietkatalog CTA section
|
|
|
|
|
|
- TypeScript + Tailwind + useHead checks
|
|
|
|
|
|
|
|
|
|
|
|
- `tests/unit/ReferenzenPage.test.ts` — 14 tests ✅
|
|
|
|
|
|
- 9 gallery images (picsum.photos count = 9)
|
|
|
|
|
|
- 4 filter chips (Alle, Open-Air, Indoor, Rigging)
|
|
|
|
|
|
- Lightbox component integration
|
|
|
|
|
|
- Filter logic with computed filteredImages
|
|
|
|
|
|
- openLightbox function
|
|
|
|
|
|
- Lightbox component: close/prev/next buttons with data-testid
|
|
|
|
|
|
|
|
|
|
|
|
- `tests/unit/KontaktPage.test.ts` — 19 tests ✅
|
|
|
|
|
|
- Office address card (Grockelhofen 10, 89340 Leipheim)
|
|
|
|
|
|
- Warehouse address card (Ellzee)
|
|
|
|
|
|
- Opening hours card
|
|
|
|
|
|
- 2 contact persons (Markus Hammerschmidt, Thomas Mössle)
|
|
|
|
|
|
- Form fields: name*, email*, phone, message*, privacy checkbox*
|
|
|
|
|
|
- Email validation with regex
|
|
|
|
|
|
- Submit blocked when email empty
|
|
|
|
|
|
- Submit blocked when privacy unchecked
|
|
|
|
|
|
- POST to /api/contact
|
|
|
|
|
|
- Success and error states
|
|
|
|
|
|
|
|
|
|
|
|
## Smoke Test (curl)
|
|
|
|
|
|
|
|
|
|
|
|
**Server:** `npm run dev` on localhost:3000
|
|
|
|
|
|
|
|
|
|
|
|
| Page | URL | grep pattern | Result |
|
|
|
|
|
|
|------|-----|-------------|--------|
|
|
|
|
|
|
| Home | / | `Veranstaltungstechnik` | ✅ Found |
|
|
|
|
|
|
| Referenzen | /referenzen | `Referenzen` | ✅ Found |
|
|
|
|
|
|
| Kontakt | /kontakt | `Planen Sie` | ✅ Found |
|
|
|
|
|
|
| Impressum | /impressum | `Hammerschmidt` | ✅ Found |
|
|
|
|
|
|
| Datenschutz | /datenschutz | `Datenschutz` | ✅ Found |
|
|
|
|
|
|
| AGB Vermietung | /agb-vermietung | `AGB` | ✅ Found |
|
2026-07-10 00:54:40 +02:00
|
|
|
|
|
|
|
|
|
|
## E2E Tests (Playwright)
|
|
|
|
|
|
|
2026-07-10 01:02:27 +02:00
|
|
|
|
**Files created:**
|
|
|
|
|
|
- `tests/e2e/home.spec.ts` — 8 tests
|
|
|
|
|
|
- `tests/e2e/referenzen.spec.ts` — 8 tests
|
|
|
|
|
|
- `tests/e2e/kontakt.spec.ts` — 8 tests
|
|
|
|
|
|
- `tests/e2e/legal-pages.spec.ts` — 15 tests
|
|
|
|
|
|
|
|
|
|
|
|
**Status:** Written, not yet executed (requires running dev server with Playwright runner).
|
|
|
|
|
|
|
|
|
|
|
|
## Files Changed
|
|
|
|
|
|
|
|
|
|
|
|
### Pages (modified/created):
|
|
|
|
|
|
- `pages/index.vue` — Extended: hero with bg image, 6 equipment types, about/stats section, 8 services, CTA
|
|
|
|
|
|
- `pages/referenzen.vue` — Full gallery with 9 images, 4 filter chips, lightbox integration
|
|
|
|
|
|
- `pages/kontakt.vue` — Full contact page with addresses, persons, form with validation
|
|
|
|
|
|
- `pages/impressum.vue` — Full §5 TMG impressum content
|
|
|
|
|
|
- `pages/datenschutz.vue` — Full DSGVO datenschutzerklärung
|
|
|
|
|
|
- `pages/agb-vermietung.vue` — Full AGB with 8 sections
|
|
|
|
|
|
|
|
|
|
|
|
### Components (created):
|
|
|
|
|
|
- `components/Lightbox.vue` — Lightbox with prev/next/close, keyboard navigation, teleport
|
|
|
|
|
|
|
|
|
|
|
|
### Tests (created):
|
|
|
|
|
|
- `tests/unit/HomePage.test.ts` — 11 tests
|
|
|
|
|
|
- `tests/unit/ReferenzenPage.test.ts` — 14 tests (including Lightbox component tests)
|
|
|
|
|
|
- `tests/unit/KontaktPage.test.ts` — 19 tests
|
|
|
|
|
|
- `tests/e2e/home.spec.ts` — 8 tests
|
|
|
|
|
|
- `tests/e2e/referenzen.spec.ts` — 8 tests
|
|
|
|
|
|
- `tests/e2e/kontakt.spec.ts` — 8 tests
|
|
|
|
|
|
- `tests/e2e/legal-pages.spec.ts` — 15 tests
|
|
|
|
|
|
|
|
|
|
|
|
## Summary
|
|
|
|
|
|
- Build: ✅ PASS
|
|
|
|
|
|
- Unit Tests: ✅ 148/148 PASS
|
|
|
|
|
|
- Smoke Test: ✅ All 6 pages render correct content
|
|
|
|
|
|
- E2E Tests: Written (awaiting Playwright execution with running server)
|