progress.spec.js 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. </div>
  33. `
  34. }, true);
  35. expect(vm.$refs.lineSuccess.$el.classList.contains('is-success')).to.be.true;
  36. expect(vm.$refs.lineSuccess.$el.querySelector('.el-progress__text .el-icon-circle-check')).to.be.exist;
  37. expect(vm.$refs.lineException.$el.classList.contains('is-exception')).to.be.true;
  38. expect(vm.$refs.lineException.$el.querySelector('.el-progress__text .el-icon-circle-cross')).to.be.exist;
  39. expect(vm.$refs.circleSuccess.$el.classList.contains('is-success')).to.be.true;
  40. expect(vm.$refs.circleSuccess.$el.querySelector('.el-progress__text .el-icon-check')).to.be.exist;
  41. expect(vm.$refs.circleException.$el.classList.contains('is-exception')).to.be.true;
  42. expect(vm.$refs.circleException.$el.querySelector('.el-progress__text .el-icon-close')).to.be.exist;
  43. });
  44. it('text inside', () => {
  45. vm = createVue({
  46. template: `
  47. <el-progress :percentage="50" text-inside></el-progress>
  48. `
  49. }, true);
  50. expect(vm.$el.classList.contains('el-progress--text-inside')).to.be.true;
  51. });
  52. it('stroke width', () => {
  53. vm = createVue({
  54. template: `
  55. <el-progress :percentage="50" :stroke-width="8"></el-progress>
  56. `
  57. }, true);
  58. expect(vm.$el.querySelector('.el-progress-bar__outer').style.height).to.be.equal('8px');
  59. });
  60. it('show text', () => {
  61. vm = createVue({
  62. template: `
  63. <el-progress :percentage="50" :show-text="false"></el-progress>
  64. `
  65. }, true);
  66. expect(vm.$el.querySelector('.el-progress__text')).to.not.exist;
  67. });
  68. it('circle', () => {
  69. vm = createVue({
  70. template: `
  71. <el-progress type="circle" :percentage="50"></el-progress>
  72. `
  73. }, true);
  74. expect(vm.$el.classList.contains('el-progress--circle')).to.be.true;
  75. });
  76. it('width', () => {
  77. vm = createVue({
  78. template: `
  79. <el-progress type="circle" :percentage="50" :width="120"></el-progress>
  80. `
  81. }, true);
  82. expect(vm.$el.querySelector('.el-progress-circle').style.height).to.be.equal('120px');
  83. expect(vm.$el.querySelector('.el-progress-circle').style.width).to.be.equal('120px');
  84. });
  85. it('should work with stroke-width', () => {
  86. vm = createVue({
  87. template: `
  88. <el-progress :text-inside="true" :stroke-width="36" :percentage="0"></el-progress>
  89. `
  90. }, true);
  91. expect(vm.$el.querySelector('.el-progress-bar__innerText').offsetTop).to.be.equal(12);
  92. });
  93. });