/* globals test, expect, jest */ import { addProduct, removeProduct } from '../actions/products' import { configureStore } from './store' test('Ajout/suppression des produits', () => { // On crée une instance de notre store // avec le state par défaut const store = configureStore() // On crée un "faux" subscriber // pour vérifier que l'état du store // a bien été modifié le nombre de fois voulu const subscriber = jest.fn() // On attache notre faux subscriber // au store store.subscribe(subscriber) // On "dispatch" nos actions store.dispatch(addProduct('pomme', 5)) store.dispatch(addProduct('orange', 7)) store.dispatch(addProduct('orange', 10)) store.dispatch(removeProduct('pomme')) // On s'assure que notre subscriber a bien été // appelé expect(subscriber).toHaveBeenCalledTimes(4) const state = store.getState() // On s'assure que l'état du store correspond // à ce qu'on attend expect(state).toMatchObject({ products: [ {name: 'orange', price: 7} ] }) })