Реактивные юнит-тесты для Google Recaptcha v2 - PullRequest
0 голосов
/ 03 октября 2019

Я реализовал компонент React-Recaptcha, который я пытаюсь добавить к нему несколько модульных тестов.

Помимо прочего, я пытаюсь проверить, изменилось ли состояние моего компонента (что должно бытьтокен получен после установки флажка).

<ReCAPTCHA sitekey={RECAPTCHA_SITE_KEY} onChange={value => this.setState({ gToken: value, recaptchaState: true })} />

и мои тесты имеют что-то вроде этого

describe('RefundaModal Component', () => {
  const modalcomponent = shallow(<RefundModalDialog />);
  const captcha = shallow(<ReCAPTCHA sitekey={RECAPTCHA_SITE_KEY} onChange={() => {}} />);
  test('render RefundModalDialog component', () => {
    expect(modalcomponent.exists()).toBe(true);
  });
  test('user clicked on recaptcha', async () =>
    modalcomponent.setState({ gToken: null, recaptchaState: false });
    captcha.props().onChange();
    expect(modalcomponent.state().recaptchaState).toEqual(true);
  });
});

Я также пробовал другой подход captcha.simulate('change');, но я продолжаю получать ложь, когда намерениезначит получить истину.

Как правильно сделать такой тест?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...