Continue roadmap: local TLS and agent review preparation

This commit is contained in:
Hamza Ayed
2026-10-04 00:35:05 +03:00
parent 379098f3d6
commit d29275043a
28 changed files with 3226 additions and 47 deletions
@@ -180,6 +180,32 @@ void main() {
await cubit.close();
});
test('registered project folders persist and can be removed from the list', () async {
final settings = _MemorySettingsStore();
final firstApi = _VersionTestApi();
final first = ChatCubit(firstApi, settingsStore: settings);
await Future<void>.delayed(Duration.zero);
await first.selectWorkspace(r'C:\Projects\sovereign-ai');
expect(first.state.savedWorkspacePaths, [r'C:\Projects\sovereign-ai']);
expect(settings.values['saved_workspace_paths'], [
r'C:\Projects\sovereign-ai',
]);
await first.close();
final restored = ChatCubit(
_VersionTestApi(),
settingsStore: settings,
);
await Future<void>.delayed(Duration.zero);
expect(restored.state.savedWorkspacePaths, [r'C:\Projects\sovereign-ai']);
await restored.removeSavedWorkspace(r'C:\Projects\sovereign-ai');
expect(restored.state.savedWorkspacePaths, isEmpty);
expect(settings.values['saved_workspace_paths'], isEmpty);
await restored.close();
});
test('regeneration keeps prior answers and selection is persisted', () async {
final api = _VersionTestApi();
final cubit = ChatCubit(api, settingsStore: LocalSettingsStore.inMemory());
@@ -154,6 +154,8 @@ void main() {
await tester.pumpAndSettle();
expect(find.text('مساعدك المحلي'), findsOneWidget);
expect(find.text('مشاريعي'), findsOneWidget);
expect(find.byTooltip('تسجيل مشروع جديد'), findsOneWidget);
expect(tester.takeException(), isNull);
await chatCubit.setDarkMode(true);