alert.spec.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. expect(vm.$el.querySelector('.el-icon-circle-check')).to.exist;
  24. });
  25. it('description', () => {
  26. vm = createTest(Alert, {
  27. title: 'Dorne',
  28. description: 'Unbowed, Unbent, Unbroken',
  29. showIcon: true
  30. }, true);
  31. expect(vm.$el.querySelector('.el-alert__description').textContent)
  32. .to.equal('Unbowed, Unbent, Unbroken');
  33. });
  34. it('render-content', () => {
  35. vm = createVue({
  36. data() {
  37. return {
  38. text: 'test'
  39. };
  40. },
  41. template: `
  42. <div>
  43. <el-alert
  44. title="test"
  45. :render-content="customContent"></el-alert>
  46. </div>
  47. `,
  48. methods: {
  49. customContent(h) {
  50. return (
  51. <p>
  52. <el-button class="custom-button">{ this.text }</el-button>
  53. </p>
  54. );
  55. }
  56. }
  57. }, true);
  58. let button = vm.$el.querySelector('.custom-button');
  59. expect(button).to.exist;
  60. expect(button.textContent).to.equal('test');
  61. });
  62. it('close', () => {
  63. vm = createVue({
  64. template: `
  65. <div>
  66. <el-alert
  67. title="test"
  68. close-text="close"></el-alert>
  69. </div>
  70. `
  71. }, true);
  72. vm.$el.querySelector('.el-alert__closebtn').click();
  73. expect(vm.$children[0].visible).to.false;
  74. });
  75. });