Я создаю приложение React и использую react-boilerplate в качестве моего базового проекта. Изучив Redux, Саги и повторно выбрать и запустил свои первые компоненты, я хотел бы написать соответствующие модульные тесты. Но, к сожалению, я не могу получить тест для оператора select с соответствующим селектором для правильной проверки:
const selectDomain = () => (state) => state.get('myDomain');
const selectDomainMessage = () => createSelector(selectDomain(), (domain) => domain.get('message'));
function* send() {
const message = yield select(selectDomainMessage());
...
yield put(sentAction(message);
}
describe('send Saga', () => {
const generator = send();
it('should return select descriptor', () => {
let expectedDescriptor = select(selectDomainMessage());
let returnedDescriptor = generator.next().value;
expect(returnedDescriptor).toEqual(expectedDescriptor);
});
});
С моей точки зрения, этот тест должен работать, но он не работает с (не очень полезным) сообщением об ошибке:
Ожидаемый объект({ @@redux-saga/IO: true, SELECT: Object({ selector: Function, args: [ ] }) }) равен Object({ @@redux-saga/IO: true, SELECT: Object( { селектор: функция, аргументы: [ ] }) }).
Чтобы упростить воспроизведение проблемы, я создал JSFiddle с необходимой средой. Может кто подскажет, что я делаю не так.