From ee0055f24d70bf0dee69df149c7714867365655b Mon Sep 17 00:00:00 2001 From: neverland Date: Wed, 30 May 2018 15:27:03 +0800 Subject: [PATCH] [Improvement] CellSwipe: add test cases (#1193) --- .../test/__snapshots__/index.spec.js.snap | 46 +++++++++++++ packages/cell-swipe/test/index.spec.js | 67 +++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 packages/cell-swipe/test/__snapshots__/index.spec.js.snap create mode 100644 packages/cell-swipe/test/index.spec.js diff --git a/packages/cell-swipe/test/__snapshots__/index.spec.js.snap b/packages/cell-swipe/test/__snapshots__/index.spec.js.snap new file mode 100644 index 000000000..c4a218f73 --- /dev/null +++ b/packages/cell-swipe/test/__snapshots__/index.spec.js.snap @@ -0,0 +1,46 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`drag and show left part 1`] = ` +
+
+
+
+
+
+`; + +exports[`drag and show left part 2`] = ` +
+
+
+
+
+
+`; + +exports[`drag and show left part 3`] = ` +
+
+
+
+
+
+`; + +exports[`drag and show left part 4`] = ` +
+
+
+
+
+
+`; + +exports[`drag and show left part 5`] = ` +
+
+
+
+
+
+`; diff --git a/packages/cell-swipe/test/index.spec.js b/packages/cell-swipe/test/index.spec.js new file mode 100644 index 000000000..2e2e2de18 --- /dev/null +++ b/packages/cell-swipe/test/index.spec.js @@ -0,0 +1,67 @@ +import CellSwipe from '..'; +import { mount } from '@vue/test-utils'; +import { triggerDrag } from '../../../test/utils'; + +const defaultProps = { + propsData: { + leftWidth: 100, + rightWidth: 100 + } +}; + +it('drag and show left part', () => { + const wrapper = mount(CellSwipe, defaultProps); + + triggerDrag(wrapper, 10, 0); + expect(wrapper.html()).toMatchSnapshot(); + + triggerDrag(wrapper, 50, 0); + expect(wrapper.html()).toMatchSnapshot(); + + triggerDrag(wrapper, 500, 0); + expect(wrapper.html()).toMatchSnapshot(); + + triggerDrag(wrapper, 0, 100); + expect(wrapper.html()).toMatchSnapshot(); +}); + +it('drag and show left part', () => { + const wrapper = mount(CellSwipe, defaultProps); + + triggerDrag(wrapper, -50, 0); + expect(wrapper.html()).toMatchSnapshot(); +}); + +test('on close prop', () => { + let position; + let instance; + + const wrapper = mount(CellSwipe, { + propsData: { + ...defaultProps.propsData, + onClose(pos, ins) { + position = pos; + instance = ins; + } + } + }); + wrapper.trigger('click'); + expect(position).toEqual(undefined); + + wrapper.setData({ offset: 100 }); + wrapper.trigger('click'); + expect(position).toEqual('cell'); + + wrapper.find('.van-cell-swipe__left').trigger('click'); + expect(position).toEqual('left'); + + wrapper.find('.van-cell-swipe__right').trigger('click'); + expect(position).toEqual('right'); + + instance.close(); + expect(wrapper.vm.offset).toEqual(0); + + wrapper.setData({ offset: 100, onClose: null }); + wrapper.trigger('click'); + expect(wrapper.vm.offset).toEqual(0); +});