time-select.spec.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { createTest, createVue } from '../util';
  2. import TimeSelect from 'packages/time-select';
  3. import Vue from 'vue';
  4. describe('TimeSelect', () => {
  5. it('should render correct contents', done => {
  6. const vm = createTest(TimeSelect, {
  7. pickerOptions: {
  8. start: '08:30',
  9. step: '00:15',
  10. end: '18:30'
  11. },
  12. placeholder: 'test'
  13. }, true);
  14. vm.$el.querySelector('input').blur();
  15. vm.$el.querySelector('input').focus();
  16. vm.$el.querySelector('input').blur();
  17. Vue.nextTick(_ => {
  18. expect(vm.picker.start).to.equal('08:30');
  19. expect(vm.picker.end).to.equal('18:30');
  20. expect(vm.picker.step).to.equal('00:15');
  21. expect(vm.$el.querySelector('input').getAttribute('placeholder')).to.equal('test');
  22. done();
  23. });
  24. });
  25. it('click time', done => {
  26. const vm = createVue({
  27. template: `
  28. <div>
  29. <el-time-select ref="compo" v-model="value">
  30. </el-time-select>
  31. </div>
  32. `,
  33. data() {
  34. return {
  35. value: ''
  36. };
  37. }
  38. }, true);
  39. vm.$el.querySelector('input').blur();
  40. vm.$el.querySelector('input').focus();
  41. vm.$el.querySelector('input').blur();
  42. Vue.nextTick(_ => {
  43. const items = vm.$refs.compo.picker.$el.querySelectorAll('.time-select-item');
  44. const target = items[4];
  45. const time = target.textContent.trim();
  46. target.click();
  47. Vue.nextTick(_ => {
  48. expect(vm.value).to.equal(time);
  49. done();
  50. });
  51. });
  52. });
  53. });