Flutter-Tests: ApiClient, Offline-Queue, Login-/Objektliste-Widgets
ApiClient nimmt jetzt einen injizierbaren http.Client entgegen (Testbarkeit, kein Verhaltensunterschied im Betrieb). Tests mocken ihn mit mocktail statt echter Netzwerkaufrufe. offline_queue_test.dart nutzt sqflite_common_ffi (reines Dart) für die Queue-Logik ohne Gerät/Emulator: Erfolg entfernt Eintrag, Netzwerkfehler bleibt "wartet", 4xx setzt "fehler" ohne Auto-Retry. Dazu Widget-Tests für Login-Flow und Objektliste-Suchfilter. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
+11
-3
@@ -54,7 +54,15 @@ Reconnect (`connectivity_plus`) und periodisch alle 15s - gleiches Muster wie
|
||||
`KontrollScreen` gleicht per 2s-Reconciliation-Loop den Anzeigezustand mit der
|
||||
Queue ab, Abschluss ist gesperrt, solange Einträge offen sind.
|
||||
|
||||
## Bewusst noch nicht umgesetzt (Unterschied zur React-PWA)
|
||||
## Tests
|
||||
|
||||
- Keine Tests (Flutter-Widget-/Integrationstests) - Sprintplan sieht Testphase 4
|
||||
primär für die PWA vor (Playwright); Android-Testabdeckung ist noch offen.
|
||||
```bash
|
||||
flutter test
|
||||
```
|
||||
|
||||
`http.Client` ist per Konstruktor injizierbar (`ApiClient(httpClient: ...)`), Tests
|
||||
mocken ihn mit `mocktail` statt echten Netzwerkaufrufen - kein Server/Emulator nötig.
|
||||
`test/offline_queue_test.dart` nutzt `sqflite_common_ffi` (reines Dart, keine
|
||||
Plattform-Channels), um die sqflite-Queue ohne Gerät/Emulator zu testen. Deckt ab:
|
||||
`ApiClient` (Login, Token-Header, Fehlerfälle), Offline-Queue (Erfolg/Netzwerkfehler/
|
||||
4xx-kein-Retry), Login-Screen und Objektliste-Suche als Widget-Tests.
|
||||
|
||||
Reference in New Issue
Block a user