@@ -58,6 +58,8 @@ describe('IgxDateRangePicker', () => {
5858 let mockCalendar : IgxCalendarComponent ;
5959 let mockDaysView : any ;
6060 let mockCdr : any ;
61+ let fixture : any ;
62+ let dateRange : IgxDateRangePickerComponent ;
6163 const elementRef = { nativeElement : null } ;
6264 const mockNgControl = jasmine . createSpyObj ( 'NgControl' ,
6365 [ 'registerOnChangeCb' ,
@@ -79,6 +81,10 @@ describe('IgxDateRangePicker', () => {
7981 mockElement . parent = mockElement ;
8082 mockElement . parentElement = mockElement ;
8183
84+ mockCdr = jasmine . createSpyObj ( 'ChangeDetectorRef' , {
85+ detectChanges : ( ) => { }
86+ } ) ;
87+
8288 TestBed . configureTestingModule ( {
8389 imports : [ NoopAnimationsModule ] ,
8490 providers : [
@@ -88,10 +94,13 @@ describe('IgxDateRangePicker', () => {
8894 IgxCalendarComponent ,
8995 KeyboardNavigationService ,
9096 ChangeDetectorRef ,
91- IgxDateRangePickerComponent
9297 ]
9398 } ) ;
9499
100+ fixture = TestBed . createComponent ( IgxDateRangePickerComponent ) ;
101+ dateRange = fixture . componentInstance ;
102+ ( dateRange as any ) . _cdr = mockCdr ;
103+
95104 mockCalendar = TestBed . inject ( IgxCalendarComponent ) ;
96105
97106 mockDaysView = {
@@ -101,7 +110,7 @@ describe('IgxDateRangePicker', () => {
101110 } ) ;
102111 /* eslint-enable @typescript-eslint/no-unused-vars */
103112 it ( 'should set range dates correctly through selectRange method' , ( ) => {
104- const dateRange = TestBed . inject ( IgxDateRangePickerComponent ) ;
113+ // const dateRange = TestBed.inject(IgxDateRangePickerComponent);
105114 // dateRange.calendar = calendar;
106115 let startDate = new Date ( 2020 , 3 , 7 ) ;
107116 const endDate = new Date ( 2020 , 6 , 27 ) ;
@@ -119,7 +128,7 @@ describe('IgxDateRangePicker', () => {
119128 } ) ;
120129
121130 it ( 'should emit valueChange on selection' , ( ) => {
122- const dateRange = TestBed . inject ( IgxDateRangePickerComponent ) ;
131+ // const dateRange = TestBed.inject(IgxDateRangePickerComponent);
123132 // dateRange.calendar = calendar;
124133 spyOn ( dateRange . valueChange , 'emit' ) ;
125134 let startDate = new Date ( 2017 , 4 , 5 ) ;
@@ -146,44 +155,41 @@ describe('IgxDateRangePicker', () => {
146155 const rangeUpdate = { start : new Date ( 2020 , 2 , 22 ) , end : new Date ( 2020 , 2 , 25 ) } ;
147156
148157 // init
149- const dateRangePicker = TestBed . inject ( IgxDateRangePickerComponent ) ;
150- dateRangePicker . registerOnChange ( mockNgControl . registerOnChangeCb ) ;
151- dateRangePicker . registerOnTouched ( mockNgControl . registerOnTouchedCb ) ;
152- spyOn ( dateRangePicker as any , 'handleSelection' ) . and . callThrough ( ) ;
158+ dateRange . registerOnChange ( mockNgControl . registerOnChangeCb ) ;
159+ dateRange . registerOnTouched ( mockNgControl . registerOnTouchedCb ) ;
160+ spyOn ( dateRange as any , 'handleSelection' ) . and . callThrough ( ) ;
153161
154162 // writeValue
155- expect ( dateRangePicker . value ) . toBeUndefined ( ) ;
163+ expect ( dateRange . value ) . toBeUndefined ( ) ;
156164 expect ( mockNgControl . registerOnChangeCb ) . not . toHaveBeenCalled ( ) ;
157- dateRangePicker . writeValue ( range ) ;
158- expect ( dateRangePicker . value ) . toBe ( range ) ;
165+ dateRange . writeValue ( range ) ;
166+ expect ( dateRange . value ) . toBe ( range ) ;
159167
160168 // set value & handleSelection call _onChangeCallback
161- dateRangePicker . value = rangeUpdate ;
169+ dateRange . value = rangeUpdate ;
162170 expect ( mockNgControl . registerOnChangeCb ) . toHaveBeenCalledWith ( rangeUpdate ) ;
163171
164- ( dateRangePicker as any ) . handleSelection ( [ range . start ] ) ;
165- expect ( ( dateRangePicker as any ) . handleSelection ) . toHaveBeenCalledWith ( [ range . start ] ) ;
166- expect ( ( dateRangePicker as any ) . handleSelection ) . toHaveBeenCalledTimes ( 1 ) ;
172+ ( dateRange as any ) . handleSelection ( [ range . start ] ) ;
173+ expect ( ( dateRange as any ) . handleSelection ) . toHaveBeenCalledWith ( [ range . start ] ) ;
174+ expect ( ( dateRange as any ) . handleSelection ) . toHaveBeenCalledTimes ( 1 ) ;
167175 expect ( mockNgControl . registerOnChangeCb ) . toHaveBeenCalledWith ( { start : range . start , end : range . start } ) ;
168176
169177 // awaiting implementation - OnTouched callback
170178 // Docs: changes the value, turning the control dirty; or blurs the form control element, setting the control to touched.
171179 // when handleSelection fires should be touched&dirty // when input is blurred(two inputs), should be touched.
172- ( dateRangePicker as any ) . handleSelection ( [ range . start ] ) ;
173- ( dateRangePicker as any ) . updateValidityOnBlur ( ) ;
180+ ( dateRange as any ) . handleSelection ( [ range . start ] ) ;
181+ ( dateRange as any ) . updateValidityOnBlur ( ) ;
174182 expect ( mockNgControl . registerOnTouchedCb ) . toHaveBeenCalledTimes ( 1 ) ;
175183
176- dateRangePicker . setDisabledState ( true ) ;
177- expect ( dateRangePicker . disabled ) . toBe ( true ) ;
178- dateRangePicker . setDisabledState ( false ) ;
179- expect ( dateRangePicker . disabled ) . toBe ( false ) ;
184+ dateRange . setDisabledState ( true ) ;
185+ expect ( dateRange . disabled ) . toBe ( true ) ;
186+ dateRange . setDisabledState ( false ) ;
187+ expect ( dateRange . disabled ) . toBe ( false ) ;
180188 } ) ;
181189
182190 it ( 'should validate correctly minValue and maxValue' , ( ) => {
183- const dateRange = TestBed . inject ( IgxDateRangePickerComponent ) ;
184191 dateRange . ngOnInit ( ) ;
185192
186- // dateRange.calendar = calendar;
187193 dateRange . registerOnChange ( mockNgControl . registerOnChangeCb ) ;
188194 dateRange . registerOnValidatorChange ( mockNgControl . registerOnValidatorChangeCb ) ;
189195
@@ -205,7 +211,6 @@ describe('IgxDateRangePicker', () => {
205211 } ) ;
206212
207213 it ( 'should disable calendar dates when min and/or max values as dates are provided' , ( ) => {
208- const dateRange = TestBed . inject ( IgxDateRangePickerComponent ) ;
209214 dateRange . ngOnInit ( ) ;
210215
211216 spyOnProperty ( ( dateRange as any ) , 'calendar' ) . and . returnValue ( mockCalendar ) ;
@@ -221,7 +226,6 @@ describe('IgxDateRangePicker', () => {
221226 } ) ;
222227
223228 it ( 'should disable calendar dates when min and/or max values as strings are provided' , fakeAsync ( ( ) => {
224- const dateRange = TestBed . inject ( IgxDateRangePickerComponent ) ;
225229 dateRange . ngOnInit ( ) ;
226230
227231 spyOnProperty ( ( dateRange as any ) , 'calendar' ) . and . returnValue ( mockCalendar ) ;
@@ -238,7 +242,6 @@ describe('IgxDateRangePicker', () => {
238242 } ) ) ;
239243
240244 it ( 'should validate correctly when disabledDates are set' , ( ) => {
241- const dateRange = new IgxDateRangePickerComponent ( elementRef , 'en-US' , platform , mockInjector , mockCdr , null , null ) ;
242245 dateRange . ngOnInit ( ) ;
243246
244247 dateRange . registerOnChange ( mockNgControl . registerOnChangeCb ) ;
0 commit comments