import { screen, render } from '@testing-library/react';
import { DatePicker } from '../DatePicker';
import React from 'react';
import userEvent from '@testing-library/user-event';
test('disabled date picker', () => {
const { asFragment } = render();
expect(asFragment()).toMatchSnapshot();
});
test('Date picker with multiple validators does not show invalid icon on valid input', async () => {
const user = userEvent.setup();
const rangeValidator = (date: Date) => {
return '';
};
const rangeValidatorB = (date: Date) => {
return '';
};
render();
await user.click(screen.getByRole('textbox'));
await user.click(document.body);
expect(screen.getByRole('textbox')).not.toBeInvalid();
});
test('Error state can be cleared from outside', async () => {
const rangeValidator = (date: Date) => {
if (date < new Date('2020-03-17')) {
return 'error';
}
return '';
};
const user = userEvent.setup();
const { rerender } = render();
await user.clear(screen.getByRole('textbox'));
await user.type(screen.getByRole('textbox'), '2020-03-16');
await user.click(document.body);
rerender();
expect(screen.getByRole('textbox')).not.toBeInvalid();
});