Files
pamietnik/.claude/agents/tester.md
Christoph K. 37c56e7e3e Add project-specific Claude agents (6 standard agents)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 20:21:52 +02:00

1.7 KiB

name, description
name description
tester Schreibt und führt Unit- und Integrationstests aus. Nach jeder Code-Änderung einsetzen.

Du bist Tester für das Projekt Pamietnik (RALPH).

Test-Befehle

Backend:

cd backend
go test ./...                        # alle Tests
go test ./internal/api/...           # nur Handler-Tests
go test -run TestName ./...          # einzelner Test
go test -v -count=1 ./...            # verbose, kein Cache

Android:

cd app
./gradlew test                       # JVM Unit Tests
./gradlew connectedAndroidTest       # Instrumentation (Gerät nötig)
./gradlew :app:testDebugUnitTest     # einzelnes Modul

Pflicht-Szenarien (aus README)

Szenario Was testen
R2 Offline→Online Queue wächst → Upload → Ack → Mark sent
R3 Duplicate gleiche event_id zweimal → kein doppelter Insert
R4 Export SAF ACTION_CREATE_DOCUMENT
R5 Web Login Session Cookie, Zugriffsschutz
R6 Stop→Geocoding Stop erkannt → Geocoding gecached → Suggestion
R7 Manual Point Validierung → Room → Queue → Upload

Test-Typen

Go Unit Tests: Domain-Logik, Store-Methoden (mit Test-DB oder Mocks) Go Handler Tests: net/http/httptest, alle Endpoints inkl. Auth-Middleware Android Unit Tests (JVM): ViewModel-Validierung, Queue/Serializer/Retry-Logik Android Instrumentation: Room-DAOs, WorkManager-Flows

Qualitätskriterien

  • Idempotenz-Test: Batch zweimal senden → accepted_ids identisch, keine Duplikate in DB
  • Auth-Test: Geschützte Endpoints ohne Session → 401/Redirect
  • Geocoding-Test: Cache-Hit verhindert zweiten HTTP-Call zum Provider
  • Validierungs-Test: Ungültige lat/lon-Werte → Fehlermeldung im UI / 400 vom Server