Я пытаюсь проверить компонент входа в систему. В частности, что он перенаправляет на успешный вход в систему. Работает нормально при тестировании вручную. Но в моем тесте он никогда не выполняет перенаправление и поэтому не может найти ссылку «Выйти»:
test('successfully logs the in the user', async () => {
const fakeUserResponse = {success: true, token: 'fake_user_token'}
jest.spyOn(window, 'fetch').mockImplementationOnce(() => {
return Promise.resolve({
json: () => Promise.resolve(fakeUserResponse),
})
})
const { getByText, getByLabelText, findByTestId } = render(<Router><Login /></Router>)
fireEvent.change(getByLabelText(/email/i), {target: {value: 'dan@example.com'}})
fireEvent.change(getByLabelText(/password/i), {target: {value: 'password1234'}})
fireEvent.click(getByText(/submit/i))
await waitForElement(() => getByText(/logout/i));
})
Я перенаправляю с react-router
версии 4, например:
{state.resolved ? <Redirect to="/" /> : null}
Я поступаю неправильно?