Message/Notification: improve test

pull/590/head
Leopoldthecoder 2016-10-22 11:56:51 +08:00 committed by cinwell.li
parent 031716c227
commit a4175a74e2
2 changed files with 48 additions and 65 deletions

View File

@ -1,17 +1,26 @@
import { createVue, triggerEvent } from '../util'; import { triggerEvent } from '../util';
import Message from 'packages/message';
describe('Message', () => { describe('Message', () => {
afterEach(() => {
const el = document.querySelector('.el-message');
if (!el) return;
if (el.parentNode) {
el.parentNode.removeChild(el);
}
if (el.__vue__) {
el.__vue__.$destroy();
}
});
it('automatically close', done => { it('automatically close', done => {
const vm = createVue({ Message({
template: `
<div></div>
`
}, true);
vm.$message({
message: '灰风', message: '灰风',
duration: 500 duration: 500
}); });
const message = document.querySelector('.el-message__group').childNodes[0];
expect(document.querySelector('.el-message')).to.exist; expect(document.querySelector('.el-message')).to.exist;
expect(message.textContent).to.equal('灰风');
setTimeout(() => { setTimeout(() => {
expect(document.querySelector('.el-message')).to.not.exist; expect(document.querySelector('.el-message')).to.not.exist;
done(); done();
@ -19,12 +28,7 @@ describe('Message', () => {
}); });
it('manually close', done => { it('manually close', done => {
const vm = createVue({ Message({
template: `
<div></div>
`
}, true);
vm.$message({
message: '夏天', message: '夏天',
showClose: true showClose: true
}); });
@ -38,32 +42,17 @@ describe('Message', () => {
}); });
it('create', () => { it('create', () => {
const vm = createVue({ Message('娜梅莉亚');
template: `
<div></div>
`
}, true);
vm.$message('娜梅莉亚');
expect(document.querySelector('.el-message')).to.exist; expect(document.querySelector('.el-message')).to.exist;
}); });
it('invoke with type', () => { it('invoke with type', () => {
const vm = createVue({ Message.success('毛毛狗');
template: ` expect(document.querySelector('.el-message').__vue__.type).to.equal('success');
<div></div>
`
}, true);
vm.$message.success('毛毛狗');
expect(document.querySelector('.el-message')).to.exist;
}); });
it('reset timer', done => { it('reset timer', done => {
const vm = createVue({ Message({
template: `
<div></div>
`
}, true);
vm.$message({
message: '白灵', message: '白灵',
duration: 1000 duration: 1000
}); });

View File

@ -1,13 +1,20 @@
import { createVue, triggerEvent } from '../util'; import { triggerEvent } from '../util';
import Notification from 'packages/notification';
describe('Notification', () => { describe('Notification', () => {
afterEach(() => {
const el = document.querySelector('.el-notification');
if (!el) return;
if (el.parentNode) {
el.parentNode.removeChild(el);
}
if (el.__vue__) {
el.__vue__.$destroy();
}
});
it('automatically close', done => { it('automatically close', done => {
const vm = createVue({ Notification({
template: `
<div></div>
`
}, true);
vm.$notify({
message: '玻璃蜡烛', message: '玻璃蜡烛',
duration: 500 duration: 500
}); });
@ -19,12 +26,7 @@ describe('Notification', () => {
}); });
it('manually close', done => { it('manually close', done => {
const vm = createVue({ Notification({
template: `
<div></div>
`
}, true);
vm.$notify({
message: '苍白母马' message: '苍白母马'
}); });
setTimeout(() => { setTimeout(() => {
@ -37,34 +39,26 @@ describe('Notification', () => {
}); });
it('create', () => { it('create', () => {
const vm = createVue({ Notification({
template: ` title: '狮子',
<div></div> message: '狮鹫',
` duration: 0
}, true);
vm.$notify({
message: '狮鹫'
}); });
const group = document.querySelector('.el-notification__group');
const title = group.querySelector('span');
const message = group.querySelector('p');
expect(document.querySelector('.el-notification')).to.exist; expect(document.querySelector('.el-notification')).to.exist;
expect(title.textContent).to.equal('狮子');
expect(message.textContent).to.equal('狮鹫');
}); });
it('invoke with type', () => { it('invoke with type', () => {
const vm = createVue({ Notification.success('太阳之子');
template: ` expect(document.querySelector('.el-notification').__vue__.type).to.equal('success');
<div></div>
`
}, true);
vm.$notify.success('太阳之子');
expect(document.querySelector('.el-notification')).to.exist;
}); });
it('reset timer', done => { it('reset timer', done => {
const vm = createVue({ Notification({
template: `
<div></div>
`
}, true);
vm.$notify({
message: '芳香总管', message: '芳香总管',
duration: 1000 duration: 1000
}); });