test: Vertragsnetz für die Storage-Fassade settings_prefs.dart
8 Tests mit dem offiziellen SharedPreferences-In-Memory-Mock: BoolPref, StringSetPref, Theme-Prefs (Roundtrip/Teil-Save), Server-Banner inkl. korruptes-JSON-Fehlerpfad. Sichert die Schnittstelle ab, die beim M2-Storage-Umbau zur Pflicht-Fassade wird. Alle 22 Tests grün auf dem Pi. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+15
-4
@@ -34,16 +34,27 @@ Schritt (und beim Abbruch mitten im Schritt den Zwischenstand). Format:
|
||||
500-Zeilen-Kappung (älteste Einträge fliegen raus, neueste überleben).
|
||||
Dafür `path_provider_platform_interface ^2.1.2` als dev_dependency ergänzt –
|
||||
offizieller Mock-Weg, war schon transitiv im Lockfile, kein neues externes
|
||||
Paket. `flutter test`: **alle 14 Tests grün auf dem Pi**, `flutter analyze`
|
||||
Paket. `flutter test`: alle 14 Tests grün, `flutter analyze`
|
||||
unverändert (1 bekannter Hinweis `chat_provider.dart:42`).
|
||||
- **`test/settings_prefs_test.dart` (8 Tests):** `core/settings_prefs.dart`
|
||||
ist die Storage-Fassade, die laut `docs/M2_MODULE_SCHNITT.md` zur
|
||||
Pflicht-Schnittstelle ausgebaut werden soll – dieses Vertragsnetz muss beim
|
||||
M2-Umbau stehen bleiben. Getestet mit dem offiziellen In-Memory-Mock
|
||||
(`SharedPreferences.setMockInitialValues`, kein neues Paket): `BoolPref`
|
||||
(persistierter Wert überstimmt Default, set/toggle persistieren),
|
||||
`StringSetPref` (Laden/add/remove, No-Ops bei Duplikat/Fehlendem),
|
||||
Theme-Prefs (Defaults, Roundtrip, Teil-Save lässt Rest unangetastet),
|
||||
Server-Banner (Roundtrip, Entfernen per null/leer, **korruptes JSON liefert
|
||||
leere Map statt Crash** – echter Fehlerpfad). `flutter test`: **alle
|
||||
22 Tests grün auf dem Pi.**
|
||||
|
||||
**Offen/Nächster Schritt:** Unverändert blockiert: Alle offenen ROADMAP-Punkte
|
||||
(M0 SQLCipher, M1 Härtetest, M2 Call-Schicht/State-Management) brauchen PC/GUI
|
||||
oder Bernds Antworten (Call-Pilot, SQLCipher-Priorität) – siehe
|
||||
`docs/PC_TESTPLAN.md` und die Fragen an Bernd weiter unten. Weitere sichere
|
||||
Pi-Testkandidaten sind erschöpft (Rest ist bibliotheksprivat oder braucht
|
||||
Widget-Tests mit gemocktem Matrix-Client – lohnt erst nach dem M2-Modulschnitt
|
||||
mit echten öffentlichen Schnittstellen).
|
||||
Pi-Testkandidaten sind jetzt wirklich erschöpft (Rest ist bibliotheksprivat
|
||||
oder braucht Widget-Tests mit gemocktem Matrix-Client – lohnt erst nach dem
|
||||
M2-Modulschnitt mit echten öffentlichen Schnittstellen).
|
||||
|
||||
**Stolperfallen:** `AuthLog` cached sein File-Handle statisch – der Test für
|
||||
„Plattform kaputt" muss deshalb VOR den Tests mit funktionierender Plattform
|
||||
|
||||
Reference in New Issue
Block a user