Skip to content
This repository was archived by the owner on Apr 17, 2022. It is now read-only.

Commit 5e79b88

Browse files
committed
refactor: Adjust tests to the refactored logic
1 parent 1f475ff commit 5e79b88

File tree

1 file changed

+24
-45
lines changed

1 file changed

+24
-45
lines changed

tests/unit/logic.spec.ts

Lines changed: 24 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ import { ja } from 'date-fns/locale';
66
import Datepicker from '../../src/Vue3DatePicker/Vue3DatePicker.vue';
77
import DatepickerMenu from '../../src/Vue3DatePicker/components/DatepickerMenu.vue';
88
import 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';
911
import 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

1415
const 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

Comments
 (0)