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
./docker-compose.local.run.sh# Sur les bases 'domifa_test'
_scripts/db/restore-database-docker.sh --db=test# /app/packages/backend
pnpm db:test:migrate-up # exécuter les migrations en attente sur la bdd de test# /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.tsDes 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.tsNote: il est aussi possible de filtrer par tags: https://codecept.io/advanced/#tags
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
- 🆔 login:
WKYJBDXS - 🗝️ password:
Azerty012345!
Voir définition complète dans le fichier TESTS_USERS_USAGER.type.ts
Administrateur
- 🔑 login:
preprod.domifa@fabrique.social.gouv.fr - 🗝️ password:
Azerty012345
# sur les bases 'domifa_test'
_scripts/db/restore-database-docker.sh --db=testpnpm start:tests-localUtiliser l'application normalement via le navigateur, et faire les modifications souhaitées.
_scripts/db/make-dump-database-docker.sh --db=test
_scripts/db/update_test_dumps.shpnpm test