Я реализовал компонент 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');
, но я продолжаю получать ложь, когда намерениезначит получить истину.
Как правильно сделать такой тест?
Спасибо