@testing-library/react не обнаруживает логин с помощью @okta /okta-react

#reactjs #jestjs #react-testing-library #okta

#reactjs #jestjs #react-testing-library #okta

Вопрос:

У меня есть такой тест:

   it('should login successfully', async () => {
    let { baseElement, getByPlaceholderText, findByText } = render(renderComponent);

    expect(baseElement).toBeTruthy();

    expect(await findByText(/Welcome/i)).toBeInTheDocument();

    fireEvent.change(getByPlaceholderText('Username'), { target: { value: 'test@test.com' } });
    fireEvent.change(getByPlaceholderText('Password'), { target: { value: 'secret' } });
    fireEvent.click(getByText(/Log in/i));

    // for some reason this does not work. Can anybody help with this?
    expect(await findByText(/Dashboard/i)).toBeInTheDocument();
  });
 

Панель мониторинга никогда не найдена. По-видимому, библиотека тестирования react не обнаруживает, что страница должна была перенаправляться на страницу панели мониторинга после успешного входа в систему.

Внутри моего компонента входа в систему,

   const formik = useFormik({
    [...]

    onSubmit: (values, { setStatus, setSubmitting }) => {
      console.log('during testing, it gets here');

      oktaAuth
        .signInWithCredentials({
          username: values.username,
          password: values.password,
        })
        .then((res) => {
          console.log('but never gets here');

          [...]
        })
        .catch((err) => {
          console.log('nor gets here');
          [...]
        });
    },
  });
 

Комментарии:

1. Повезло с этим?

2. К сожалению, нет.

3. Это может вам помочь: github.com/okta/okta-react/issues/133