message.spec.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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('close all', done => {
  41. Message({
  42. message: '夏天',
  43. duration: 0
  44. });
  45. Message({
  46. message: '淑女',
  47. duration: 0
  48. });
  49. setTimeout(() => {
  50. Message.closeAll();
  51. setTimeout(() => {
  52. expect(document.querySelector('.el-message')).to.not.exist;
  53. done();
  54. }, 500);
  55. }, 500);
  56. });
  57. it('create', () => {
  58. Message('娜梅莉亚');
  59. expect(document.querySelector('.el-message')).to.exist;
  60. });
  61. it('invoke with type', () => {
  62. Message.success('毛毛狗');
  63. expect(document.querySelector('.el-message').__vue__.type).to.equal('success');
  64. });
  65. it('reset timer', done => {
  66. Message({
  67. message: '白灵',
  68. duration: 1000
  69. });
  70. setTimeout(() => {
  71. triggerEvent(document.querySelector('.el-message'), 'mouseenter');
  72. setTimeout(() => {
  73. expect(document.querySelector('.el-message')).to.exist;
  74. done();
  75. }, 700);
  76. }, 500);
  77. });
  78. });