range.spec.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { shallowMount } from '@vue/test-utils'
  2. import Range, {toRGBA} from '../range.vue';
  3. import Vue from 'vue';
  4. describe('Range.vue', () => {
  5. const wrapper = shallowMount(Range);
  6. it('设置区间值', () => {
  7. const {vm} = wrapper;
  8. let rangeVal = [0, 100];
  9. wrapper.setProps({
  10. range: rangeVal,
  11. rangeValues: rangeVal
  12. });
  13. const _range = vm.range;
  14. expect(_range.length === 2).toBe(true);
  15. expect(_range[0]).toBe(rangeVal[0]);
  16. expect(_range[1]).toBe(rangeVal[1]);
  17. const newRange = [12, 98];
  18. vm.$emit('rangeValues', newRange);
  19. expect(wrapper.emitted('rangeValues')).toBeTruthy();
  20. expect(wrapper.emitted().rangeValues[0][0]).toEqual(newRange);
  21. });
  22. it('显示标签文字', () => {
  23. const rangeVal = [0, 100];
  24. wrapper.setProps({
  25. range: rangeVal,
  26. showRangeTxt: true
  27. });
  28. const leftEl = wrapper.find('.nut-range-left-text');
  29. const rightEl = wrapper.find('.nut-range-right-text');
  30. expect(leftEl.exists()).toBe(true);
  31. expect(rightEl.exists()).toBe(true);
  32. expect(+leftEl.text()).toBe(rangeVal[0]);
  33. expect(+rightEl.text()).toBe(rangeVal[1]);
  34. });
  35. it('修改主题风格', () => {
  36. const rangeVal = [0, 100];
  37. const themeColor = "#31ccec";
  38. wrapper.setProps({
  39. range: rangeVal,
  40. color: themeColor
  41. });
  42. const {mainColor, boxColor, subColor} = wrapper.vm;
  43. expect(mainColor).toBe(toRGBA(themeColor));
  44. expect(boxColor).toBe(toRGBA(themeColor, 0.3));
  45. expect(subColor).toBe(toRGBA(themeColor, 0.5));
  46. });
  47. });