Я использую Redux для приложения реагирования с промежуточным программным обеспечением Thunk.
У меня есть этот метод:
export function login(username, password) {
return function (dispatch, getState) {
dispatch(loginRequest());
return sessionService.login(dispatch, username, password).then(redirectTo => {
dispatch(handleSuccessfulAuthentication(redirectTo));
}).catch(error => {...}
};
}
Итак, я фиксирую результат службы и выполняю действия нормально. Но я хочу проверить, я отправляю метод handleSuccessfulAuthentication
, но слежка за этим методом, похоже, не работает, всегда возвращает, что он не был вызван (кроме того, я вижу возвращенное действие)
Это в основном мой тест:
describe('WHEN logging in from sessionExpired', () => {
let action;
beforeAll(() => {
...
testHelper.getUnAuthenticatedNock()
.post(`/${endpoints.LOGIN}`, credentials)
.reply(200, {
...loginResponse
});
action = sinon.spy(sessionActions, 'handleSuccessfulAuthentication');
return store.dispatch(sessionActions.login(credentials.username, credentials.password))
}
it('Should redirect to previous visited page', () => {
console.log(action.called); // false
});