Aller au contenu

Tests

tilttek/points-bundle

Les tests du bundle

composer install
vendor/bin/phpunit --no-configuration tests

La suite unitaire exécute le registre sur SQLite en mémoire, y compris le contrat de registre de la bibliothèque. Elle vérifie les instructions d'insertion de chaque plateforme, la ligne de verrou d'un paiement, une course perdue contre un autre processus, l'écouteur de schéma, les commandes, le module de vie privée et les services que construit la configuration. La suite fonctionnelle démarre une application avec FrameworkBundle, DoctrineBundle sur SQLite, phil/privacy-bundle et tilttek/activity-bundle, et gagne, dépense, fait expirer, exporte et efface des points par leur intermédiaire. Quand PHIL_TEST_MYSQL_URL est défini, la suite d'intégration exécute le contrat de registre sur MySQL, ainsi que deux paiements à partir du même compte qui se rencontrent, le premier validé pendant que le second s'apprête à prendre la ligne de verrou. Dans le monodépôt, Infection maintient le bundle à 100 % des mutants couverts.

phil/privacy-bundle est une intégration facultative, non installée avec le bundle : ses tests, et son bundle dans l'application de test, sont sautés avec leur raison quand il manque, et un test vérifie qu'aucun module de vie privée n'est alors enregistré.

Tester une application qui déplace des points

Réglez store: memory dans l'environnement de test pour garder le registre dans le processus (et le journal d'activité avec tilttek_activity.store: memory), ou gardez doctrine sur une base de test pour éprouver la vraie insertion et les vrais verrous :

# config/packages/test/tilttek_points.yaml
tilttek_points:
    store: memory

Figez le service clock (MockClock) pour tester les plafonds, les périodes et l'expiration.