Trey T
6c3c9d3e0c
Coverage: iOS ViewModel DI seam + populated-state snapshots
6 user-facing ViewModels now accept optional `dataManager: DataManagerObservable = .shared`
init param — production call-sites unchanged; tests inject fixture-backed
observables. Refactored: ResidenceViewModel, TaskViewModel, ContractorViewModel,
DocumentViewModel, ProfileViewModel, LoginViewModel.
DataManagerObservable gains test-only init(observeSharedDataManager:) + convenience
init(kotlin: IDataManager).
SnapshotGalleryTests.setUp() resets .shared to FixtureDataManager.empty() per test;
populated tests call seedPopulated() to copy every StateFlow from
FixtureDataManager.populated() onto .shared synchronously. 15 populated surfaces ×
2 modes = 30 new PNGs.
iOS goldens: 58 → 88. 44 SnapshotGalleryTests green.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 01:45:04 -05:00
..
2026-04-19 01:45:04 -05:00
2026-03-07 06:33:57 -06:00
2026-04-14 15:25:01 -05:00
2026-03-07 06:33:57 -06:00
2026-03-07 06:33:57 -06:00
2026-03-07 06:33:57 -06:00
2026-03-26 14:37:04 -05:00
2026-03-07 06:58:56 -06:00
2026-03-07 06:33:57 -06:00
2026-04-19 01:45:04 -05:00
2026-03-07 06:33:57 -06:00
2026-03-23 15:05:37 -05:00
2026-03-07 06:33:57 -06:00
2026-03-07 11:36:24 -06:00
2026-03-07 06:33:57 -06:00
2026-03-26 14:05:33 -05:00
2026-03-07 06:33:57 -06:00