From f885051bedd3bf95d0e53c76f3670d0eca5a2d84 Mon Sep 17 00:00:00 2001 From: ayang <473033518@qq.com> Date: Wed, 16 Mar 2022 22:40:44 +0800 Subject: [PATCH] test(ui/rate): update snap --- .../__snapshots__/index.spec.js.snap | 98 +++++++ .../src/rate/__tests__/index.spec.js | 246 +++++++++--------- 2 files changed, 221 insertions(+), 123 deletions(-) diff --git a/packages/varlet-vue2-ui/src/rate/__tests__/__snapshots__/index.spec.js.snap b/packages/varlet-vue2-ui/src/rate/__tests__/__snapshots__/index.spec.js.snap index 21c5998..10e16df 100644 --- a/packages/varlet-vue2-ui/src/rate/__tests__/__snapshots__/index.spec.js.snap +++ b/packages/varlet-vue2-ui/src/rate/__tests__/__snapshots__/index.spec.js.snap @@ -1,5 +1,55 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`test rate count 1`] = ` +"
+
+
+
+
+
+
+
+
+
+
+
+
+ + + +
" +`; + +exports[`test rate disabled & readonly 1`] = ` +"
+
+
+
+
+
+
+
+ + + +
" +`; + +exports[`test rate disabled & readonly 2`] = ` +"
+
+
+
+
+
+
+
+ + + +
" +`; + exports[`test rate example 1`] = ` "
基础评分
@@ -289,3 +339,51 @@ exports[`test rate example 1`] = `
" `; + +exports[`test rate gap 1`] = ` +"
+
+
+
+
+
+
+
+ + + +
" +`; + +exports[`test rate validation 1`] = ` +"
+
+
+
+
+
+
+
+ +
+
至少选择一分
+
+
+
+
" +`; + +exports[`test rate validation 2`] = ` +"
+
+
+
+
+
+
+
+ + + +
" +`; diff --git a/packages/varlet-vue2-ui/src/rate/__tests__/index.spec.js b/packages/varlet-vue2-ui/src/rate/__tests__/index.spec.js index 7cfd0c0..072fa7a 100644 --- a/packages/varlet-vue2-ui/src/rate/__tests__/index.spec.js +++ b/packages/varlet-vue2-ui/src/rate/__tests__/index.spec.js @@ -18,126 +18,126 @@ test('test rate plugin', () => { expect(Vue.component(Rate.name)).toBeTruthy() }) -// test('test rate onChange', async () => { -// const onChange = jest.fn() -// const onInput = jest.fn((value) => wrapper.setProps({ value })) - -// const wrapper = mount(VarRate, { -// propsData: { -// value: 0, -// }, -// listeners: { -// change: onChange, -// input: onInput, -// }, -// }) - -// await wrapper.find('.var-rate__content').trigger('click') -// expect(onChange).toHaveBeenCalledTimes(1) -// expect(wrapper.props('value')).toBe(1) - -// wrapper.destroy() -// }) - -// test('test rate half', async () => { -// const onChange = jest.fn() -// const onInput = jest.fn((value) => wrapper.setProps({ value })) - -// const wrapper = mount(VarRate, { -// propsData: { -// half: true, -// value: 0, -// }, -// listeners: { -// change: onChange, -// input: onInput, -// }, -// }) - -// await trigger(wrapper.find('.var-rate__content'), 'click') -// expect(onChange).toHaveBeenCalledTimes(1) -// expect(wrapper.props('value')).toBe(0.5) - -// wrapper.destroy() -// }) - -// test('test rate validation', async () => { -// const onChange = jest.fn() -// const onInput = jest.fn((value) => wrapper.setProps({ value })) - -// const wrapper = mount(VarRate, { -// propsData: { -// value: 0, -// rules: [(v) => v >= 1 || '至少选择一分'], -// }, -// listeners: { -// change: onChange, -// input: onInput, -// }, -// }) - -// wrapper.vm.validate() -// await delay(16) - -// expect(wrapper.find('.var-form-details__message').text()).toBe('至少选择一分') -// expect(wrapper.html()).toMatchSnapshot() - -// await wrapper.find('.var-rate__content').trigger('click') -// await delay(16) -// expect(wrapper.find('.var-form-details__message').exists()).toBeFalsy() -// expect(wrapper.html()).toMatchSnapshot() - -// wrapper.vm.reset() -// await delay(16) -// expect(wrapper.props('value')).toBe(0) - -// wrapper.destroy() -// }) - -// test('test rate disabled & readonly', async () => { -// const onChange = jest.fn() - -// const wrapper = mount(VarRate, { -// propsData: { -// disabled: true, -// readonly: false, -// }, -// listeners: { -// change: onChange, -// }, -// }) - -// await wrapper.find('.var-rate__content').trigger('click') -// expect(wrapper.html()).toMatchSnapshot() -// expect(onChange).toHaveBeenCalledTimes(0) - -// await wrapper.setProps({ disabled: false, readonly: true }) -// await wrapper.find('.var-rate__content').trigger('click') -// expect(wrapper.html()).toMatchSnapshot() -// expect(onChange).toHaveBeenCalledTimes(0) -// }) - -// test('test rate count', () => { -// const wrapper = mount(VarRate, { -// propsData: { -// count: 10, -// }, -// }) - -// expect(wrapper.findAll('.var-rate__content').length).toBe(10) -// expect(wrapper.html()).toMatchSnapshot() - -// wrapper.destroy() -// }) - -// test('test rate gap', () => { -// const wrapper = mount(VarRate, { -// propsData: { -// gap: 10, -// }, -// }) - -// expect(wrapper.html()).toMatchSnapshot() - -// wrapper.destroy() -// }) +test('test rate onChange', async () => { + const onChange = jest.fn() + const onInput = jest.fn((value) => wrapper.setProps({ value })) + + const wrapper = mount(VarRate, { + propsData: { + value: 0, + }, + listeners: { + change: onChange, + input: onInput, + }, + }) + + await wrapper.find('.var-rate__content').trigger('click') + expect(onChange).toHaveBeenCalledTimes(1) + expect(wrapper.props('value')).toBe(1) + + wrapper.destroy() +}) + +test('test rate half', async () => { + const onChange = jest.fn() + const onInput = jest.fn((value) => wrapper.setProps({ value })) + + const wrapper = mount(VarRate, { + propsData: { + half: true, + value: 0, + }, + listeners: { + change: onChange, + input: onInput, + }, + }) + + await trigger(wrapper.find('.var-rate__content'), 'click') + expect(onChange).toHaveBeenCalledTimes(1) + expect(wrapper.props('value')).toBe(0.5) + + wrapper.destroy() +}) + +test('test rate validation', async () => { + const onChange = jest.fn() + const onInput = jest.fn((value) => wrapper.setProps({ value })) + + const wrapper = mount(VarRate, { + propsData: { + value: 0, + rules: [(v) => v >= 1 || '至少选择一分'], + }, + listeners: { + change: onChange, + input: onInput, + }, + }) + + wrapper.vm.validate() + await delay(16) + + expect(wrapper.find('.var-form-details__message').text()).toBe('至少选择一分') + expect(wrapper.html()).toMatchSnapshot() + + await wrapper.find('.var-rate__content').trigger('click') + await delay(16) + expect(wrapper.find('.var-form-details__message').exists()).toBeFalsy() + expect(wrapper.html()).toMatchSnapshot() + + wrapper.vm.reset() + await delay(16) + expect(wrapper.props('value')).toBe(0) + + wrapper.destroy() +}) + +test('test rate disabled & readonly', async () => { + const onChange = jest.fn() + + const wrapper = mount(VarRate, { + propsData: { + disabled: true, + readonly: false, + }, + listeners: { + change: onChange, + }, + }) + + await wrapper.find('.var-rate__content').trigger('click') + expect(wrapper.html()).toMatchSnapshot() + expect(onChange).toHaveBeenCalledTimes(0) + + await wrapper.setProps({ disabled: false, readonly: true }) + await wrapper.find('.var-rate__content').trigger('click') + expect(wrapper.html()).toMatchSnapshot() + expect(onChange).toHaveBeenCalledTimes(0) +}) + +test('test rate count', () => { + const wrapper = mount(VarRate, { + propsData: { + count: 10, + }, + }) + + expect(wrapper.findAll('.var-rate__content').length).toBe(10) + expect(wrapper.html()).toMatchSnapshot() + + wrapper.destroy() +}) + +test('test rate gap', () => { + const wrapper = mount(VarRate, { + propsData: { + gap: 10, + }, + }) + + expect(wrapper.html()).toMatchSnapshot() + + wrapper.destroy() +})