Sommaire

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