# Tests d'Intégration Finance Workflow - Guide Unique **Date:** 2026-03-14 **Objectif:** Tester l'intégration mobile-backend avec les VRAIS utilisateurs Keycloak existants --- ## ✅ État Actuel Keycloak (Vérifié) ### Realm: `unionflow` ✓ Existe ### Client: `unionflow-mobile` ✓ Existe ### Utilisateurs: **11 utilisateurs** déjà créés --- ## 👥 Utilisateurs de Test Disponibles ### Pour les Tests Finance Workflow, utiliser: #### 1. SUPER_ADMIN (tous les droits) - **Email:** `superadmin@unionflow.test` - **Mot de passe:** *(demander à l'équipe ou réinitialiser via Keycloak Admin)* - **Rôles:** SUPER_ADMIN - **Peut:** Approuver LEVEL1/2/3, créer budgets, tout consulter #### 2. ADMIN_ORGANISATION (approbateur) - **Email:** `admin.meska@unionflow.test` OU `admin.mukefi@unionflow.test` - **Mot de passe:** *(idem)* - **Rôles:** ADMIN_ORGANISATION, USER - **Peut:** Approuver LEVEL1/2, créer budgets, consulter stats #### 3. MEMBRE_ACTIF (demandeur) - **Email:** `membre.meska@unionflow.test` - **Mot de passe:** *(idem)* - **Rôles:** MEMBRE, MEMBRE_ACTIF, USER - **Peut:** Créer demandes de cotisation, consulter ses propres demandes --- ## 🚀 Démarrage Rapide ### 1. Services Backend (3 commandes) ```bash # Terminal 1: Quarkus cd unionflow/unionflow-server-impl-quarkus mvn compile quarkus:dev -D"quarkus.http.port=8085" # Terminal 2: Keycloak (si pas démarré) cd unionflow docker-compose up -d keycloak # Terminal 3: PostgreSQL (si pas démarré) docker-compose up -d postgres ``` **Vérifications:** - ✓ Quarkus: http://localhost:8085/q/health - ✓ Keycloak: http://localhost:8180 - ✓ PostgreSQL: port 5432 --- ### 2. App Mobile Flutter ```bash # Terminal 4: App mobile cd unionflow/unionflow-mobile-apps # Android flutter run --dart-define=ENV=dev # iOS flutter run --dart-define=ENV=dev -d ios # Chrome (debug rapide) flutter run -d chrome --dart-define=ENV=dev ``` **Note:** L'URL backend (`http://localhost:8085` ou `http://10.0.2.2:8085`) est configurée automatiquement via `AppConfig` en mode dev. --- ## 🧪 Scénario de Test (15 minutes) ### Étape 1: Login Membre 1. **Dans l'app mobile:** - Login: `membre.meska@unionflow.test` - Password: *(voir avec l'équipe)* 2. **Créer une cotisation:** - Menu → "Contributions" ou "Mes Cotisations" - "+" → Nouvelle contribution - Montant: 50,000 XOF - Période: Mars 2026 - Soumettre 3. **Vérifier:** - ✅ Message "Demande créée, en attente d'approbation" - ✅ Menu "Finance Workflow" → Demande visible avec statut PENDING --- ### Étape 2: Login Admin → Approuver 4. **Se déconnecter et se reconnecter:** - Login: `admin.meska@unionflow.test` 5. **Consulter les approbations:** - Menu → "Finance Workflow" → "Approbations en attente" - ✅ Badge avec nombre d'approbations - ✅ La cotisation de membre.meska apparaît 6. **Approuver la transaction:** - Cliquer sur la carte - Bouton "Approuver" - Commentaire (optionnel): "Cotisation conforme" - Confirmer 7. **Vérifier:** - ✅ Toast "Transaction approuvée avec succès" - ✅ Statut = VALIDATED (car LEVEL1 = 1 approbation suffit) - ✅ Badge vert "Approuvé" --- ### Étape 3: Créer un Budget (Admin) 8. **Toujours connecté en tant qu'admin:** - Menu → "Finance Workflow" → "Budgets" - "+" → Nouveau budget 9. **Remplir le formulaire:** ``` Nom: Budget Test Mobile Mars 2026 Période: Mensuel Année: 2026 Mois: 3 Devise: XOF ``` 10. **Ajouter 3 lignes budgétaires:** - Cotisations: 2,000,000 XOF - Épargne: 1,000,000 XOF - Opérationnel: 500,000 XOF 11. **Valider et vérifier:** - ✅ Budget créé (Total = 3,500,000 XOF) - ✅ Détail visible avec les 3 lignes - ✅ Tracking affiche 0% réalisé --- ## ✅ Checklist de Validation ### Authentification & Sécurité - [ ] Login membre réussi avec JWT - [ ] Login admin réussi avec JWT - [ ] Endpoints protégés (401 sans token) - [ ] Rôles respectés (membre ne peut pas approuver) ### Workflow Approbations - [ ] Création demande via module Contributions - [ ] Demande apparaît dans Finance Workflow (PENDING) - [ ] Bouton "Approuver" visible uniquement pour admin - [ ] Approbation fonctionne (POST → 200 OK) - [ ] Statut mis à jour (VALIDATED) - [ ] Toast de succès affiché - [ ] Compteur approbations mis à jour ### Gestion Budgets - [ ] Création budget via formulaire - [ ] 3 lignes budgétaires ajoutées - [ ] Total calculé automatiquement (3.5M) - [ ] Détail budget affiché - [ ] Tracking budgétaire accessible (0% initialement) ### Performance & UX - [ ] Chargement < 2 secondes - [ ] Aucun lag / freeze - [ ] Animations fluides - [ ] Pull to refresh fonctionne --- ## 📊 Logs à Vérifier ### Backend Quarkus (Terminal 1) ``` INFO ApprovalService - Approbation de la transaction ... INFO BudgetService - Création d'un budget ... ``` ### Mobile Flutter (Console) ``` [INFO] Loading approvals for organization ... [SUCCESS] Transaction approved successfully [INFO] Creating budget: Budget Test Mobile Mars 2026 ``` --- ## 🆘 Troubleshooting **Problème:** "Mot de passe inconnu pour les utilisateurs de test" → **Solution:** Réinitialiser via Keycloak Admin ``` 1. http://localhost:8180/admin/master/console 2. Login: admin / admin 3. Realm: unionflow → Users 4. Sélectionner utilisateur → Onglet Credentials 5. Set password (Temporary: OFF) ``` **Problème:** "App ne se connecte pas au backend" → **Solution:** Vérifier URL backend dans AppConfig - Android émulateur: `http://10.0.2.2:8085` - iOS/Chrome: `http://localhost:8085` **Problème:** "Erreur 401 Unauthorized" → **Solution:** Vérifier que Keycloak tourne et token JWT valide **Problème:** "Bouton Approuver invisible/grisé" → **Solution:** Se connecter avec `admin.meska@unionflow.test` ou `superadmin@unionflow.test` --- ## 📝 Rapport de Test **Après les tests, compléter:** ```markdown ### Résultats Date: ___________ Testeur: ___________ #### Scénario 1: Workflow Approbation - Création demande: ☐ ✅ ☐ ❌ - Approbation réussie: ☐ ✅ ☐ ❌ - Statut mis à jour: ☐ ✅ ☐ ❌ #### Scénario 2: Gestion Budgets - Création budget: ☐ ✅ ☐ ❌ - Lignes ajoutées: ☐ ✅ ☐ ❌ - Tracking affiché: ☐ ✅ ☐ ❌ #### Problèmes Identifiés 1. [Description] - Gravité: Bloquant / Majeur / Mineur - Étapes: ... #### Conclusion - ☐ ✅ Intégration VALIDÉE - ☐ ⚠️ Problèmes mineurs - ☐ ❌ Problèmes bloquants ``` --- ## 🎯 Fichiers de Documentation Consolidés Après nettoyage, **4 fichiers** restants (DRY) : 1. **TESTS_INTEGRATION_FINANCE_WORKFLOW.md** (CE FICHIER) - Guide unique de test intégration avec vrais utilisateurs 2. **FINANCE_WORKFLOW_BACKEND_COMPLETE.md** - Documentation technique backend (architecture, code) 3. **FINANCE_WORKFLOW_TEST_CHECKLIST.md** - Checklist détaillée P0 backend (migration, démarrage) 4. **FINANCE_WORKFLOW_TEST_REPORT.md** - Rapport de tests backend (endpoints REST validés) **Obsolètes (supprimés):** - FINANCE_WORKFLOW_MANUAL_TEST_GUIDE.md (redondant) - FINANCE_WORKFLOW_INTEGRATION_MOBILE.md (redondant) - START_INTEGRATION_TEST.md (redondant) - FINANCE_WORKFLOW_SESSION_SUMMARY.md (obsolète) - FINANCE_WORKFLOW_FINAL_STATUS.md (obsolète) - START_QUARKUS_DEV.md (redondant) --- **Prêt à tester ! 🚀** Utilisez les VRAIS utilisateurs Keycloak existants - pas besoin d'en créer de nouveaux.