progress.spec.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. import { createVue, destroyVM } from '../util';
  2. describe('Progress', () => {
  3. let vm;
  4. afterEach(() => {
  5. destroyVM(vm);
  6. });
  7. it('create', () => {
  8. vm = createVue({
  9. template: `
  10. <div>
  11. <el-progress ref="percent0" :percentage="0"></el-progress>
  12. <el-progress ref="percent50" :percentage="50"></el-progress>
  13. <el-progress ref="percent100" :percentage="100"></el-progress>
  14. </div>
  15. `
  16. }, true);
  17. expect(vm.$refs.percent0.$el.querySelector('.el-progress__text').innerText).to.be.equal('0%');
  18. expect(vm.$refs.percent0.$el.querySelector('.el-progress-bar__inner').style.width).to.be.equal('0%');
  19. expect(vm.$refs.percent50.$el.querySelector('.el-progress__text').innerText).to.be.equal('50%');
  20. expect(vm.$refs.percent50.$el.querySelector('.el-progress-bar__inner').style.width).to.be.equal('50%');
  21. expect(vm.$refs.percent100.$el.querySelector('.el-progress__text').innerText).to.be.equal('100%');
  22. expect(vm.$refs.percent100.$el.querySelector('.el-progress-bar__inner').style.width).to.be.equal('100%');
  23. });
  24. it('status', () => {
  25. vm = createVue({
  26. template: `
  27. <div>
  28. <el-progress ref="lineSuccess" :percentage="100" status="success"></el-progress>
  29. <el-progress ref="lineException" :percentage="0" status="exception"></el-progress>
  30. <el-progress type="circle" ref="circleSuccess" :percentage="100" status="success"></el-progress>
  31. <el-progress type="circle" ref="circleException" :percentage="0" status="exception"></el-progress>
  32. <el-progress type="circle" ref="textException" :percentage="100" status="text">Done</el-progress>
  33. </div>
  34. `
  35. }, true);
  36. expect(vm.$refs.lineSuccess.$el.classList.contains('is-success')).to.be.true;
  37. expect(vm.$refs.lineSuccess.$el.querySelector('.el-progress__text .el-icon-circle-check')).to.be.exist;
  38. expect(vm.$refs.lineException.$el.classList.contains('is-exception')).to.be.true;
  39. expect(vm.$refs.lineException.$el.querySelector('.el-progress__text .el-icon-circle-close')).to.be.exist;
  40. expect(vm.$refs.circleSuccess.$el.classList.contains('is-success')).to.be.true;
  41. expect(vm.$refs.circleSuccess.$el.querySelector('.el-progress__text .el-icon-check')).to.be.exist;
  42. expect(vm.$refs.circleException.$el.classList.contains('is-exception')).to.be.true;
  43. expect(vm.$refs.circleException.$el.querySelector('.el-progress__text .el-icon-close')).to.be.exist;
  44. expect(vm.$refs.textException.$el.querySelector('.el-progress__text').innerText).to.be.equal('Done');
  45. });
  46. it('text inside', () => {
  47. vm = createVue({
  48. template: `
  49. <el-progress :percentage="50" text-inside></el-progress>
  50. `
  51. }, true);
  52. expect(vm.$el.classList.contains('el-progress--text-inside')).to.be.true;
  53. });
  54. it('stroke width', () => {
  55. vm = createVue({
  56. template: `
  57. <el-progress :percentage="50" :stroke-width="8"></el-progress>
  58. `
  59. }, true);
  60. expect(vm.$el.querySelector('.el-progress-bar__outer').style.height).to.be.equal('8px');
  61. });
  62. it('show text', () => {
  63. vm = createVue({
  64. template: `
  65. <el-progress :percentage="50" :show-text="false"></el-progress>
  66. `
  67. }, true);
  68. expect(vm.$el.querySelector('.el-progress__text')).to.not.exist;
  69. });
  70. it('circle', () => {
  71. vm = createVue({
  72. template: `
  73. <el-progress type="circle" :percentage="50"></el-progress>
  74. `
  75. }, true);
  76. expect(vm.$el.classList.contains('el-progress--circle')).to.be.true;
  77. });
  78. it('width', () => {
  79. vm = createVue({
  80. template: `
  81. <el-progress type="circle" :percentage="50" :width="120"></el-progress>
  82. `
  83. }, true);
  84. expect(vm.$el.querySelector('.el-progress-circle').style.height).to.be.equal('120px');
  85. expect(vm.$el.querySelector('.el-progress-circle').style.width).to.be.equal('120px');
  86. });
  87. it('should work with stroke-width', () => {
  88. vm = createVue({
  89. template: `
  90. <el-progress :text-inside="true" :stroke-width="36" :percentage="0"></el-progress>
  91. `
  92. }, true);
  93. expect(vm.$el.querySelector('.el-progress-bar__innerText').offsetTop).to.be.equal(12);
  94. });
  95. it('color', () => {
  96. vm = createVue({
  97. template: `
  98. <el-progress :percentage="50" color="rgb(0, 0, 0)"></el-progress>
  99. `
  100. }, true);
  101. expect(vm.$el.querySelector('.el-progress-bar__inner').style.backgroundColor).to.equal('rgb(0, 0, 0)');
  102. });
  103. });