diff options
author | Fernando Arias <farias@gitlab.com> | 2019-09-10 21:20:20 +0000 |
---|---|---|
committer | Paul Slaughter <pslaughter@gitlab.com> | 2019-09-10 21:20:20 +0000 |
commit | 250660ca2d88556c5305bc855744c6e22cb329f2 (patch) | |
tree | 5544e5d54c748701e5bb13f8c41351dbb49a60e9 | |
parent | 95d16dc007f3fe8831f2baa511bbb7bd708baff0 (diff) | |
download | gitlab-ce-250660ca2d88556c5305bc855744c6e22cb329f2.tar.gz |
Add global toast module
**Why?**
https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/15015#note_210891978
-rw-r--r-- | app/assets/javascripts/vue_shared/plugins/global_toast.js | 8 | ||||
-rw-r--r-- | spec/frontend/vue_shared/plugins/global_toast_spec.js | 24 |
2 files changed, 32 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_shared/plugins/global_toast.js b/app/assets/javascripts/vue_shared/plugins/global_toast.js new file mode 100644 index 00000000000..c0de1cdc615 --- /dev/null +++ b/app/assets/javascripts/vue_shared/plugins/global_toast.js @@ -0,0 +1,8 @@ +import Vue from 'vue'; +import { GlToast } from '@gitlab/ui'; + +Vue.use(GlToast); + +export default function showGlobalToast(...args) { + return Vue.toasted.show(...args); +} diff --git a/spec/frontend/vue_shared/plugins/global_toast_spec.js b/spec/frontend/vue_shared/plugins/global_toast_spec.js new file mode 100644 index 00000000000..551abe3cb41 --- /dev/null +++ b/spec/frontend/vue_shared/plugins/global_toast_spec.js @@ -0,0 +1,24 @@ +import toast from '~/vue_shared/plugins/global_toast'; +import Vue from 'vue'; + +describe('Global toast', () => { + let spyFunc; + + beforeEach(() => { + spyFunc = jest.spyOn(Vue.toasted, 'show').mockImplementation(() => {}); + }); + + afterEach(() => { + spyFunc.mockRestore(); + }); + + it('should pass all args to Vue toasted', () => { + const arg1 = 'TestMessage'; + const arg2 = { className: 'foo' }; + + toast(arg1, arg2); + + expect(Vue.toasted.show).toHaveBeenCalledTimes(1); + expect(Vue.toasted.show).toHaveBeenCalledWith(arg1, arg2); + }); +}); |