Skip to content

Latest commit

 

History

History
82 lines (55 loc) · 2.05 KB

30.tests.md

File metadata and controls

82 lines (55 loc) · 2.05 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: ./00.run-local-env.md

Lancer l'environnement de dev:

./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
yarn db:test:migrate-up # exécuter les migrations en attente sur la bdd de test

Exécuter les tests unitaires:

# /app/packages/backend

yarn 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

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 filter par tags: https://codecept.io/advanced/#tags

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

yarn start:tests-local

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

Enfin, 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.

yarn test