Я пытаюсь проверить компонент, который имеет встроенную функцию (событие), которая запускает другую функцию, и эти строки кодов не покрываются при тестировании покрытия. Я не знаю, как с этим справиться.
Компонент
<Form
{...props}
submitButton={{
label: i18n('next'),
withArrow: true,
disabled:
(typeof props.businessFormData.tradeLicenseFileBase64 ===
'undefined' ||
props.businessFormData.tradeLicenseFileBase64.length === 0) &&
(typeof props.businessFormData.companyLetterFileBase64 ===
'undefined' ||
props.businessFormData.companyLetterFileBase64.length === 0) &&
(typeof props.businessFormData.emiratesIDFileBase64 === 'undefined' ||
props.businessFormData.emiratesIDFileBase64.length === 0) &&
(typeof props.businessFormData.passportFileBase64 === 'undefined' ||
props.businessFormData.passportFileBase64.length === 0),
onClick: () => props.requestClick(props),
}}
backButton={{
label: i18n('back'),
withArrow: true,
alignIcon: 'start',
uiType: 'secondary',
onClick: () => props.backClick(props),
}}
cancelLink={{
label: i18n(props.cancel),
href: '/adc/importer-number-issuance/landing',
target: '_self',
disabled: false,
tammHref: '/adc/importer-number-issuance/landing',
}}
>
Мой тест
test('onClick() -> requestClick should be called', async () => {
const { getByText, getByLabelText } = render(
<MemoryRouter>
<ViewportProvider>
<Viewport sm md lg xl>
<TestDateInformation {...props} />
</Viewport>
</ViewportProvider>
</MemoryRouter>,
);
await sleep();
expect(getByText(/next/i)).toBeInTheDocument();
fireEvent.click(getByText(/next/i));
expect(props.requestClick).toHaveBeenCalled();
});
Я хочу охватить встроенную функцию requestClick