как я могу смонтировать компонент, который использует React Final Form? Когда я комментирую в LoginComponent, он монтируется правильно, но я хочу монтировать весь компонент. Я хочу, чтобы albo проверил, правильно ли работают функции validate и handleLoginFormSubmit.
Код моего компонента:
const LoginForm = () => {
const dispatch = useDispatch();
const history = useHistory();
const { loading, isLogged, errorMessage } = useSelector(state => state.auth);
useEffect(() => {
if (isLogged) {
history.push('/');
}
return () => {
dispatch(clearErrorMessage());
};
}, [dispatch, history, isLogged]);
const handleSubmitLoginForm = values => { };
const validate = ({ password }) => { };
return (
<article className="login-form-wrapper">
<h2>Sign in</h2>
<Form onSubmit={handleSubmitLoginForm} validate={validate}>
{({ handleSubmit }) => (
<form onSubmit={handleSubmit} autoComplete="off" className="login-form">
<div className="login-form__field">
<Field name="email" component={Input} type="email" label="E-mail" />
</div>
<div className="login-form__buttons">
<button type="submit" className={loading ? 'button-disabled' : ''}>
Sign in
</button>
</div>
</form>
)}
</Form>
</article>
);
};
И мой тест:
it('should contain proper text in header', () => {
const store = mockStore({
auth: {
loading: false,
isLogged: false,
errorMessage: ''
}
});
const wrapper = mount(
<Provider store={store}>
<MemoryRouter initialEntries={['/account/login']}>
<LoginForm />
</MemoryRouter>
</Provider>
);
console.log(wrapper.debug());
//expect(wrapper.find('h2').text()).toEqual('Sign in');
});
Должен ли я обернуть LoginForm в тесте? Ищу любой совет;)