Skip to content

Commit

Permalink
[DateRangePicker] Allow same date selection (#23701)
Browse files Browse the repository at this point in the history
  • Loading branch information
hmaddisb authored Nov 27, 2020
1 parent a14124b commit 1e305ec
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,31 @@ describe('<DateRangePicker />', () => {
expect(getAllByMuiTest('DateRangeHighlight')).to.have.length(24);
});

it('allows a single day range', () => {
render(
<DesktopDateRangePicker
renderInput={defaultRangeRenderInput}
onChange={() => {}}
value={[
adapterToUse.date('2018-01-01T00:00:00.000'),
adapterToUse.date('2018-01-01T00:00:00.000'),
]}
/>,
);
const textboxes = screen.getAllByRole('textbox');
expect(textboxes[0]).to.have.attribute('aria-invalid', 'false');
expect(textboxes[1]).to.have.attribute('aria-invalid', 'false');
});

it('highlights the selected range of dates', () => {
render(
<DesktopDateRangePicker
open
renderInput={defaultRangeRenderInput}
onChange={() => {}}
value={[
adapterToUse.date(adapterToUse.date('2018-01-01T00:00:00.000')),
adapterToUse.date(adapterToUse.date('2018-01-31T00:00:00.000')),
adapterToUse.date('2018-01-01T00:00:00.000'),
adapterToUse.date('2018-01-31T00:00:00.000'),
]}
/>,
);
Expand Down Expand Up @@ -252,10 +268,7 @@ describe('<DateRangePicker />', () => {
calendars={3}
onChange={() => {}}
TransitionComponent={FakeTransitionComponent}
value={[
adapterToUse.date(adapterToUse.date(NaN)),
adapterToUse.date('2018-01-31T00:00:00.000'),
]}
value={[adapterToUse.date(NaN), adapterToUse.date('2018-01-31T00:00:00.000')]}
/>,
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ export const isRangeValid = <TDate>(
utils: MuiPickersAdapter<TDate>,
range: DateRange<TDate> | null,
): range is NonEmptyDateRange<TDate> => {
return Boolean(range && range[0] && range[1] && utils.isBefore(range[0], range[1]));
return Boolean(range && range[0] && range[1] && !utils.isBefore(range[1], range[0]));
};

export const isWithinRange = <TDate>(
Expand Down
4 changes: 2 additions & 2 deletions packages/material-ui-lab/src/internal/pickers/test-utils.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { parseISO } from 'date-fns';
import { createClientRender, fireEvent, screen } from 'test/utils';
import { queryHelpers, Matcher, MatcherOptions } from '@testing-library/react/pure';
import { TransitionProps } from '@material-ui/core/transitions';
import AdapterDateFns from '../../AdapterDateFns';
import LocalizationProvider from '../../LocalizationProvider';
import AdapterDateFns from '@material-ui/lab/AdapterDateFns';
import LocalizationProvider from '@material-ui/lab/LocalizationProvider';

// TODO make possible to pass here any utils using cli
/**
Expand Down

0 comments on commit 1e305ec

Please sign in to comment.