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

1.7 KiB

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 installflutter 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_webbuild/web vorhanden
  • make build_linuxbuild/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