@@ -11,7 +11,6 @@ import {
1111 escapeKey ,
1212} from '../common/controllers/key-bindings.js' ;
1313import { defineComponents } from '../common/definitions/defineComponents.js' ;
14- import { IgcDateRangePickerResourceStringsEN } from '../common/i18n/date-range-picker.resources.js' ;
1514import {
1615 type ValidationContainerTestsParams ,
1716 checkDatesEqual ,
@@ -38,7 +37,7 @@ describe('Date range picker', () => {
3837
3938 const toggleIcon = 'today' ;
4039 const clearIcon = 'input_clear' ;
41- const today = CalendarDay . from ( new Date ( ) ) ;
40+ const today = CalendarDay . today ;
4241 const tomorrow = today . add ( 'day' , 1 ) ;
4342
4443 beforeEach ( async ( ) => {
@@ -865,14 +864,8 @@ describe('Date range picker', () => {
865864 } ) ;
866865 } ) ;
867866 describe ( 'Selection via the range selection chips' , ( ) => {
868- const previousThreeDaysStart = CalendarDay . from ( today . native ) . add (
869- 'day' ,
870- - 3
871- ) . native ;
872- const nextThreeDaysEnd = CalendarDay . from ( today . native ) . add (
873- 'day' ,
874- + 3
875- ) . native ;
867+ const previousThreeDaysStart = CalendarDay . today . add ( 'day' , - 3 ) . native ;
868+ const nextThreeDaysEnd = CalendarDay . today . add ( 'day' , 3 ) . native ;
876869
877870 const customRanges : CustomDateRange [ ] = [
878871 {
@@ -898,142 +891,38 @@ describe('Date range picker', () => {
898891 const chips = picker . renderRoot . querySelectorAll ( 'igc-chip' ) ;
899892 expect ( chips . length ) . to . equal ( 0 ) ;
900893 } ) ;
901- it ( 'should render all predefined chips and custom chips when set' , async ( ) => {
902- picker . usePredefinedRanges = true ;
903- picker . open = true ;
904- const predefinedRangesLength = ( picker as any ) . predefinedRanges . length ;
905- await elementUpdated ( picker ) ;
906-
907- let chips = picker . renderRoot . querySelectorAll ( 'igc-chip' ) ;
908- expect ( chips . length ) . to . equal ( predefinedRangesLength ) ;
909-
910- expect ( chips [ 0 ] . innerText ) . to . equal (
911- IgcDateRangePickerResourceStringsEN . last7Days
912- ) ;
913- expect ( chips [ 1 ] . innerText ) . to . equal (
914- IgcDateRangePickerResourceStringsEN . currentMonth
915- ) ;
916- expect ( chips [ 2 ] . innerText ) . to . equal (
917- IgcDateRangePickerResourceStringsEN . last30Days
918- ) ;
919- expect ( chips [ 3 ] . innerText ) . to . equal (
920- IgcDateRangePickerResourceStringsEN . yearToDate
921- ) ;
922-
923- picker . customRanges = customRanges ;
924- await elementUpdated ( picker ) ;
925-
926- const allRangesLenght = ( picker as any ) . allRanges . length ;
927- chips = picker . renderRoot . querySelectorAll ( 'igc-chip' ) ;
928- expect ( chips . length ) . to . equal ( allRangesLenght ) ;
929894
930- expect ( chips [ 0 ] . innerText ) . to . equal (
931- IgcDateRangePickerResourceStringsEN . last7Days
932- ) ;
933- expect ( chips [ 1 ] . innerText ) . to . equal (
934- IgcDateRangePickerResourceStringsEN . currentMonth
935- ) ;
936- expect ( chips [ 2 ] . innerText ) . to . equal (
937- IgcDateRangePickerResourceStringsEN . last30Days
938- ) ;
939- expect ( chips [ 3 ] . innerText ) . to . equal (
940- IgcDateRangePickerResourceStringsEN . yearToDate
941- ) ;
942- expect ( chips [ 4 ] . innerText ) . to . equal ( 'Previous Three Days' ) ;
943- expect ( chips [ 5 ] . innerText ) . to . equal ( 'Next Three Days' ) ;
944- } ) ;
945895 it ( 'should emit igcChange when the chips are clicked' , async ( ) => {
946896 const eventSpy = spy ( picker , 'emitEvent' ) ;
947897 const popover = picker . renderRoot . querySelector ( 'igc-popover' ) ;
948898
899+ const predefinedRanges = [
900+ ...( picker as any ) . predefinedRanges ,
901+ ...customRanges ,
902+ ] ;
949903 picker . usePredefinedRanges = true ;
950904 picker . customRanges = customRanges ;
951905 picker . open = true ;
952906 await elementUpdated ( picker ) ;
953907
954- const allRangesLenght = ( picker as any ) . allRanges . length ;
908+ const allRangesLength = ( picker as any ) . allRanges . length ;
955909 const chips = picker . renderRoot . querySelectorAll ( 'igc-chip' ) ;
956- expect ( chips . length ) . to . equal ( allRangesLenght ) ;
957-
958- chips [ 0 ] . click ( ) ;
959- await elementUpdated ( picker ) ;
960-
961- expect ( eventSpy ) . calledWith ( 'igcChange' ) ;
962-
963- checkSelectedRange ( picker , {
964- start : CalendarDay . today . add ( 'day' , - 7 ) . native ,
965- end : today . native ,
966- } ) ;
967-
968- expect ( popover ?. hasAttribute ( 'open' ) ) . to . equal ( true ) ;
969-
970- chips [ 1 ] . click ( ) ;
971- await elementUpdated ( picker ) ;
972-
973- expect ( eventSpy ) . calledWith ( 'igcChange' ) ;
974-
975- checkSelectedRange ( picker , {
976- start : new Date (
977- today . native . getFullYear ( ) ,
978- today . native . getMonth ( ) ,
979- 1
980- ) ,
981- end : new Date (
982- today . native . getFullYear ( ) ,
983- today . native . getMonth ( ) + 1 ,
984- 0
985- ) ,
986- } ) ;
987-
988- expect ( popover ?. hasAttribute ( 'open' ) ) . to . equal ( true ) ;
910+ expect ( chips . length ) . to . equal ( allRangesLength ) ;
989911
990- chips [ 2 ] . click ( ) ;
991- await elementUpdated ( picker ) ;
992-
993- expect ( eventSpy ) . calledWith ( 'igcChange' ) ;
994-
995- checkSelectedRange ( picker , {
996- start : CalendarDay . from ( today . native ) . add ( 'day' , - 29 ) . native ,
997- end : today . native ,
998- } ) ;
999-
1000- expect ( popover ?. hasAttribute ( 'open' ) ) . to . equal ( true ) ;
1001-
1002- chips [ 3 ] . click ( ) ;
1003- await elementUpdated ( picker ) ;
1004-
1005- expect ( eventSpy ) . calledWith ( 'igcChange' ) ;
1006-
1007- checkSelectedRange ( picker , {
1008- start : new Date ( today . native . getFullYear ( ) , 0 , 1 ) ,
1009- end : today . native ,
1010- } ) ;
1011-
1012- expect ( popover ?. hasAttribute ( 'open' ) ) . to . equal ( true ) ;
1013-
1014- chips [ 4 ] . click ( ) ;
1015- await elementUpdated ( picker ) ;
1016-
1017- expect ( eventSpy ) . calledWith ( 'igcChange' ) ;
1018-
1019- checkSelectedRange ( picker , {
1020- start : previousThreeDaysStart ,
1021- end : today . native ,
1022- } ) ;
1023-
1024- expect ( popover ?. hasAttribute ( 'open' ) ) . to . equal ( true ) ;
912+ for ( let i = 0 ; i < chips . length ; i ++ ) {
913+ expect ( chips [ i ] . innerText ) . to . equal ( predefinedRanges [ i ] . label ) ;
1025914
1026- chips [ 5 ] . click ( ) ;
1027- await elementUpdated ( picker ) ;
1028-
1029- expect ( eventSpy ) . calledWith ( 'igcChange' ) ;
915+ chips [ i ] . click ( ) ;
916+ await elementUpdated ( picker ) ;
1030917
1031- checkSelectedRange ( picker , {
1032- start : today . native ,
1033- end : nextThreeDaysEnd ,
1034- } ) ;
918+ expect ( eventSpy ) . calledWith ( 'igcChange' ) ;
1035919
1036- expect ( popover ?. hasAttribute ( 'open' ) ) . to . equal ( true ) ;
920+ checkSelectedRange ( picker , {
921+ start : predefinedRanges [ i ] . dateRange . start ,
922+ end : predefinedRanges [ i ] . dateRange . end ,
923+ } ) ;
924+ expect ( popover ?. hasAttribute ( 'open' ) ) . to . equal ( true ) ;
925+ }
1037926 } ) ;
1038927
1039928 it ( 'should render only custom chips, when usePredefinedRanges is false and emit igcChange when chips are clicked' , async ( ) => {
0 commit comments