浏览代码

Notification: add test (#565)

杨奕 8 年之前
父节点
当前提交
92bd227512
共有 1 个文件被更改,包括 80 次插入0 次删除
  1. 80 0
      test/unit/specs/notification.spec.js

+ 80 - 0
test/unit/specs/notification.spec.js

@@ -0,0 +1,80 @@
+import { createVue, triggerEvent } from '../util';
+
+describe('Notification', () => {
+  it('automatically close', done => {
+    const vm = createVue({
+      template: `
+      <div></div>
+    `
+    }, true);
+    vm.$notify({
+      message: '玻璃蜡烛',
+      duration: 500
+    });
+    expect(document.querySelector('.el-notification')).to.exist;
+    setTimeout(() => {
+      expect(document.querySelector('.el-notification')).to.not.exist;
+      done();
+    }, 1000);
+  });
+
+  it('manually close', done => {
+    const vm = createVue({
+      template: `
+      <div></div>
+    `
+    }, true);
+    vm.$notify({
+      message: '苍白母马'
+    });
+    setTimeout(() => {
+      document.querySelector('.el-notification__closeBtn').click();
+      setTimeout(() => {
+        expect(document.querySelector('.el-notification')).to.not.exist;
+        done();
+      }, 500);
+    }, 500);
+  });
+
+  it('create', () => {
+    const vm = createVue({
+      template: `
+      <div></div>
+    `
+    }, true);
+    vm.$notify({
+      message: '狮鹫'
+    });
+    expect(document.querySelector('.el-notification')).to.exist;
+  });
+
+  it('invoke with type', () => {
+    const vm = createVue({
+      template: `
+      <div></div>
+    `
+    }, true);
+    vm.$notify.success('太阳之子');
+    expect(document.querySelector('.el-notification')).to.exist;
+  });
+
+  it('reset timer', done => {
+    const vm = createVue({
+      template: `
+      <div></div>
+    `
+    }, true);
+    vm.$notify({
+      message: '芳香总管',
+      duration: 1000
+    });
+    setTimeout(() => {
+      triggerEvent(document.querySelector('.el-notification'), 'mouseenter');
+      setTimeout(() => {
+        triggerEvent(document.querySelector('.el-notification'), 'mouseleave');
+        expect(document.querySelector('.el-notification')).to.exist;
+        done();
+      }, 700);
+    }, 500);
+  });
+});