У меня проблема с константой в моём тесте.У меня есть файл с конфигурацией приложения.Есть только ключи с некоторыми значениями, ничего больше.
appConfig.js
//imports
...
export const CASHING_AMOUNT_LIMIT = 50;
export const CASHING_DELETE_AMOUNT = 25;
...
, и это редуктор, который я хочу проверить:
reducer.js
import {
CASHING_AMOUNT_LIMIT,
CASHING_DELETE_AMOUNT,
} from '../appConfig';
...
export const reducer = handleActions({
[REQUEST_DATA]: (state, action) => {
if (payload.count >= CASHING_AMOUNT_LIMIT) {
// do something with data if the condition is true
}
return {
...someState,
};
},
...
В моем тесте я хочу изменить значение на CASHING_AMOUNT_LIMIT
и проверить, возвращает ли редуктор текущее хранилище.И я не знаю, как смоделировать эту переменную в reducer.js
.Вот мой тест:
...//imports
const mockValues = {
CASHING_AMOUNT_LIMIT: 10,
CASHING_DELETE_AMOUNT: 5,
};
jest.mock('../../appConfig.js', () => mockValues);
const {
CASHING_AMOUNT_LIMIT,
CASHING_DELETE_AMOUNT,
} = require('../../appConfig.js');
...
it('MY awesome test ', () => {
expect(CASHING_AMOUNT_LIMIT).toBe(10);
expect(CASHING_DELETE_AMOUNT).toBe(5);
// HERE is all ok CASHING_AMOUNT_LIMIT = 10 and the second variable is 5
// tests are OK
// ....
expect(storeWithCache.dispatch(requestFunction({ test: 'XX'})))
.toEqual(myStore);
...
В конце я использую dispatch
, который вызывает мое действие и функцию редуктора в reducer.js
, он работает нормально ... но со старым значением для CASHING_AMOUNT_LIMIT
это все еще50 (как в appConfig.js
), и мне нужно установить 10
Может ли кто-нибудь помочь мне с насмешкой CASHING_AMOUNT_LIMIT
в reducer.js
?