alert.spec.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { createTest, createVue, destroyVM } from '../util';
  2. import Alert from 'packages/alert';
  3. describe('Alert', () => {
  4. let vm;
  5. afterEach(() => {
  6. destroyVM(vm);
  7. });
  8. it('create', () => {
  9. vm = createTest(Alert, {
  10. title: 'test',
  11. showIcon: true
  12. }, true);
  13. expect(vm.$el.querySelector('.el-alert__title').textContent).to.equal('test');
  14. expect(vm.$el.classList.contains('el-alert--info')).to.true;
  15. });
  16. it('type', () => {
  17. vm = createTest(Alert, {
  18. title: 'test',
  19. type: 'success',
  20. showIcon: true
  21. }, true);
  22. expect(vm.$el.classList.contains('el-alert--success')).to.true;
  23. });
  24. it('description', () => {
  25. vm = createTest(Alert, {
  26. title: 'Dorne',
  27. description: 'Unbowed, Unbent, Unbroken',
  28. showIcon: true
  29. }, true);
  30. expect(vm.$el.querySelector('.el-alert__description').textContent)
  31. .to.equal('Unbowed, Unbent, Unbroken');
  32. });
  33. it('theme', () => {
  34. vm = createTest(Alert, {
  35. title: 'test',
  36. effect: 'dark'
  37. }, true);
  38. expect(vm.$el.classList.contains('is-dark')).to.true;
  39. });
  40. it('title slot', () => {
  41. vm = createVue(`
  42. <el-alert>
  43. <span slot="title">foo</span>
  44. </el-alert>
  45. `);
  46. expect(vm.$el.querySelector('.el-alert__title').textContent).to.equal('foo');
  47. });
  48. it('close', () => {
  49. vm = createVue({
  50. template: `
  51. <div>
  52. <el-alert
  53. title="test"
  54. close-text="close"></el-alert>
  55. </div>
  56. `
  57. }, true);
  58. vm.$el.querySelector('.el-alert__closebtn').click();
  59. expect(vm.$children[0].visible).to.false;
  60. });
  61. });