Refine backendless share intake

This commit is contained in:
Rijad Zuzo
2026-05-18 20:33:54 +02:00
parent f655adfbea
commit 42a59e959f
37 changed files with 1467 additions and 824 deletions
@@ -21,10 +21,7 @@ void main() {
final ProviderContainer container = _createContainer();
addTearDown(container.dispose);
final LocalDataState initial = await container.read(
localRepositoryProvider.future,
);
final String personId = initial.people.first.id;
final String personId = await _addTestPerson(container);
await container
.read(localRepositoryProvider.notifier)
@@ -65,10 +62,10 @@ void main() {
final ProviderContainer container = _createContainer();
addTearDown(container.dispose);
final String personId = await _addTestPerson(container);
final LocalDataState initial = await container.read(
localRepositoryProvider.future,
);
final String personId = initial.people.first.id;
final int ideaCount = initial.ideas.length;
await container
@@ -112,3 +109,19 @@ ProviderContainer _createContainer() {
],
);
}
Future<String> _addTestPerson(ProviderContainer container) async {
await container.read(localRepositoryProvider.future);
await container
.read(localRepositoryProvider.notifier)
.addPerson(
name: 'Taylor Quinn',
relationship: 'Friend',
notes: '',
tags: const <String>[],
);
final LocalDataState state = await container.read(
localRepositoryProvider.future,
);
return state.people.single.id;
}
@@ -1,6 +1,7 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:relationship_saver/app/state/local_data_state.dart';
import 'package:relationship_saver/features/ai_digest/application/anonymized_llm_context_builder.dart';
import 'package:relationship_saver/features/ai_digest/domain/ai_digest_models.dart';
import 'package:relationship_saver/features/dashboard/domain/dashboard_models.dart';
import 'package:relationship_saver/features/ideas/domain/idea_models.dart';
import 'package:relationship_saver/features/moments/domain/moment_models.dart';
@@ -73,6 +74,19 @@ void main() {
isSensitive: true,
),
],
aiSuggestionDrafts: <AiSuggestionDraft>[
AiSuggestionDraft(
id: 'ai-1',
personId: 'p-1',
kind: AiSuggestionKind.eventIdea,
title: 'Jazz concert downtown',
details: 'Should not need to repeat the details.',
suggestedAt: DateTime(2026, 5, 10),
confidence: 0.8,
status: AiSuggestionStatus.dismissed,
sourceRunId: 'digest-old',
),
],
);
final AnonymizedLlmDigestContext context = AnonymizedLlmContextBuilder(
@@ -90,5 +104,9 @@ void main() {
expect(prompt, isNot(contains('thread-secret')));
expect(prompt, isNot(contains('Raw private chat text')));
expect(prompt, isNot(contains('Secret medical detail')));
expect(prompt, contains('priorSuggestions'));
expect(prompt, contains('jazz concert downtown'));
expect(prompt, contains('dismissed'));
expect(prompt, isNot(contains('Should not need to repeat the details.')));
});
}
@@ -48,6 +48,15 @@ void main() {
);
addTearDown(container.dispose);
await container.read(localRepositoryProvider.future);
await container
.read(localRepositoryProvider.notifier)
.addPerson(
name: 'Taylor Quinn',
relationship: 'Friend',
notes: '',
tags: const <String>['tea'],
);
await container.read(llmDigestConfigProvider.notifier).setEnabled(true);
final LlmDigestRunResult result = await container