checkbox.spec.js 2.4 KB

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