60 lines
1.8 KiB
TypeScript
60 lines
1.8 KiB
TypeScript
import { later, mount, triggerDrag } from '../../../test';
|
|
import DatePicker from '../DatePicker';
|
|
|
|
test('month-day type', async () => {
|
|
const date = new Date(2020, 10, 1, 0, 0);
|
|
|
|
const wrapper = mount(DatePicker, {
|
|
props: {
|
|
type: 'month-day',
|
|
modelValue: date,
|
|
minDate: new Date(2020, 0, 1),
|
|
maxDate: new Date(2025, 10, 1),
|
|
},
|
|
});
|
|
|
|
await later();
|
|
wrapper.find('.van-picker__confirm').trigger('click');
|
|
expect(wrapper.emitted<[Date]>('confirm')![0][0].getMonth()).toEqual(10);
|
|
expect(wrapper.emitted<[Date]>('confirm')![0][0].getDate()).toEqual(1);
|
|
|
|
await later();
|
|
triggerDrag(wrapper.find('.van-picker-column'), 0, -300);
|
|
wrapper.find('.van-picker__confirm').trigger('click');
|
|
expect(wrapper.emitted<[Date]>('confirm')![1][0].getMonth()).toEqual(11);
|
|
expect(wrapper.emitted<[Date]>('confirm')![1][0].getDate()).toEqual(1);
|
|
|
|
await later();
|
|
triggerDrag(wrapper.findAll('.van-picker-column')[1], 0, -300);
|
|
wrapper.find('.van-picker__confirm').trigger('click');
|
|
expect(wrapper.emitted<[Date]>('confirm')![2][0].getMonth()).toEqual(11);
|
|
expect(wrapper.emitted<[Date]>('confirm')![2][0].getDate()).toEqual(31);
|
|
});
|
|
|
|
test('v-model', async () => {
|
|
const minDate = new Date(2030, 0, 0, 0, 3);
|
|
|
|
const wrapper = mount(DatePicker, {
|
|
props: {
|
|
minDate,
|
|
},
|
|
});
|
|
|
|
await later();
|
|
wrapper.find('.van-picker__confirm').trigger('click');
|
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual(minDate);
|
|
});
|
|
|
|
test('value has an initial value', async () => {
|
|
const defaultValue = new Date(2020, 0, 0, 0, 0);
|
|
const wrapper = mount(DatePicker, {
|
|
propsData: {
|
|
modelValue: defaultValue,
|
|
},
|
|
});
|
|
|
|
await later();
|
|
wrapper.find('.van-picker__confirm').trigger('click');
|
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual(defaultValue);
|
|
});
|