Skip to content

Latest commit

 

History

History
138 lines (88 loc) · 3.49 KB

File metadata and controls

138 lines (88 loc) · 3.49 KB

🧪 Tests

Tests backend en local avec docker

Tests unitaires backend 🐳

Exécution des tests unitaires du backend en local avec docker

Pré-requis: mise en place de l'environnement de dev local: ./0.run-local-env.md

🚀 Lancer l'environnement

./docker-compose.local.run.sh

🗄️ Restaurer les dumps de test

# Sur les bases 'domifa_test'
_scripts/db/restore-database-docker.sh --db=test

⚙️ Préparer l'environnement

# /app/packages/backend
pnpm db:test:migrate-up # exécuter les migrations en attente sur la bdd de test

▶️ Exécuter les tests unitaires

# /app/packages/backend

pnpm test # tous les tests

# ou bien exécuter un fichier de test spécifique en mode watch:
ENV_FILE=tests-local npx jest --watch -- cron-mails-repository.service.spec.ts

🔒 Tests de sécurité

Des tests spéciaux de sécurité sont exécutés via les fichiers app-controllers.*.spec.ts. Pour n'exécuter que certains tests de sécurité, renseigner la variable d'environnement DOMIFA_FILTER_SEC_TEST, exemple:

# seulement le test contenant "AgendaController.getAll", pour tous les profils
DOMIFA_FILTER_SEC_TEST="AgendaController.getAll" ENV_FILE=tests-local npx jest -- app-controllers.*.spec.ts

# seulement les tests contenant "AgendaController", juste pour le profil super-admin
DOMIFA_FILTER_SEC_TEST=Agenda ENV_FILE=tests-local npx jest -- app-controllers.super-admin-domifa.spec.ts

Note: il est aussi possible de filtrer par tags: https://codecept.io/advanced/#tags

🔐 Comptes de test

👥 Utilisateurs "structure"

Structure 1

  • 🔑 login: preprod.domifa@fabrique.social.gouv.fr

  • 🗝️ password: Azerty012345!

  • 🔑 login: s1-instructeur@yopmail.com

  • 🗝️ password: Azerty012345!

  • 🔑 login: s1-gestionnaire@yopmail.com

  • 🗝️ password: Azerty012345!

  • 🔑 login: s1-facteur@yopmail.com

  • 🗝️ password: Azerty012345!

Structure 3

  • 🔑 login: s3-admin@yopmail.com

  • 🗝️ password: Azerty012345!

  • 🔑 login: s3-instructeur@yopmail.com

  • 🗝️ password: Azerty012345!

  • 🔑 login: s3-gestionnaire@yopmail.com

  • 🗝️ password: Azerty012345!

  • 🔑 login: s3-facteur@yopmail.com

  • 🗝️ password: Azerty012345!

Structure 4

  • 🔑 login: s4-admin@yopmail.com
  • 🗝️ password: Azerty012345

Voir définition complète dans le fichier TESTS_USERS_STRUCTURE.type.ts

👤 Utilisateurs "usager"

  • 🆔 login: WKYJBDXS
  • 🗝️ password: Azerty012345!

Voir définition complète dans le fichier TESTS_USERS_USAGER.type.ts

🛡️ Utilisateur "admin"

Administrateur

  • 🔑 login: preprod.domifa@fabrique.social.gouv.fr
  • 🗝️ password: Azerty012345

🔄 Mettre à jour les données de test

📥 Installer la dernière version des dumps

# sur les bases 'domifa_test'
_scripts/db/restore-database-docker.sh --db=test

🌐 Démarrer l'application sur la base de test

pnpm start:tests-local

Utiliser l'application normalement via le navigateur, et faire les modifications souhaitées.

💾 Mettre à jour les dumps avec des modifications

_scripts/db/make-dump-database-docker.sh --db=test
_scripts/db/update_test_dumps.sh

✅ Relancer les tests pour vérifier

pnpm test