vant/packages/slider/test/index.spec.js
2018-05-30 14:57:14 +08:00

48 lines
1.1 KiB
JavaScript

import Slider from '..';
import { mount } from '@vue/test-utils';
import { triggerDrag, trigger } from '../../../test/utils';
Element.prototype.getBoundingClientRect = jest.fn(() => ({ width: 100, left: 0 }));
test('drag button', () => {
const wrapper = mount(Slider, {
attachToDocument: true,
propsData: {
value: 50,
disabled: true
}
});
wrapper.vm.$on('input', value => {
wrapper.setProps({ value });
});
const button = wrapper.find('.van-slider__button');
triggerDrag(button, 50, 0);
expect(wrapper.html()).toMatchSnapshot();
wrapper.setData({ disabled: false });
triggerDrag(button, 50, 0);
expect(wrapper.html()).toMatchSnapshot();
});
it('click bar', () => {
const wrapper = mount(Slider, {
propsData: {
value: 50,
disabled: true
}
});
wrapper.vm.$on('input', value => {
wrapper.setProps({ value });
});
trigger(wrapper, 'click', 100, 0);
expect(wrapper.html()).toMatchSnapshot();
wrapper.setData({ disabled: false });
trigger(wrapper, 'click', 100, 0);
expect(wrapper.html()).toMatchSnapshot();
});