@@ -9384,6 +9384,81 @@ describe('DateRangePicker', () => {
93849384 expect(document.body.contains(dateRangePicker.popupObj)).toBe(false);
93859385 });
93869386 });
9387+ describe('EJ2-48804- Preset ranges with time value', function() {
9388+ let dateRangePicker:any;
9389+ beforeEach(function(){
9390+ let element: HTMLElement = createElement('input',{id:'date'});
9391+ document.body.appendChild(element);
9392+
9393+ });
9394+ afterEach(function(){
9395+ if(dateRangePicker){
9396+ dateRangePicker.destroy();
9397+ }
9398+ document.body.innerHTML = '';
9399+ });
9400+ it('Checking preset item is selected when popup is opened', function() {
9401+ dateRangePicker = new DateRangePicker({
9402+ presets: [
9403+ { label: 'Custom Date', start: new Date(2020,1,1,10,10,50), end: new Date(2020,3,1,9,30,40) },
9404+ { label: 'Last week', start: new Date(new Date().setDate(new Date().getDate() - 7)), end: new Date()}
9405+ ],
9406+ });
9407+ dateRangePicker.appendTo('#date');
9408+ dateRangePicker.show();
9409+ <HTMLElement>(dateRangePicker.popupObj.element.querySelector('.e-presets li:first-child')).click();
9410+ let startDate: string = dateRangePicker.globalize.formatDate(dateRangePicker.startDate, { format: dateRangePicker.format, type: 'date', skeleton: 'yMd' });
9411+ let endDate: string = dateRangePicker.globalize.formatDate(dateRangePicker.endDate, { format: dateRangePicker.format, type: 'date', skeleton: 'yMd' });
9412+ expect(dateRangePicker.element.value === startDate + ' - ' + endDate).toBe(true);
9413+ dateRangePicker.hide();
9414+ dateRangePicker.focusOut();
9415+ dateRangePicker.show();
9416+ expect((dateRangePicker.popupObj.element.querySelector('.e-presets li:first-child')).classList.contains('e-active')).toBe(true);
9417+ })
9418+ it('Checking preset item is selected when popup is opened with predefined value', function() {
9419+ dateRangePicker = new DateRangePicker({
9420+ value: [new Date(2020,1,1,10,10,50), new Date(2020,3,1,9,30,40)],
9421+ presets: [
9422+ { label: 'Custom Date', start: new Date(2020,1,1,10,10,50), end: new Date(2020,3,1,9,30,40) },
9423+ { label: 'My Date', start: new Date('1/1/2020'), end: new Date('3/2/2020') },
9424+ { label: 'Today', start: new Date(), end: new Date() },
9425+ { label: 'Last week', start: new Date(new Date().setDate(new Date().getDate() - 7)), end: new Date()}
9426+ ],
9427+ });
9428+ dateRangePicker.appendTo('#date');
9429+ let startDate: string = dateRangePicker.globalize.formatDate(dateRangePicker.startDate, { format: dateRangePicker.format, type: 'date', skeleton: 'yMd' });
9430+ let endDate: string = dateRangePicker.globalize.formatDate(dateRangePicker.endDate, { format: dateRangePicker.format, type: 'date', skeleton: 'yMd' });
9431+ expect(dateRangePicker.element.value === startDate + ' - ' + endDate).toBe(true);
9432+ dateRangePicker.show();
9433+ expect((dateRangePicker.popupObj.element.querySelector('.e-presets li:first-child')).classList.contains('e-active')).toBe(true);
9434+ dateRangePicker.hide();
9435+ dateRangePicker.focusOut();
9436+ dateRangePicker.show();
9437+ expect((dateRangePicker.popupObj.element.querySelector('.e-presets li:first-child')).classList.contains('e-active')).toBe(true);
9438+ })
9439+ it('Checking preset item is selected when popup is opened with predefined startdate and enddate', function() {
9440+ dateRangePicker = new DateRangePicker({
9441+ startDate: new Date(2020,1,1,10,10,50),
9442+ endDate: new Date(2020,3,1,9,30,40),
9443+ presets: [
9444+ { label: 'Custom Date', start: new Date(2020,1,1,10,10,50), end: new Date(2020,3,1,9,30,40) },
9445+ { label: 'My Date', start: new Date('1/1/2020'), end: new Date('3/2/2020') },
9446+ { label: 'Today', start: new Date(), end: new Date() },
9447+ { label: 'Last week', start: new Date(new Date().setDate(new Date().getDate() - 7)), end: new Date()}
9448+ ],
9449+ });
9450+ dateRangePicker.appendTo('#date');
9451+ let startDate: string = dateRangePicker.globalize.formatDate(dateRangePicker.startDate, { format: dateRangePicker.format, type: 'date', skeleton: 'yMd' });
9452+ let endDate: string = dateRangePicker.globalize.formatDate(dateRangePicker.endDate, { format: dateRangePicker.format, type: 'date', skeleton: 'yMd' });
9453+ expect(dateRangePicker.element.value === startDate + ' - ' + endDate).toBe(true);
9454+ dateRangePicker.show();
9455+ expect((dateRangePicker.popupObj.element.querySelector('.e-presets li:first-child')).classList.contains('e-active')).toBe(true);
9456+ dateRangePicker.hide();
9457+ dateRangePicker.focusOut();
9458+ dateRangePicker.show();
9459+ expect((dateRangePicker.popupObj.element.querySelector('.e-presets li:first-child')).classList.contains('e-active')).toBe(true);
9460+ })
9461+ })
93879462});
93889463interface CalendarElement {
93899464 leftCalTitle: HTMLElement;
0 commit comments