@@ -241,17 +241,40 @@ describe('Datepicker mounted', () => {
241241 expect ( spy ) . toBeCalled ( ) ;
242242 } ) ;
243243
244- it ( 'watches openDate' , async ( ) => {
245- const wrapper = shallowMount ( Datepicker , {
246- propsData : {
247- openDate : new Date ( 2018 , 0 , 1 ) ,
248- } ,
244+ describe ( 'openDate watcher' , ( ) => {
245+ it ( 'should update the pageTimestamp and focusedDate' , async ( ) => {
246+ const wrapper = shallowMount ( Datepicker , {
247+ propsData : {
248+ openDate : new Date ( 2018 , 0 , 1 ) ,
249+ } ,
250+ } ) ;
251+ expect ( wrapper . vm . focusedDate ) . toEqual ( new Date ( 2018 , 0 , 1 ) . getTime ( ) ) ;
252+ expect ( wrapper . vm . pageTimestamp ) . toEqual ( new Date ( 2018 , 0 , 1 ) . getTime ( ) ) ;
253+ const spy = jest . spyOn ( wrapper . vm , 'setPageDate' ) ;
254+ await wrapper . setProps ( {
255+ openDate : new Date ( 2018 , 3 , 26 ) ,
256+ } ) ;
257+ expect ( spy ) . toBeCalled ( ) ;
258+ expect ( wrapper . vm . focusedDate ) . toEqual ( new Date ( 2018 , 3 , 26 ) . getTime ( ) ) ;
259+ expect ( wrapper . vm . pageTimestamp ) . toEqual ( new Date ( 2018 , 3 , 1 ) . getTime ( ) ) ;
249260 } ) ;
250- const spy = jest . spyOn ( wrapper . vm , 'setPageDate' ) ;
251- await wrapper . setProps ( {
252- openDate : new Date ( 2018 , 3 , 26 ) ,
261+
262+ it ( 'Should not crash when openDate is cleared' , async ( ) => {
263+ const wrapper = shallowMount ( Datepicker , {
264+ propsData : {
265+ openDate : new Date ( 2018 , 0 , 1 ) ,
266+ } ,
267+ } ) ;
268+ expect ( wrapper . vm . focusedDate ) . toEqual ( new Date ( 2018 , 0 , 1 ) . getTime ( ) ) ;
269+ expect ( wrapper . vm . pageTimestamp ) . toEqual ( new Date ( 2018 , 0 , 1 ) . getTime ( ) ) ;
270+ const spy = jest . spyOn ( wrapper . vm , 'setPageDate' ) ;
271+ await wrapper . setProps ( {
272+ openDate : null ,
273+ } ) ;
274+ expect ( spy ) . toBeCalled ( ) ;
275+ expect ( wrapper . vm . focusedDate ) . not . toEqual ( new Date ( 2018 , 0 , 1 ) . getTime ( ) ) ;
276+ expect ( wrapper . vm . pageTimestamp ) . not . toEqual ( new Date ( 2018 , 0 , 1 ) . getTime ( ) ) ;
253277 } ) ;
254- expect ( spy ) . toBeCalled ( ) ;
255278 } ) ;
256279
257280 it ( 'watches initialView' , async ( ) => {
0 commit comments