Я хочу проверить свои действия и посмотреть, был ли вызван диспетчер и шпион истории. Но это всегда заканчивается в catch (рассылка GET_ERRORS).
Это дает мне эту ошибку:
code: 'auth/network-request-failed',
message: 'A network error (such as timeout, interrupted connection or unreachable host) has occurred.'
Действие:
export const startLogin = ( { email, password } ) => {
return ( dispatch ) => {
dispatch( setAuthLoading() );
return firebase
.auth()
.signInWithEmailAndPassword( email, password )
.then( ( user ) => {
const userData = {
uid: user.uid,
name: user.displayName,
email: user.email
}
// This is what I want to test. If dispatch, history was called
dispatch( setCurrentUser( userData ) );
history.push( '/' );
})
.catch( ( err ) => {
// It ends up everytime here, why?
dispatch({
type: GET_ERRORS,
payload: err
});
dispatch( clearAuthLoading() );
});
};
};
Тест:
test( 'should start login with correct data', ( done ) => {
const pushSpy = jest.spyOn( history, 'push' );
const store = createMockStore({});
const name = 'Josh';
const loginData = {
email: 'test@gmail.com',
password: '123456password'
};
store.dispatch( startLogin( loginData ) ).then(() => {
const actions = store.getActions();
expect( actions[0] ).toEqual({
type: SET_CURRENT_USER,
user: {
name,
email: loginData,
psasword: loginData.password
}
});
expect( pushSpy ).toHaveBeenLastCalledWith( '/' );
done();
});
});
Может ли это быть проблемой безопасности пожарной базы? Я попробовал все, но это все еще заканчивается ловушкой.
Спасибо