timetracker/.tasks/done/TT-017-integration-test.md
2026-08-03 21:51:48 +02:00

48 lines
1.7 KiB
Markdown

# TT-017 — Integration-Test Makefile + Go-Binary
**Type:** Task
**Priority:** Medium
**Labels:** testing, tooling
**Depends on:** TT-014, TT-015, TT-016
**Blocks:**
---
## Summary
Verifiziere alle Makefile-Targets und das Go-Binary manuell durch atomare
Smoke-Tests. Kein automatisiertes Test-Framework — Ausgabe wird visuell geprüft.
## Test-Schritte
### Go-Binary
- [ ] `cd scripts/serve && go build -o serve .` → kein Fehler
- [ ] `./scripts/serve/serve --help` → Flags werden angezeigt
- [ ] `./scripts/serve/serve --dir build/apk --port 9999` ohne APK → Fehlermeldung klar
### Retention-Script
- [ ] `bash scripts/apk_retention.sh --dir /tmp/test_apk` mit simulierten APK-Dummy-Dateien (touch)
- [ ] 20 APKs 0.1.x → nach Lauf: 15 verbleiben
- [ ] 5 APKs 0.1.x + 3 APKs 0.2.x → 0.1.x: 1 verbleibt (Release-Marker), 0.2.x: alle 3
### Makefile Dev-Targets
- [ ] `make help` → Ausgabe ohne Fehler
- [ ] `make install``flutter pub get` erfolgreich
- [ ] `make test` → 37 Tests grün
- [ ] `make analyze` → No issues
- [ ] `make format` → kein Fehler
- [ ] `make clean` → build/ und coverage/ entfernt
### Makefile Build-Targets
- [ ] `make build_serve` → Binary erstellt
- [ ] `make build_web``build/web` vorhanden
- [ ] `make build_linux``build/linux/x64/release/bundle/timetrack` vorhanden
- [ ] `make db_schema` → Schema-Version + Tabellen sichtbar
### serve_apk Auto-Build
- [ ] Binary löschen, dann `make serve_apk` → Binary wird transparent neu gebaut
- [ ] Server startet, QR-Code erscheint im Terminal
## Acceptance Criteria
- [ ] Alle Smoke-Tests grün
- [ ] Kein Target bricht mit unerwartetem Fehler ab
- [ ] `make help` enthält alle implementierten Targets