Tester le store Redux et les sagas avec Redux Saga Test
Plan Test:Redux et Redux-Saga Redux Saga Test Plan
Tester le store Redux d’une application
peut très bien se faire sans bibliothèque externe.
Après tout, un reducer n’est qu’une simple
fonction n’ayant aucun effet de bord, les créateurs
d’action également, ainsi que les sélecteurs. Seules
les sagas pourraient poser un peu plus de difficultés,
mais en sachant qu’elles ne sont que des fonctions génératrices,
on pourrait tout de même s’en sortir. Néanmoins,
ces tests ne seraient pas réellement pertinents.
Dans cette section, nous allons voir comment
grâce à Redux Saga Test Plan, on peut écrire
des tests sur un store entier (ou sur un morceau de store ou service,
comme nous en avons écrit dans les chapitres Concevoir
une application avec Redhux et Gérer les effets de bord
avec Redux-Saga), en le considérant comme une boîte
noire. Autrement dit, nous vérifierons que lorsque l’on
dispatche une action :
-
Les bons effets de
bord sont déclenchés (dans notre cas, un appel à une
API).
-
Les bonnes actions résultantes
sont dispatchées.
-
Le state a bien été mis à jour
(et nous utiliserons pour cela des sélecteurs).
Comme exemple accompagnant cette section,
nous allons repartir de l’exemple précédent
avec son ContactForm, en y ajoutant
un appel à l’API de JSON ...