diff --git a/src/count-down/test/__snapshots__/demo.spec.js.snap b/src/count-down/test/__snapshots__/demo.spec.js.snap deleted file mode 100644 index 237f2ee09..000000000 --- a/src/count-down/test/__snapshots__/demo.spec.js.snap +++ /dev/null @@ -1,35 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`renders demo correctly 1`] = ` -
-
-
30:00:00
-
-
-
01 天 06 时 00 分 00 秒
-
-
-
30:00:00:000
-
-
-
6 0 0
-
-
-
03:000
-
-
-
- 开始
-
-
-
- 暂停
-
-
-
- 重置
-
-
-
-
-`; diff --git a/src/count-down/test/__snapshots__/index.spec.js.snap b/src/count-down/test/__snapshots__/index.spec.js.snap new file mode 100644 index 000000000..6a6dc9335 --- /dev/null +++ b/src/count-down/test/__snapshots__/index.spec.js.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`complete format prop 1`] = `
01-05-59-59-999
`; + +exports[`disable auto-start prop 1`] = `
100
`; + +exports[`incomplate format prop 1`] = `
29-59-59-999
`; diff --git a/src/count-down/test/demo.spec.js b/src/count-down/test/demo.spec.js deleted file mode 100644 index d647cfabc..000000000 --- a/src/count-down/test/demo.spec.js +++ /dev/null @@ -1,4 +0,0 @@ -import Demo from '../demo'; -import demoTest from '../../../test/demo-test'; - -demoTest(Demo); diff --git a/src/count-down/test/index.spec.js b/src/count-down/test/index.spec.js new file mode 100644 index 000000000..eb5226990 --- /dev/null +++ b/src/count-down/test/index.spec.js @@ -0,0 +1,151 @@ +import CountDown from '..'; +import { mount, later } from '../../../test/utils'; + +test('macro task finish event', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 1 + } + }); + + expect(wrapper.emitted('finish')).toBeFalsy(); + await later(20); + expect(wrapper.emitted('finish')).toBeTruthy(); +}); + +test('micro task finish event', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 1, + millisecond: true + } + }); + + expect(wrapper.emitted('finish')).toBeFalsy(); + await later(20); + expect(wrapper.emitted('finish')).toBeTruthy(); +}); + +test('macro task re-render', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 1000, + format: 'SSS' + } + }); + + const prevSnapShot = wrapper.html(); + await later(20); + const laterSnapShot = wrapper.html(); + + expect(prevSnapShot !== laterSnapShot).toBeTruthy(); +}); + +test('micro task re-render', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 100, + format: 'SSS', + millisecond: true + } + }); + + const prevSnapShot = wrapper.html(); + await later(20); + const laterSnapShot = wrapper.html(); + + expect(prevSnapShot !== laterSnapShot).toBeTruthy(); +}); + +test('disable auto-start prop', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 100, + format: 'SSS', + autoStart: false + } + }); + + await later(20); + expect(wrapper).toMatchSnapshot(); +}); + +test('start method', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 100, + format: 'SSS', + autoStart: false, + millisecond: true + } + }); + + const prevSnapShot = wrapper.html(); + + wrapper.vm.start(); + wrapper.vm.start(); + + await later(20); + + const laterShapShot = wrapper.html(); + + expect(prevSnapShot !== laterShapShot).toBeTruthy(); +}); + +test('pause method', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 100, + format: 'SSS', + millisecond: true + } + }); + + const prevSnapShot = wrapper.html(); + wrapper.vm.pause(); + await later(20); + const laterShapShot = wrapper.html(); + + expect(prevSnapShot === laterShapShot).toBeTruthy(); +}); + +test('reset method', async () => { + const wrapper = mount(CountDown, { + propsData: { + time: 100, + format: 'SSS', + millisecond: true + } + }); + + const prevSnapShot = wrapper.html(); + await later(20); + wrapper.vm.reset(); + const laterShapShot = wrapper.html(); + + expect(prevSnapShot === laterShapShot).toBeTruthy(); +}); + +test('complete format prop', () => { + const wrapper = mount(CountDown, { + propsData: { + time: 30 * 60 * 60 * 1000 - 1, + autoStart: false, + format: 'DD-HH-mm-ss-SSS' + } + }); + + expect(wrapper).toMatchSnapshot(); +}); + +test('incomplate format prop', () => { + const wrapper = mount(CountDown, { + propsData: { + time: 30 * 60 * 60 * 1000 - 1, + autoStart: false, + format: 'HH-mm-ss-SSS' + } + }); + + expect(wrapper).toMatchSnapshot(); +});