empty.spec.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import { createVue, createTest, destroyVM, waitImmediate } from '../util';
  2. import Empty from 'packages/empty';
  3. const AXIOM = 'Rem is the best girl';
  4. describe('Empty', () => {
  5. let vm;
  6. afterEach(() => {
  7. destroyVM(vm);
  8. });
  9. it('render test', () => {
  10. vm = createVue({
  11. template: '<el-empty>{{ AXIOM }}</el-empty>',
  12. data() {
  13. return {
  14. AXIOM
  15. };
  16. }
  17. }, true);
  18. expect(vm.$el.querySelector('.el-empty__image')).to.exist;
  19. expect(vm.$el.querySelector('.el-empty__description')).to.exist;
  20. expect(vm.$el.querySelector('.el-empty__bottom')).to.exist;
  21. });
  22. it('should render image props', () => {
  23. vm = createTest(Empty, {
  24. image: AXIOM
  25. }, true);
  26. expect(vm.$el.querySelector('.el-empty__image img')).to.exist;
  27. });
  28. it('should render imageSize props', async() => {
  29. vm = createVue({
  30. template: '<el-empty :image-size="imageSize"></el-empty>',
  31. data() {
  32. return {
  33. imageSize: 500
  34. };
  35. }
  36. }, true);
  37. expect(vm.$el.querySelector('.el-empty__image').getAttribute('style')).to.contain('width: 500px');
  38. vm.imageSize = 200;
  39. await waitImmediate();
  40. expect(vm.$el.querySelector('.el-empty__image').getAttribute('style')).to.contain('width: 200px');
  41. });
  42. it('should render description props', () => {
  43. vm = createTest(Empty, {
  44. description: AXIOM
  45. }, true);
  46. expect(vm.$el.querySelector('.el-empty__description').innerText).to.equal(AXIOM);
  47. });
  48. it('should render image slots', () => {
  49. vm = createVue({
  50. template: '<el-empty><template slot="image">{{AXIOM}}</template></el-empty>',
  51. data() {
  52. return {
  53. AXIOM
  54. };
  55. }
  56. }, true);
  57. expect(vm.$el.querySelector('.el-empty__image').innerText).to.equal(AXIOM);
  58. });
  59. it('should render description slots', () => {
  60. vm = createVue({
  61. template: '<el-empty><template slot="description">{{AXIOM}}</template></el-empty>',
  62. data() {
  63. return {
  64. AXIOM
  65. };
  66. }
  67. }, true);
  68. expect(vm.$el.querySelector('.el-empty__description').innerText).to.equal(AXIOM);
  69. });
  70. it('should render default slots', () => {
  71. vm = createVue({
  72. template: '<el-empty>{{AXIOM}}</el-empty>',
  73. data() {
  74. return {
  75. AXIOM
  76. };
  77. }
  78. }, true);
  79. expect(vm.$el.querySelector('.el-empty__bottom').innerText).to.equal(AXIOM);
  80. });
  81. });