31 lines
722 B
JavaScript
31 lines
722 B
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const {
|
|
thunk,
|
|
} = require("resource://devtools/client/shared/redux/middleware/thunk.js");
|
|
const configureStore = require("redux-mock-store").default;
|
|
|
|
/**
|
|
* Prepare the store for use in testing.
|
|
*/
|
|
function setupStore(preloadedState = {}) {
|
|
const middleware = [thunk()];
|
|
const mockStore = configureStore(middleware);
|
|
return mockStore(preloadedState);
|
|
}
|
|
|
|
/**
|
|
* This gives an opportunity to Promises to resolve in tests
|
|
* (since they are microtasks)
|
|
*/
|
|
async function flushPromises() {
|
|
await new Promise(r => setTimeout(r, 0));
|
|
}
|
|
|
|
module.exports = {
|
|
flushPromises,
|
|
setupStore,
|
|
};
|