message.spec.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import { triggerEvent } from '../util';
  2. import Message from 'packages/message';
  3. describe('Message', () => {
  4. afterEach(() => {
  5. const el = document.querySelector('.el-message');
  6. if (!el) return;
  7. if (el.parentNode) {
  8. el.parentNode.removeChild(el);
  9. }
  10. if (el.__vue__) {
  11. el.__vue__.$destroy();
  12. }
  13. });
  14. it('automatically close', done => {
  15. Message({
  16. message: '灰风',
  17. duration: 500
  18. });
  19. const message = document.querySelector('.el-message__group p');
  20. expect(document.querySelector('.el-message')).to.exist;
  21. expect(message.textContent).to.equal('灰风');
  22. setTimeout(() => {
  23. expect(document.querySelector('.el-message')).to.not.exist;
  24. done();
  25. }, 1000);
  26. });
  27. it('manually close', done => {
  28. Message({
  29. message: '夏天',
  30. showClose: true
  31. });
  32. setTimeout(() => {
  33. document.querySelector('.el-message__closeBtn').click();
  34. setTimeout(() => {
  35. expect(document.querySelector('.el-message')).to.not.exist;
  36. done();
  37. }, 500);
  38. }, 500);
  39. });
  40. it('create', () => {
  41. Message('娜梅莉亚');
  42. expect(document.querySelector('.el-message')).to.exist;
  43. });
  44. it('invoke with type', () => {
  45. Message.success('毛毛狗');
  46. expect(document.querySelector('.el-message').__vue__.type).to.equal('success');
  47. });
  48. it('reset timer', done => {
  49. Message({
  50. message: '白灵',
  51. duration: 1000
  52. });
  53. setTimeout(() => {
  54. triggerEvent(document.querySelector('.el-message'), 'mouseenter');
  55. setTimeout(() => {
  56. expect(document.querySelector('.el-message')).to.exist;
  57. done();
  58. }, 700);
  59. }, 500);
  60. });
  61. });