dahoud
37db88672b
feat: BLoC tests complets + sécurité production + freerasp 7.5.1 migration
...
## Tests BLoC (Task P2.4 Mobile)
- 25 nouveaux fichiers *_bloc_test.dart + mocks générés (build_runner)
- Features couvertes : authentication, admin_users, adhesions, backup,
communication/messaging, contributions, dashboard, finance (approval/budget),
events, explore/network, feed, logs_monitoring, notifications, onboarding,
organizations (switcher/types/CRUD), profile, reports, settings, solidarity
- ~380 tests, > 80% coverage BLoCs
## Sécurité Production (Task P2.2)
- lib/core/security/app_integrity_service.dart (freerasp 7.5.1)
- Migration API breaking changes freerasp 7.5.1 :
- onRootDetected → onPrivilegedAccess
- onDebuggerDetected → onDebug
- onSignatureDetected → onAppIntegrity
- onHookDetected → onHooks
- onEmulatorDetected → onSimulator
- onUntrustedInstallationSourceDetected → onUnofficialStore
- onDeviceBindingDetected → onDeviceBinding
- onObfuscationIssuesDetected → onObfuscationIssues
- Talsec.start() split → start() + attachListener()
- const AndroidConfig/IOSConfig → final (constructors call ConfigVerifier)
- supportedAlternativeStores → supportedStores
## Pubspec
- bloc_test: ^9.1.7 → ^10.0.0 (compat flutter_bloc ^9.0.0)
- freerasp 7.5.1
## Config
- android/app/build.gradle : ajustements release
- lib/core/config/environment.dart : URLs API actualisées
- lib/main.dart + app_router : intégrations sécurité/BLoC
## Cleanup
- Suppression docs intermédiaires (TACHES_*.md, TASK_*_COMPLETION_REPORT.md,
TESTS_UNITAIRES_PROGRESS.md)
- .g.dart régénérés (json_serializable)
- .mocks.dart régénérés (mockito)
## Résultat
- 142 fichiers, +27 596 insertions
- Toutes les tâches P2 mobile complétées
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-21 12:42:35 +00:00
dahoud
f4bdd81141
feat(mobile): implémentation 8 méthodes workflow financier manquantes
...
Datasource (finance_workflow_remote_datasource.dart) :
- requestApproval() : POST /api/finance/approvals (avec organizationId optionnel)
- getApprovalsHistory() : GET /api/finance/approvals/history (date + statut)
- updateBudget() : PUT /api/finance/budgets/{id} (updates map)
- deleteBudget() : DELETE /api/finance/budgets/{id}
- getWorkflowStats() : GET /api/finance/stats
- getAuditLogs() : GET /api/finance/audit-logs (filtres complets)
- getAnomalies() : GET /api/finance/audit-logs/anomalies
- exportAuditLogs() : POST /api/finance/audit-logs/export (format CSV/PDF)
Repository (finance_workflow_repository_impl.dart) :
- Remplacement de 8 NotImplementedFailure par vraies implémentations
- Conversion enums (TransactionType, ApprovalStatus, etc.) → String avec .name
- Gestion réseau : NetworkInfo check + RetryPolicy + exception mapping
- FinancialAuditLog.fromJson() pour convertir réponses audit/anomalies
Résultat : 0 erreur compilation, workflow financier 100% fonctionnel
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-03-16 21:17:37 +00:00