import * as React from 'react';
import { isWeekend } from 'date-fns';
import { screen, waitFor } from '@testing-library/react';
import TextField, { TextFieldProps } from '@material-ui/core/TextField';
import { utilsToUse, getAllByMuiTest } from './test-utils';
import { DesktopDateRangePicker, StaticDateRangePicker } from '..';
import { createClientRender, fireEvent } from './createClientRender';
const defaultRangeRenderInput = (startProps: TextFieldProps, endProps: TextFieldProps) => (
);
describe('', () => {
const render = createClientRender({ strict: false });
it('allows disabling dates', () => {
render(
isWeekend(utilsToUse.toJsDate(date))}
onChange={jest.fn()}
value={[
utilsToUse.date('2018-01-01T00:00:00.000'),
utilsToUse.date('2018-01-31T00:00:00.000'),
]}
/>
);
expect(
getAllByMuiTest('DateRangeDay').filter((day) => day.getAttribute('disabled') !== undefined)
).toHaveLength(31);
});
it(`doesn't crashes if opening picker with invalid date input`, async () => {
render(
);
fireEvent.focus(screen.getAllByRole('textbox')[0]);
await waitFor(() => screen.getByRole('tooltip'));
expect(screen.getByRole('tooltip')).toBeInTheDocument();
});
it('prop – `renderDay` should be called and render days', async () => {
render(
}
value={[null, null]}
/>
);
await waitFor(() => screen.getByRole('tooltip'));
expect(getAllByMuiTest('renderDayCalled').length).not.toBe(0);
});
});