I need to test a RegisterForm component. Shown below where it is.
export const RegisterContainer = () => {
const [formStep, setFormStep] = useState(0);
return (
<Wrapper>
<MyPartic />
<Container>
<Stepper step={formStep} />
<Inner>
<RegisterForm
step={formStep}
setStep={setFormStep}
/>
In the RegisterForm, the setStep is called 1 time to change step to 2.
How can I mock this action?
Tried doing like this
const onSubmit = jest.fn();
let step = 0;
const setStep = jest.fn();
render(<RegisterForm step={step} setStep={setStep} handleSubmit={onSubmit} />);
const values = {
email: "[email protected]",
firstName: "firstName",
lastName: "lastName",
password: "Password123",
confirmPassword: "Password123"
}
userEvent.type(screen.getByPlaceholderText(/имя/i), values.firstName);
userEvent.type(screen.getByPlaceholderText(/фамилия/i), values.lastName);
userEvent.click(screen.getByText(/продолжить/i));
step = 1;
await waitFor(() => {
expect(setStep).toHaveBeenCalledWith(1);
screen.debug();
})
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…