|
@@ -1760,7 +1760,6 @@ describe('DatePicker', () => {
|
|
|
picker.$el.querySelector('td.available ~ td.available').click();
|
|
|
setTimeout(_ => {
|
|
|
expect(spy.calledOnce).to.equal(true);
|
|
|
- console.log('first assert passed');
|
|
|
// change event is not emitted if used does not change value
|
|
|
// datarange also requires proper array equality check
|
|
|
input.blur();
|
|
@@ -1773,7 +1772,6 @@ describe('DatePicker', () => {
|
|
|
endCell.click();
|
|
|
setTimeout(_ => {
|
|
|
expect(spy.calledOnce).to.equal(true);
|
|
|
- console.log('second assert passed');
|
|
|
done();
|
|
|
}, DELAY);
|
|
|
}, DELAY);
|
|
@@ -2194,6 +2192,43 @@ describe('DatePicker', () => {
|
|
|
}, DELAY);
|
|
|
}, DELAY);
|
|
|
});
|
|
|
+
|
|
|
+ it('confirm honors disabledDate', done => {
|
|
|
+ vm = createVue({
|
|
|
+ template: '<el-date-picker type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss" v-model="value" :picker-options="pickerOptions" ref="compo" />',
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ pickerOptions: {
|
|
|
+ disabledDate(date) {
|
|
|
+ return date.getTime() < new Date(2000, 9, 1); // 2000-10-01
|
|
|
+ }
|
|
|
+ },
|
|
|
+ value: ['2000-10-02 00:00:00', '2000-10-03 00:00:00']
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }, true);
|
|
|
+ const input = vm.$el.querySelector('input');
|
|
|
+
|
|
|
+ input.blur();
|
|
|
+ input.focus();
|
|
|
+ setTimeout(_ => {
|
|
|
+ // simulate user input of invalid date
|
|
|
+ vm.$refs.compo.picker.handleDateChange({ target: { value: '2000-09-01'} }, 'min');
|
|
|
+ setTimeout(_ => {
|
|
|
+ expect(vm.$refs.compo.picker.btnDisabled).to.equal(true); // invalid input disables button
|
|
|
+ vm.$refs.compo.picker.handleConfirm();
|
|
|
+ setTimeout(_ => {
|
|
|
+ expect(vm.$refs.compo.pickerVisible).to.equal(true); // can not confirm, picker remains open
|
|
|
+ // simulate click outside to close picker
|
|
|
+ vm.$refs.compo.handleClose();
|
|
|
+ setTimeout(_ => {
|
|
|
+ expect(vm.value).to.eql(['2000-10-02 00:00:00', '2000-10-03 00:00:00']);
|
|
|
+ done();
|
|
|
+ }, DELAY);
|
|
|
+ }, DELAY);
|
|
|
+ }, DELAY);
|
|
|
+ }, DELAY);
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
const currentMonth = new Date(new Date().getTime());
|