diff --git a/package.json b/package.json index 6fb434409..9956f6ee4 100644 --- a/package.json +++ b/package.json @@ -125,6 +125,7 @@ "!**/demo/**", "!**/locale/lang/**", "!**/waterfall/**", + "!**/sku/**", "!**/lazyload/**" ], "collectCoverage": true, diff --git a/packages/toast/test/__snapshots__/index.spec.js.snap b/packages/toast/test/__snapshots__/index.spec.js.snap new file mode 100644 index 000000000..68c72910e --- /dev/null +++ b/packages/toast/test/__snapshots__/index.spec.js.snap @@ -0,0 +1,9 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`create a forbidClick toast 1`] = ` +
+`; diff --git a/packages/toast/test/index.spec.js b/packages/toast/test/index.spec.js new file mode 100644 index 000000000..9782fc864 --- /dev/null +++ b/packages/toast/test/index.spec.js @@ -0,0 +1,70 @@ +import Toast from '../'; +import Vue from 'vue'; +import { TransitionStub } from '@vue/test-utils'; + +Vue.component('transition', TransitionStub); + +test('create a forbidClick toast', () => { + const toast = Toast({ + forbidClick: true + }); + + expect(toast.$el.outerHTML).toMatchSnapshot(); +}); + +it('toast disappeared after duration', (done) => { + const toast = Toast({ + duration: 10 + }); + + setTimeout(() => { + expect(toast.$el.style.display).toEqual('none'); + done(); + }, 500); +}); + +test('clear toast', () => { + const toast1 = Toast(); + expect(toast1.value).toBeTruthy(); + Toast.clear(); + expect(toast1.value).toBeFalsy(); + + Toast.allowMultiple(); + const toast2 = Toast('2'); + const toast3 = Toast('3'); + Toast.clear(true); + expect(toast2.value).toBeFalsy(); + expect(toast3.value).toBeFalsy(); + Toast.allowMultiple(false); +}); + +test('multiple toast', () => { + Toast.allowMultiple(); + Toast.clear(true); + const toast1 = Toast.success('1'); + const toast2 = Toast.success('2'); + Toast.clear(); + expect(toast1.value).toBeFalsy(); + expect(toast2.value).toBeTruthy(); + Toast.clear(); + Toast.clear(); + expect(toast2.value).toBeFalsy(); + Toast.allowMultiple(false); +}); + +test('set default options', () => { + Toast.setDefaultOptions({ duration: 1000 }); + expect(Toast().duration).toEqual(1000); + Toast.resetDefaultOptions(); + expect(Toast().duration).toEqual(3000); +}); + +test('toast duration 0', () => { + Toast.allowMultiple(); + const toast = Toast({ + message: 'toast', + duration: 0 + }); + expect(toast.timer).toBeFalsy(); + Toast.allowMultiple(false); +}); diff --git a/packages/toast/toast.vue b/packages/toast/toast.vue index 0404224a0..354a3b1be 100644 --- a/packages/toast/toast.vue +++ b/packages/toast/toast.vue @@ -9,7 +9,7 @@