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

101 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)