index.spec.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import SwipeCell from '..';
  2. import { mount, triggerDrag } from '../../../test/utils';
  3. const THRESHOLD = 0.15;
  4. const defaultProps = {
  5. propsData: {
  6. leftWidth: 100,
  7. rightWidth: 100
  8. }
  9. };
  10. it('drag and show left part', () => {
  11. const wrapper = mount(SwipeCell, defaultProps);
  12. triggerDrag(wrapper, 10, 0);
  13. expect(wrapper).toMatchSnapshot();
  14. triggerDrag(wrapper, 50, 0);
  15. expect(wrapper).toMatchSnapshot();
  16. triggerDrag(wrapper, 500, 0);
  17. expect(wrapper).toMatchSnapshot();
  18. triggerDrag(wrapper, 0, 100);
  19. expect(wrapper).toMatchSnapshot();
  20. });
  21. it('drag and show right part', () => {
  22. const wrapper = mount(SwipeCell, defaultProps);
  23. triggerDrag(wrapper, -50, 0);
  24. expect(wrapper).toMatchSnapshot();
  25. });
  26. it('on close prop', () => {
  27. let position;
  28. let instance;
  29. const wrapper = mount(SwipeCell, {
  30. propsData: {
  31. ...defaultProps.propsData,
  32. onClose(pos, ins) {
  33. position = pos;
  34. instance = ins;
  35. }
  36. }
  37. });
  38. wrapper.trigger('click');
  39. expect(position).toEqual(undefined);
  40. wrapper.setData({ offset: 100 });
  41. wrapper.trigger('click');
  42. expect(position).toEqual('cell');
  43. wrapper.find('.van-swipe-cell__left').trigger('click');
  44. expect(position).toEqual('left');
  45. wrapper.find('.van-swipe-cell__right').trigger('click');
  46. expect(position).toEqual('right');
  47. instance.close();
  48. expect(wrapper.vm.offset).toEqual(0);
  49. wrapper.setData({ offset: 100, onClose: null });
  50. wrapper.trigger('click');
  51. expect(wrapper.vm.offset).toEqual(0);
  52. });
  53. it('width equals zero', () => {
  54. const wrapper = mount(SwipeCell, {
  55. propsData: {
  56. leftWidth: 0,
  57. rightWidth: 0
  58. }
  59. });
  60. expect(wrapper).toMatchSnapshot();
  61. });
  62. it('should reset after drag', () => {
  63. const wrapper = mount(SwipeCell, defaultProps);
  64. triggerDrag(wrapper, (defaultProps.leftWidth * THRESHOLD - 1), 0);
  65. expect(wrapper.vm.offset).toEqual(0);
  66. });
  67. it('disabled prop', () => {
  68. const wrapper = mount(SwipeCell, {
  69. propsData: {
  70. ...defaultProps.propsData,
  71. disabled: true,
  72. }
  73. });
  74. triggerDrag(wrapper, 50, 0);
  75. expect(wrapper.vm.offset).toEqual(0);
  76. });