Migrate sync queue persistence to store adapters

This commit is contained in:
Rijad Zuzo
2026-02-15 19:38:46 +01:00
parent 1502360051
commit add0105e6b
13 changed files with 293 additions and 18 deletions
@@ -1,16 +1,16 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:relationship_saver/features/sync/storage/sync_state_store_in_memory.dart';
import 'package:relationship_saver/features/sync/storage/sync_state_store_provider.dart';
import 'package:relationship_saver/features/sync/sync_queue_repository.dart';
import 'package:relationship_saver/integrations/backend/models/backend_models.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
setUp(() {
SharedPreferences.setMockInitialValues(<String, Object>{});
});
test('enqueue persists and can be reloaded', () async {
final ProviderContainer container = ProviderContainer();
final InMemorySyncStateStore store = InMemorySyncStateStore();
final ProviderContainer container = ProviderContainer(
overrides: [syncStateStoreProvider.overrideWithValue(store)],
);
await container
.read(syncQueueRepositoryProvider.notifier)
@@ -20,7 +20,9 @@ void main() {
container.dispose();
final ProviderContainer reloaded = ProviderContainer();
final ProviderContainer reloaded = ProviderContainer(
overrides: [syncStateStoreProvider.overrideWithValue(store)],
);
addTearDown(reloaded.dispose);
final SyncStateData reloadedState = await _readState(reloaded);
expect(reloadedState.pending.length, 1);
@@ -30,7 +32,11 @@ void main() {
test(
'applyPushResult removes completed mutation ids and tracks rejections',
() async {
final ProviderContainer container = ProviderContainer();
final ProviderContainer container = ProviderContainer(
overrides: [
syncStateStoreProvider.overrideWithValue(InMemorySyncStateStore()),
],
);
addTearDown(container.dispose);
final SyncQueueRepository notifier = container.read(