@@ -71,7 +71,10 @@ describe('Picker.Panel', () => {
7171 expect ( wrapper . find ( '.rc-picker-year-panel' ) . length ) . toBeTruthy ( ) ;
7272 } ) ;
7373
74- [ [ 'month' , 'Aug' ] , [ 'quarter' , 'Q3' ] ] . forEach ( ( [ picker , cell ] ) => {
74+ [
75+ [ 'month' , 'Aug' ] ,
76+ [ 'quarter' , 'Q3' ] ,
77+ ] . forEach ( ( [ picker , cell ] ) => {
7578 it ( picker , ( ) => {
7679 const wrapper = mount ( < MomentPickerPanel picker = { picker as any } /> ) ;
7780 wrapper . find ( '.rc-picker-year-btn' ) . simulate ( 'click' ) ;
@@ -91,7 +94,7 @@ describe('Picker.Panel', () => {
9194 } ) ;
9295
9396 describe ( 'time click to scroll' , ( ) => {
94- [ true , false ] . forEach ( bool => {
97+ [ true , false ] . forEach ( ( bool ) => {
9598 it ( `spy requestAnimationFrame: ${ bool } ` , ( ) => {
9699 let scrollTop = 90 ;
97100 const domSpy = spyElementPrototypes ( HTMLElement , {
@@ -116,19 +119,9 @@ describe('Picker.Panel', () => {
116119 const wrapper = mount ( < MomentPickerPanel picker = "time" /> ) ;
117120
118121 // Multiple times should only one work
119- wrapper
120- . find ( 'ul' )
121- . first ( )
122- . find ( 'li' )
123- . at ( 3 )
124- . simulate ( 'click' ) ;
125-
126- wrapper
127- . find ( 'ul' )
128- . first ( )
129- . find ( 'li' )
130- . at ( 11 )
131- . simulate ( 'click' ) ;
122+ wrapper . find ( 'ul' ) . first ( ) . find ( 'li' ) . at ( 3 ) . simulate ( 'click' ) ;
123+
124+ wrapper . find ( 'ul' ) . first ( ) . find ( 'li' ) . at ( 11 ) . simulate ( 'click' ) ;
132125 jest . runAllTimers ( ) ;
133126
134127 expect ( requestAnimationFrameSpy ) . toHaveBeenCalled ( ) ;
@@ -158,7 +151,7 @@ describe('Picker.Panel', () => {
158151 expect ( wrapper . find ( '.rc-picker-header-view' ) . text ( ) ) . toEqual ( 'Sep1990' ) ;
159152 } ) ;
160153
161- [ 'month' , 'quarter' ] . forEach ( picker => {
154+ [ 'month' , 'quarter' ] . forEach ( ( picker ) => {
162155 it ( picker , ( ) => {
163156 const wrapper = mount (
164157 < MomentPickerPanel defaultValue = { getMoment ( '1990-09-03' ) } picker = { picker as any } /> ,
@@ -215,30 +208,63 @@ describe('Picker.Panel', () => {
215208 ) ;
216209
217210 expect ( wrapper . find ( '.rc-picker-time-panel-column' ) ) . toHaveLength ( 2 ) ;
218- expect (
219- wrapper
220- . find ( '.rc-picker-time-panel-column' )
221- . first ( )
222- . find ( 'li' )
223- . first ( )
224- . text ( ) ,
225- ) . toEqual ( '04' ) ;
211+ expect ( wrapper . find ( '.rc-picker-time-panel-column' ) . first ( ) . find ( 'li' ) . first ( ) . text ( ) ) . toEqual (
212+ '04' ,
213+ ) ;
226214
227215 // Click on date
228216 wrapper . selectCell ( 5 ) ;
229217 expect ( isSame ( onSelect . mock . calls [ 0 ] [ 0 ] , '1990-09-05 01:03:07' ) ) . toBeTruthy ( ) ;
230218
231219 // Click on time
232220 onSelect . mockReset ( ) ;
233- wrapper
234- . find ( 'ul' )
235- . first ( )
236- . find ( 'li' )
237- . at ( 11 )
238- . simulate ( 'click' ) ;
221+ wrapper . find ( 'ul' ) . first ( ) . find ( 'li' ) . at ( 11 ) . simulate ( 'click' ) ;
239222 expect ( isSame ( onSelect . mock . calls [ 0 ] [ 0 ] , '2001-01-02 11:00:00' ) ) . toBeTruthy ( ) ;
240223 } ) ;
241224
225+ it ( 'showTime.defaultValue only works at first render' , ( ) => {
226+ const onSelect = jest . fn ( ) ;
227+ const wrapper = mount (
228+ < MomentPickerPanel
229+ showTime = { {
230+ defaultValue : getMoment ( '2001-01-02 01:03:07' ) ,
231+ } }
232+ onSelect = { onSelect }
233+ /> ,
234+ ) ;
235+
236+ wrapper . selectCell ( 5 ) ;
237+ // use showTime.defaultValue
238+ expect ( isSame ( onSelect . mock . calls [ 0 ] [ 0 ] , '1990-09-05 01:03:07' ) ) . toBeTruthy ( ) ;
239+
240+ // set hour to 10
241+ wrapper . find ( 'ul' ) . first ( ) . find ( 'li' ) . at ( 10 ) . simulate ( 'click' ) ;
242+
243+ // expect hour changed
244+ expect ( isSame ( onSelect . mock . calls [ 1 ] [ 0 ] , '1990-09-05 10:03:07' ) ) . toBeTruthy ( ) ;
245+
246+ wrapper . selectCell ( 20 ) ;
247+ // expect using last selection time
248+ expect ( isSame ( onSelect . mock . calls [ 2 ] [ 0 ] , '1990-09-20 10:03:07' ) ) . toBeTruthy ( ) ;
249+ } ) ;
250+
251+ it ( 'datepicker has defaultValue and showTime.defaultValue ' , ( ) => {
252+ const onSelect = jest . fn ( ) ;
253+ const wrapper = mount (
254+ < MomentPickerPanel
255+ value = { getMoment ( '2001-01-02 10:10:10' ) }
256+ showTime = { {
257+ defaultValue : getMoment ( '2001-01-02 09:09:09' ) ,
258+ } }
259+ onSelect = { onSelect }
260+ /> ,
261+ ) ;
262+
263+ wrapper . selectCell ( 5 ) ;
264+ // showTime.defaultValue not used
265+ expect ( isSame ( onSelect . mock . calls [ 0 ] [ 0 ] , '2001-01-05 10:10:10' ) ) . toBeTruthy ( ) ;
266+ } ) ;
267+
242268 describe ( 'not trigger onSelect when cell disabled' , ( ) => {
243269 it ( 'time' , ( ) => {
244270 const onSelect = jest . fn ( ) ;
@@ -247,17 +273,11 @@ describe('Picker.Panel', () => {
247273 ) ;
248274
249275 // Disabled
250- wrapper
251- . find ( 'li' )
252- . first ( )
253- . simulate ( 'click' ) ;
276+ wrapper . find ( 'li' ) . first ( ) . simulate ( 'click' ) ;
254277 expect ( onSelect ) . not . toHaveBeenCalled ( ) ;
255278
256279 // Enabled
257- wrapper
258- . find ( 'li' )
259- . at ( 1 )
260- . simulate ( 'click' ) ;
280+ wrapper . find ( 'li' ) . at ( 1 ) . simulate ( 'click' ) ;
261281 expect ( onSelect ) . toHaveBeenCalled ( ) ;
262282 } ) ;
263283
@@ -267,7 +287,7 @@ describe('Picker.Panel', () => {
267287 < MomentPickerPanel
268288 picker = "month"
269289 onSelect = { onSelect }
270- disabledDate = { date => date . month ( ) === 0 }
290+ disabledDate = { ( date ) => date . month ( ) === 0 }
271291 /> ,
272292 ) ;
273293
@@ -284,7 +304,7 @@ describe('Picker.Panel', () => {
284304 < MomentPickerPanel
285305 picker = "year"
286306 onSelect = { onSelect }
287- disabledDate = { date => date . year ( ) === 1990 }
307+ disabledDate = { ( date ) => date . year ( ) === 1990 }
288308 /> ,
289309 ) ;
290310
@@ -302,7 +322,7 @@ describe('Picker.Panel', () => {
302322 < MomentPickerPanel
303323 mode = "decade"
304324 onPanelChange = { onPanelChange }
305- disabledDate = { date => date . year ( ) === 1900 }
325+ disabledDate = { ( date ) => date . year ( ) === 1900 }
306326 /> ,
307327 ) ;
308328
@@ -337,12 +357,7 @@ describe('Picker.Panel', () => {
337357 /> ,
338358 ) ;
339359
340- wrapper
341- . find ( '.rc-picker-time-panel-column' )
342- . last ( )
343- . find ( 'li' )
344- . last ( )
345- . simulate ( 'click' ) ;
360+ wrapper . find ( '.rc-picker-time-panel-column' ) . last ( ) . find ( 'li' ) . last ( ) . simulate ( 'click' ) ;
346361 expect ( isSame ( onChange . mock . calls [ 0 ] [ 0 ] , '2000-01-01 12:01:02' , 'second' ) ) . toBeTruthy ( ) ;
347362 } ) ;
348363
@@ -474,7 +489,7 @@ describe('Picker.Panel', () => {
474489 } ) ;
475490
476491 describe ( 'hideHeader' , ( ) => {
477- [ 'decade' , 'year' , 'month' , 'quarter' , 'date' , 'time' ] . forEach ( mode => {
492+ [ 'decade' , 'year' , 'month' , 'quarter' , 'date' , 'time' ] . forEach ( ( mode ) => {
478493 it ( mode , ( ) => {
479494 const wrapper = mount ( < MomentPickerPanel mode = { mode as any } hideHeader /> ) ;
480495 expect ( wrapper . find ( '.rc-picker-header' ) ) . toHaveLength ( 0 ) ;
@@ -499,51 +514,41 @@ describe('Picker.Panel', () => {
499514
500515 it ( 'monthCellRender' , ( ) => {
501516 const wrapper = mount (
502- < MomentPickerPanel picker = "month" monthCellRender = { date => date . format ( 'YYYY-MM' ) } /> ,
517+ < MomentPickerPanel picker = "month" monthCellRender = { ( date ) => date . format ( 'YYYY-MM' ) } /> ,
503518 ) ;
504519
505520 expect ( wrapper . find ( 'tbody' ) . render ( ) ) . toMatchSnapshot ( ) ;
506521 } ) ;
507522
508523 describe ( 'start weekday should be correct' , ( ) => {
509- [ { locale : zhCN , startDate : '30' } , { locale : enUS , startDate : '29' } ] . forEach (
510- ( { locale, startDate } ) => {
511- it ( locale . locale , ( ) => {
512- const wrapper = mount (
513- < MomentPickerPanel defaultValue = { getMoment ( '2020-04-02' ) } locale = { locale } /> ,
514- ) ;
524+ [
525+ { locale : zhCN , startDate : '30' } ,
526+ { locale : enUS , startDate : '29' } ,
527+ ] . forEach ( ( { locale, startDate } ) => {
528+ it ( locale . locale , ( ) => {
529+ const wrapper = mount (
530+ < MomentPickerPanel defaultValue = { getMoment ( '2020-04-02' ) } locale = { locale } /> ,
531+ ) ;
515532
516- expect (
517- wrapper
518- . find ( 'td' )
519- . first ( )
520- . text ( ) ,
521- ) . toEqual ( startDate ) ;
522- } ) ;
523- } ,
524- ) ;
533+ expect ( wrapper . find ( 'td' ) . first ( ) . text ( ) ) . toEqual ( startDate ) ;
534+ } ) ;
535+ } ) ;
525536
526- [ { locale : zhCN , startDate : '24' } , { locale : enUS , startDate : '1' } ] . forEach (
527- ( { locale, startDate } ) => {
528- it ( `another align test of ${ locale . locale } ` , ( ) => {
529- const wrapper = mount (
530- < MomentPickerPanel defaultValue = { getMoment ( '2020-03-01' ) } locale = { locale } /> ,
531- ) ;
537+ [
538+ { locale : zhCN , startDate : '24' } ,
539+ { locale : enUS , startDate : '1' } ,
540+ ] . forEach ( ( { locale, startDate } ) => {
541+ it ( `another align test of ${ locale . locale } ` , ( ) => {
542+ const wrapper = mount (
543+ < MomentPickerPanel defaultValue = { getMoment ( '2020-03-01' ) } locale = { locale } /> ,
544+ ) ;
532545
533- expect (
534- wrapper
535- . find ( 'td' )
536- . first ( )
537- . text ( ) ,
538- ) . toEqual ( startDate ) ;
539- } ) ;
540- } ,
541- ) ;
546+ expect ( wrapper . find ( 'td' ) . first ( ) . text ( ) ) . toEqual ( startDate ) ;
547+ } ) ;
548+ } ) ;
542549
543550 it ( 'update firstDayOfWeek' , ( ) => {
544- const defaultFirstDay = moment ( enUS . locale )
545- . localeData ( )
546- . firstDayOfWeek ( ) ;
551+ const defaultFirstDay = moment ( enUS . locale ) . localeData ( ) . firstDayOfWeek ( ) ;
547552 moment . updateLocale ( enUS . locale , {
548553 week : {
549554 dow : 5 ,
@@ -555,12 +560,7 @@ describe('Picker.Panel', () => {
555560 < MomentPickerPanel defaultValue = { getMoment ( '2020-04-02' ) } locale = { enUS } /> ,
556561 ) ;
557562
558- expect (
559- wrapper
560- . find ( 'td' )
561- . first ( )
562- . text ( ) ,
563- ) . toEqual ( '27' ) ;
563+ expect ( wrapper . find ( 'td' ) . first ( ) . text ( ) ) . toEqual ( '27' ) ;
564564
565565 moment . updateLocale ( enUS . locale , {
566566 week : {
0 commit comments