@@ -6,10 +6,11 @@ import { ja } from 'date-fns/locale';
66import Datepicker from '../../src/Vue3DatePicker/Vue3DatePicker.vue' ;
77import DatepickerMenu from '../../src/Vue3DatePicker/components/DatepickerMenu.vue' ;
88import Calendar from '../../src/Vue3DatePicker/components/Calendar.vue' ;
9+ import TimePicker from '../../src/Vue3DatePicker/components/TimePicker/TimePicker.vue' ;
10+ import MonthYearInput from '../../src/Vue3DatePicker/components/MonthYearInput.vue' ;
911import ActionRow from '../../src/Vue3DatePicker/components/ActionRow.vue' ;
1012
11- import { getNextMonthYear } from '../../src/Vue3DatePicker/utils/date-utils' ;
12- import { setSeconds , addMonths } from 'date-fns' ;
13+ import { setSeconds } from 'date-fns' ;
1314
1415const format = ( date : Date ) : string => {
1516 return `Selected year is ${ date . getFullYear ( ) } ` ;
@@ -26,10 +27,10 @@ describe('Logic connection', () => {
2627
2728 const menu : VueWrapper < any > = dp . findComponent ( DatepickerMenu ) ;
2829
29- expect ( menu . vm . month ) . toEqual ( date . getMonth ( ) ) ;
30- expect ( menu . vm . year ) . toEqual ( date . getFullYear ( ) ) ;
31- expect ( menu . vm . monthNext ) . toEqual ( getNextMonthYear ( date ) . month ) ;
32- expect ( menu . vm . yearNext ) . toEqual ( getNextMonthYear ( date ) . year ) ;
30+ await menu . vm . $nextTick ( ) ;
31+
32+ expect ( menu . vm . month ( 0 ) ) . toEqual ( date . getMonth ( ) ) ;
33+ expect ( menu . vm . year ( 0 ) ) . toEqual ( date . getFullYear ( ) ) ;
3334 expect ( menu . vm . hours ) . toEqual ( date . getHours ( ) ) ;
3435 expect ( menu . vm . minutes ) . toEqual ( date . getMinutes ( ) ) ;
3536 } ) ;
@@ -92,28 +93,6 @@ describe('Logic connection', () => {
9293 expect ( menu . vm . internalModelValue [ 1 ] ) . toEqual ( end ) ;
9394 } ) ;
9495
95- it ( 'Should select range from 2 calendars' , async ( ) => {
96- const start = setSeconds ( addDays ( new Date ( ) , 1 ) , 0 ) ;
97- const end = setSeconds ( addMonths ( start , 1 ) , 0 ) ;
98- const dp = mount ( Datepicker , { props : { modelValue : null , range : true , multiCalendars : true } } ) ;
99-
100- dp . vm . openMenu ( ) ;
101-
102- await dp . vm . $nextTick ( ) ;
103-
104- const menu : VueWrapper < any > = dp . findComponent ( DatepickerMenu ) ;
105- const calendar = menu . findComponent ( Calendar ) ;
106-
107- calendar . vm . $emit ( 'selectDate' , { value : start , current : true } ) ;
108- await calendar . vm . $nextTick ( ) ;
109- calendar . vm . $emit ( 'selectDate' , { value : end , current : true } , true ) ;
110- await calendar . vm . $nextTick ( ) ;
111-
112- expect ( menu . vm . internalModelValue ) . toHaveLength ( 2 ) ;
113- expect ( menu . vm . internalModelValue [ 0 ] ) . toEqual ( start ) ;
114- expect ( menu . vm . internalModelValue [ 1 ] ) . toEqual ( end ) ;
115- } ) ;
116-
11796 it ( 'Should select auto range' , async ( ) => {
11897 const start = setSeconds ( new Date ( ) , 0 ) ;
11998 const end = setSeconds ( addDays ( start , 7 ) , 0 ) ;
@@ -144,11 +123,11 @@ describe('Logic connection', () => {
144123 await dp . vm . $nextTick ( ) ;
145124
146125 const menu : VueWrapper < any > = dp . findComponent ( DatepickerMenu ) ;
147- const calendar = menu . findComponent ( Calendar ) ;
148- calendar . vm . $emit ( 'update:hours' , val ) ;
149- await calendar . vm . $nextTick ( ) ;
150- calendar . vm . $emit ( 'update:minutes' , val ) ;
151- await calendar . vm . $nextTick ( ) ;
126+ const timePicker = menu . findComponent ( TimePicker ) ;
127+ timePicker . vm . $emit ( 'update:hours' , val ) ;
128+ await timePicker . vm . $nextTick ( ) ;
129+ timePicker . vm . $emit ( 'update:minutes' , val ) ;
130+ await timePicker . vm . $nextTick ( ) ;
152131
153132 expect ( menu . vm . internalModelValue . getHours ( ) ) . toEqual ( val ) ;
154133 expect ( menu . vm . internalModelValue . getMinutes ( ) ) . toEqual ( val ) ;
@@ -165,11 +144,11 @@ describe('Logic connection', () => {
165144 await dp . vm . $nextTick ( ) ;
166145
167146 const menu : VueWrapper < any > = dp . findComponent ( DatepickerMenu ) ;
168- const calendar = menu . findComponent ( Calendar ) ;
169- calendar . vm . $emit ( 'update:hours' , [ start . getHours ( ) , val ] ) ;
170- await calendar . vm . $nextTick ( ) ;
171- calendar . vm . $emit ( 'update:minutes' , [ val , end . getMinutes ( ) ] ) ;
172- await calendar . vm . $nextTick ( ) ;
147+ const timePicker = menu . findComponent ( TimePicker ) ;
148+ timePicker . vm . $emit ( 'update:hours' , [ start . getHours ( ) , val ] ) ;
149+ await timePicker . vm . $nextTick ( ) ;
150+ timePicker . vm . $emit ( 'update:minutes' , [ val , end . getMinutes ( ) ] ) ;
151+ await timePicker . vm . $nextTick ( ) ;
173152
174153 expect ( menu . vm . internalModelValue [ 1 ] . getHours ( ) ) . toEqual ( val ) ;
175154 expect ( menu . vm . internalModelValue [ 0 ] . getMinutes ( ) ) . toEqual ( val ) ;
@@ -184,10 +163,10 @@ describe('Logic connection', () => {
184163 await dp . vm . $nextTick ( ) ;
185164
186165 const menu : VueWrapper < any > = dp . findComponent ( DatepickerMenu ) ;
187- const calendar = menu . findComponent ( Calendar ) ;
188- calendar . vm . $emit ( 'update:month' , month ) ;
166+ const monthYearInput = menu . findComponent ( MonthYearInput ) ;
167+ monthYearInput . vm . $emit ( 'update:month' , month ) ;
189168
190- expect ( menu . vm . month ) . toEqual ( month ) ;
169+ expect ( menu . vm . month ( 0 ) ) . toEqual ( month ) ;
191170 } ) ;
192171
193172 it ( 'Should set year' , async ( ) => {
@@ -199,18 +178,18 @@ describe('Logic connection', () => {
199178 await dp . vm . $nextTick ( ) ;
200179
201180 const menu : VueWrapper < any > = dp . findComponent ( DatepickerMenu ) ;
202- const calendar = menu . findComponent ( Calendar ) ;
203- calendar . vm . $emit ( 'update:year' , year ) ;
181+ const monthYearInput = menu . findComponent ( MonthYearInput ) ;
182+ monthYearInput . vm . $emit ( 'update:year' , year ) ;
204183
205- expect ( menu . vm . year ) . toEqual ( year ) ;
184+ expect ( menu . vm . year ( 0 ) ) . toEqual ( year ) ;
206185 } ) ;
207186
208187 it ( 'Should format with custom function' , async ( ) => {
209188 const selected = new Date ( ) ;
210189
211190 const dp = mount ( Datepicker , { props : { modelValue : null , format } } ) ;
212191
213- await dp . vm . openMenu ( ) ;
192+ dp . vm . openMenu ( ) ;
214193
215194 await dp . vm . $nextTick ( ) ;
216195
0 commit comments