Files
hms-licht-ton/frontend/test_report.md
T

101 lines
3.7 KiB
Markdown
Raw Normal View History

# Test Report T02: Static Pages
## Build Verification
**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 |
## E2E Tests (Playwright)
**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)