Test-driving a saga
A saga is a special bit of code that uses JavaScript generator functions to manage asynchronous operations to the Redux store. Because it’s super complex, we won’t actually test the saga itself; instead, we’ll dispatch an action to the store and observe the results.
Before we get started on the saga tests, we need a new test helper function named renderWithStore
.
Adding the renderWithStore test extension
Proceed as follows:
- At the top of
test/reactTestExtensions.js
, add the following newimport
statements:import { Provider } from "react-redux"; import { storeSpy } from "expect-redux"; import { configureStore } from "../src/store";
The expect-redux package
For that, we’ll use the expect-redux
package from NPM, which has already been included in the package.json
file for you—make sure to run npm install
before you begin.
- Add a new variable,
store
, and initialize it...