radio.spec.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import { createVue } from '../util';
  2. describe('Radio', () => {
  3. it('create', done => {
  4. const vm = createVue({
  5. template: `
  6. <el-radio v-model="radio" label="a">
  7. </el-radio>
  8. `,
  9. data() {
  10. return {
  11. radio: ''
  12. };
  13. }
  14. }, true);
  15. let radioElm = vm.$el;
  16. expect(radioElm.classList.contains('el-radio')).to.be.true;
  17. radioElm.click();
  18. vm.$nextTick(_ => {
  19. expect(radioElm.querySelector('.is-checked')).to.be.ok;
  20. done();
  21. });
  22. });
  23. it('disabled', done => {
  24. const vm = createVue({
  25. template: `
  26. <el-radio
  27. v-model="radio"
  28. label="3"
  29. disabled
  30. >
  31. </el-radio>
  32. `,
  33. data() {
  34. return {
  35. radio: ''
  36. };
  37. }
  38. }, true);
  39. let radioElm = vm.$el;
  40. radioElm.click();
  41. vm.$nextTick(_ => {
  42. expect(vm.radio === '').to.be.true;
  43. expect(radioElm.querySelector('.is-disabled')).to.be.ok;
  44. done();
  45. });
  46. });
  47. it('radio group', done => {
  48. const vm = createVue({
  49. template: `
  50. <el-radio-group v-model="radio">
  51. <el-radio :label="3" ref="radio1">备选项</el-radio>
  52. <el-radio :label="6" ref="radio2">备选项</el-radio>
  53. <el-radio :label="9">备选项</el-radio>
  54. </el-radio-group>
  55. `,
  56. data() {
  57. return {
  58. radio: 3
  59. };
  60. }
  61. }, true);
  62. expect(vm.$refs.radio1.$el.querySelector('.is-checked')).to.be.ok;
  63. let radioElm = vm.$refs.radio2.$el;
  64. radioElm.click();
  65. vm.$nextTick(_ => {
  66. expect(radioElm.querySelector('.is-checked')).to.be.ok;
  67. expect(vm.radio === 6).to.be.true;
  68. done();
  69. });
  70. });
  71. it('radio button', done => {
  72. const vm = createVue({
  73. template: `
  74. <el-radio-group v-model="radio">
  75. <el-radio-button :label="3" ref="radio1">备选项</el-radio-button>
  76. <el-radio-button :label="6" ref="radio2">备选项</el-radio-button>
  77. <el-radio-button :label="9">备选项</el-radio-button>
  78. </el-radio-group>
  79. `,
  80. data() {
  81. return {
  82. radio: 3
  83. };
  84. }
  85. }, true);
  86. expect(vm.$refs.radio1.$el.classList.contains('is-active')).to.be.true;
  87. let radio = vm.$refs.radio2;
  88. radio.$el.click();
  89. vm.$nextTick(_ => {
  90. expect(radio.$el.classList.contains('is-active')).to.be.true;
  91. expect(vm.radio === 6).to.be.true;
  92. done();
  93. });
  94. });
  95. });