@segment/analytics-react-native
Version:
The hassle-free way to add Segment analytics to your React-Native app.
36 lines (35 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createTestPersistor = exports.createMockStore = void 0;
const createMockStore = initialState => {
let state = initialState;
return {
getState: jest.fn((...args) => {
// Both overloads return a Promise in the mock for simplicity.
// Supports getState() and getState(true).
void args;
return Promise.resolve(state);
}),
dispatch: jest.fn(action => {
if (typeof action === 'function') {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
state = action(state);
} else {
state = action.payload;
}
return Promise.resolve(state);
})
};
};
exports.createMockStore = createMockStore;
const createTestPersistor = (storage = {}) => ({
get: async key => Promise.resolve(storage[key]),
set: async (key, state) => {
storage[key] = state;
return Promise.resolve();
}
});
exports.createTestPersistor = createTestPersistor;
//# sourceMappingURL=test-helpers.js.map