feat: add local-first private AI digest workflow
Migrate app code into canonical feature slices, add phone-only AI digest scheduling and review, wire local notification/background task support, and cover the flow with tests.
This commit is contained in:
@@ -7,6 +7,7 @@ import 'package:relationship_saver/features/local/storage/local_data_store_in_me
|
||||
import 'package:relationship_saver/features/local/storage/local_data_store_provider.dart';
|
||||
import 'package:relationship_saver/features/reminders/scheduling/reminder_scheduler.dart';
|
||||
import 'package:relationship_saver/features/reminders/scheduling/reminder_scheduler_provider.dart';
|
||||
import 'package:relationship_saver/features/share_intake/share_capture_models.dart';
|
||||
import 'package:relationship_saver/features/share_intake/share_inbox_view.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';
|
||||
@@ -66,7 +67,7 @@ void main() {
|
||||
|
||||
expect(find.text('Share Inbox'), findsOneWidget);
|
||||
expect(find.text('Ambiguous match'), findsOneWidget);
|
||||
expect(find.widgetWithText(FilledButton, 'Review & Match'), findsOneWidget);
|
||||
expect(find.widgetWithText(FilledButton, 'Review & Save'), findsOneWidget);
|
||||
|
||||
await tester.tap(find.widgetWithText(TextButton, 'Dismiss Item').first);
|
||||
await tester.pumpAndSettle();
|
||||
@@ -116,7 +117,12 @@ void main() {
|
||||
|
||||
expect(find.text('Near match conflict'), findsOneWidget);
|
||||
|
||||
await tester.tap(find.widgetWithText(FilledButton, 'Review & Match').first);
|
||||
await tester.tap(find.widgetWithText(FilledButton, 'Review & Save').first);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('Review Capture Mapping'), findsOneWidget);
|
||||
|
||||
await tester.tap(find.widgetWithText(FilledButton, 'Use Mapping'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('Review Match'), findsOneWidget);
|
||||
|
||||
Reference in New Issue
Block a user