#reactjs #react-hooks #jestjs #react-testing-library
#реагирует на #реагируют-крючки #jestjs #реагировать-тестирование-библиотека
Вопрос:
useEffect(()=gt;{ Auth.currentAuthenticatedUser().then((user) =gt; { setUser(user) setIsLoading(false) if (user.challengeName === 'NEW_PASSWORD_REQUIRED') { navigate('/ForceChangePassword') } else{ navigate('/App') } }).catch(error =gt; { console.log('isCurrentAuthenticatedUser- ',error) setUser(null) setIsLoading(false) }) });
Комментарии:
1. не могли бы вы уточнить вопрос немного подробнее?
2. @Маник Кумар вы хотите проверить состояние пользователя?
3. @Jithin на самом деле я хочу сказать, что я не могу охватить часть авторизации. Пожалуйста, дайте мне знать, как я могу это сделать?
4. @Gregfan итак, как я могу покрыть эту часть аутентификации и после части состояния, которые являются setUser и setIsLoading, хотя я могу покрыть ее блок catch
5. Что вы хотите осветить в части auth?
Ответ №1:
Мы можем просто издеваться над частью Auth.currentAuthenticatedUser (). Например:-
Auth.currentAuthenticatedUser = jest.fn().mockImplementation(()=gt;Promise.resolve({challengeName: 'NEW_PASSWORD_REQUIRED'}))
Если кто — то хочет закрыть блок catch, то:-
Auth.currentAuthenticatedUser = jest.fn().mockImplementation(()=gt;Promise.reject())