À vous de jouer
Imaginez que vous codiez l'inventaire d'un magasin de bonbons. Vous savez, ces magasins où vous pouvez remplir un sac avec autant de bonbons que vous voulez. Vous allez tester que quand quelqu'un enlève des bonbons de leur boîte plastique pour les acheter, le stock de bonbons diminue.
Vous voulez également considérer que quand un employé recharge une certaine boîte des bonbons, le stock de ces bonbons augmente. Si vous écrivez le code pour ces scénarios, cela aidera le magasin à confirmer que le stock de chaque type de bonbons reste suffisant.
Le magasin propose:
des Chamallows
des fraises Tagada
des Carambars au caramel
des Oursons guimauve au chocolat
des Têtes brûlées
des Dragibus
Choisissez 2 de ces bonbons et écrivez les tests qui confirment :
Pour le 1er type de bonbon : lorsque quelqu'un retire 20 bonbons d'une boîte plastique de 510 bonbons (d'un seul type de bonbon), il devrait y avoir 490 bonbons qui restent dans la boîte.
Pour le 2nd type de bonbon : Quand un employé ajoute 600 bonbons à une boîte qui contient 4 bonbons (d'un seul type de bonbon), il devrait y avoir 604 bonbons dans la boîte.
Enlever des bonbons d'un type ne change pas la quantité de l'autre type de bonbon.
Ensuite, vous écrirez le code JavaScript qui accompagne ces tests.
Vérifiez votre travail
Vérifiez que vous avez bien les éléments suivants :
Le fichier SpecRunner.html inclut un fichier spec (ex. CandySpec.js).
Le fichier qui contient les tests (ex. CandySpec.js) inclut des spécifications, des suites ('describe' et 'it') et des attentes claires et quantifiables ('expect').
Les fichiers sont correctement organisés. Un fichier src est lié au code de bonbons (ex. Candy.js).
Le fichier de test (ex. CandySpec.js) contient des tests correctement écrits dans Jasmine. Ces tests permettent de vérifier que :
* lorsque quelqu'un retire 20 bonbons d'une boîte plastique de 510 bonbons (d'un seul type de bonbons), 490 bonbons restent dans la boîte (pour le premier type de bonbons)