mirror of https://github.com/ElemeFE/element
Fix date-picker flaky test (#9923)
parent
f681b4bded
commit
c5cec198d2
|
@ -1444,8 +1444,8 @@ describe('DatePicker', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('select daterange with defaultTime min', done => {
|
it('select daterange with defaultTime min', done => {
|
||||||
|
destroyVM(vm); // nuke beforeEach's vm before creating our own
|
||||||
const vmWithDefaultTime = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<el-date-picker ref="compo" type="datetimerange" v-model="value" :default-time="defaultTime"></el-date-picker>
|
<el-date-picker ref="compo" type="datetimerange" v-model="value" :default-time="defaultTime"></el-date-picker>
|
||||||
`,
|
`,
|
||||||
|
@ -1458,14 +1458,15 @@ describe('DatePicker', () => {
|
||||||
}, true).$refs.compo;
|
}, true).$refs.compo;
|
||||||
|
|
||||||
setTimeout(_ => {
|
setTimeout(_ => {
|
||||||
vmWithDefaultTime.$el.click();
|
vm.$el.click();
|
||||||
|
|
||||||
setTimeout(_ => {
|
setTimeout(_ => {
|
||||||
const pickers = vmWithDefaultTime.picker.$el.querySelectorAll('.el-date-range-picker__content');
|
const pickers = vm.picker.$el.querySelectorAll('.el-date-range-picker__content');
|
||||||
const leftCell = pickers[0].querySelector('td.available');
|
const leftCell = pickers[0].querySelector('td.available');
|
||||||
const rightCell = pickers[1].querySelector('td.available');
|
const rightCell = pickers[1].querySelector('td.available');
|
||||||
|
|
||||||
triggerEvent(leftCell, 'mousemove', true);
|
triggerEvent(leftCell, 'mousemove', true);
|
||||||
|
setTimeout(_ => {
|
||||||
triggerEvent(leftCell, 'click', true);
|
triggerEvent(leftCell, 'click', true);
|
||||||
setTimeout(_ => {
|
setTimeout(_ => {
|
||||||
triggerEvent(rightCell, 'mousemove', true);
|
triggerEvent(rightCell, 'mousemove', true);
|
||||||
|
@ -1477,7 +1478,7 @@ describe('DatePicker', () => {
|
||||||
const {
|
const {
|
||||||
minDate,
|
minDate,
|
||||||
maxDate
|
maxDate
|
||||||
} = vmWithDefaultTime.picker;
|
} = vm.picker;
|
||||||
expect(minDate.getHours()).to.be.equal(11);
|
expect(minDate.getHours()).to.be.equal(11);
|
||||||
expect(minDate.getMinutes()).to.be.equal(59);
|
expect(minDate.getMinutes()).to.be.equal(59);
|
||||||
expect(minDate.getSeconds()).to.be.equal(59);
|
expect(minDate.getSeconds()).to.be.equal(59);
|
||||||
|
@ -1489,11 +1490,13 @@ describe('DatePicker', () => {
|
||||||
}, DELAY);
|
}, DELAY);
|
||||||
}, DELAY);
|
}, DELAY);
|
||||||
}, DELAY);
|
}, DELAY);
|
||||||
}, DELAY * 2); // `DELAY * 2` to ensure this case passes in travis CI
|
}, DELAY);
|
||||||
|
}, DELAY);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('select daterange with defaultTime min & max', done => {
|
it('select daterange with defaultTime min & max', done => {
|
||||||
const vmWithDefaultTime = createVue({
|
destroyVM(vm); // nuke beforeEach's vm before creating our own
|
||||||
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<el-date-picker ref="compo" type="datetimerange" v-model="value" :default-time="defaultTime"></el-date-picker>
|
<el-date-picker ref="compo" type="datetimerange" v-model="value" :default-time="defaultTime"></el-date-picker>
|
||||||
`,
|
`,
|
||||||
|
@ -1506,26 +1509,26 @@ describe('DatePicker', () => {
|
||||||
}, true).$refs.compo;
|
}, true).$refs.compo;
|
||||||
|
|
||||||
setTimeout(_ => {
|
setTimeout(_ => {
|
||||||
vmWithDefaultTime.$el.click();
|
vm.$el.click();
|
||||||
|
|
||||||
setTimeout(_ => {
|
setTimeout(_ => {
|
||||||
const pickers = vmWithDefaultTime.picker.$el.querySelectorAll('.el-date-range-picker__content');
|
const pickers = vm.picker.$el.querySelectorAll('.el-date-range-picker__content');
|
||||||
const leftCell = pickers[0].querySelector('td.available');
|
const leftCell = pickers[0].querySelector('td.available');
|
||||||
const rightCell = pickers[1].querySelector('td.available');
|
const rightCell = pickers[1].querySelector('td.available');
|
||||||
|
|
||||||
triggerEvent(leftCell, 'mousemove', true);
|
triggerEvent(leftCell, 'mousemove', true);
|
||||||
|
setTimeout(_ => {
|
||||||
triggerEvent(leftCell, 'click', true);
|
triggerEvent(leftCell, 'click', true);
|
||||||
setTimeout(_ => {
|
setTimeout(_ => {
|
||||||
triggerEvent(rightCell, 'mousemove', true);
|
triggerEvent(rightCell, 'mousemove', true);
|
||||||
setTimeout(_ => {
|
setTimeout(_ => {
|
||||||
expect(rightCell.classList.contains('in-range')).to.be.true;
|
expect(rightCell.classList.contains('in-range')).to.be.true;
|
||||||
|
|
||||||
triggerEvent(rightCell, 'click', true);
|
triggerEvent(rightCell, 'click', true);
|
||||||
setTimeout(_ => {
|
setTimeout(_ => {
|
||||||
const {
|
const {
|
||||||
minDate,
|
minDate,
|
||||||
maxDate
|
maxDate
|
||||||
} = vmWithDefaultTime.picker;
|
} = vm.picker;
|
||||||
expect(minDate.getHours()).to.be.equal(11);
|
expect(minDate.getHours()).to.be.equal(11);
|
||||||
expect(minDate.getMinutes()).to.be.equal(59);
|
expect(minDate.getMinutes()).to.be.equal(59);
|
||||||
expect(minDate.getSeconds()).to.be.equal(59);
|
expect(minDate.getSeconds()).to.be.equal(59);
|
||||||
|
@ -1537,7 +1540,8 @@ describe('DatePicker', () => {
|
||||||
}, DELAY);
|
}, DELAY);
|
||||||
}, DELAY);
|
}, DELAY);
|
||||||
}, DELAY);
|
}, DELAY);
|
||||||
}, DELAY * 2); // `DELAY * 2` to ensure this case passes in travis CI
|
}, DELAY);
|
||||||
|
}, DELAY);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('prev/next month button', done => {
|
it('prev/next month button', done => {
|
||||||
|
|
Loading…
Reference in New Issue