Привет, у меня есть поле ввода в компоненте, который обернут контроллером из формы response-hook, и это поле ввода обернуто маской реагирования-ввода для маскировки. Перед обертыванием поля ввода контроллером тест данных -ид работает хорошо. После упаковки он не может найти его. Здесь я делю компонент поля ввода и тестовый файл для этого. Пожалуйста, помогите мне с этим.
<Controller
name="dob"
control={control}
as={
<InputMask mask="9999-99-99" >
{() => (
<TextField
id="inputfive"
name="dob"
label={t("TXT.YOUR_LOAN_DETAIL_PAGE.DOB")}
placeholder={t("TXT.YOUR_LOAN_DETAIL_PAGE.DOB")}
data-testid="dob-input"
/>
)}
</InputMask>
}
rules={{
required: "this is required",
pattern: {
value: /([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/,
message: "Please Enter a correct pattern"
}
}}
/>
В тестовом файле:
it("should not sumbit the form", async () => {
const onSubmit = jest.fn();
const { getByText, getByTestId } = render(<LinkApplication onSubmit={onSubmit} />);
const Dob_Input = getByTestId("dob-input");
const form = getByTestId("form");
act(() => {
fireEvent.change( Dob_Input , {
target: { value: "1995-09" }
});
});
expect(Dob_Input.value).toBe("1995-09");
await act(() => {
fireEvent.submit(form);
});
expect(onSubmit).not.toHaveBeenCalled();
});
Ошибка:
Unable to find an element by: [data-testid="dob-input"]