diff options
Diffstat (limited to 'spec/frontend/ci/runner/components/runner_delete_modal_spec.js')
-rw-r--r-- | spec/frontend/ci/runner/components/runner_delete_modal_spec.js | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/spec/frontend/ci/runner/components/runner_delete_modal_spec.js b/spec/frontend/ci/runner/components/runner_delete_modal_spec.js index 606cc46c018..e486d708fec 100644 --- a/spec/frontend/ci/runner/components/runner_delete_modal_spec.js +++ b/spec/frontend/ci/runner/components/runner_delete_modal_spec.js @@ -1,5 +1,6 @@ import { GlModal } from '@gitlab/ui'; -import { mount, shallowMount } from '@vue/test-utils'; +import { shallowMount } from '@vue/test-utils'; +import { stubComponent } from 'helpers/stub_component'; import RunnerDeleteModal from '~/ci/runner/components/runner_delete_modal.vue'; describe('RunnerDeleteModal', () => { @@ -7,7 +8,7 @@ describe('RunnerDeleteModal', () => { const findGlModal = () => wrapper.findComponent(GlModal); - const createComponent = ({ props = {} } = {}, mountFn = shallowMount) => { + const createComponent = ({ props = {}, ...options } = {}, mountFn = shallowMount) => { wrapper = mountFn(RunnerDeleteModal, { attachTo: document.body, propsData: { @@ -17,6 +18,7 @@ describe('RunnerDeleteModal', () => { attrs: { modalId: 'delete-runner-modal-99', }, + ...options, }); }; @@ -66,15 +68,35 @@ describe('RunnerDeleteModal', () => { }); }); - describe('When modal is confirmed by the user', () => { + describe('Modal API', () => { let hideModalSpy; + let showModalSpy; beforeEach(() => { - createComponent({}, mount); - hideModalSpy = jest.spyOn(wrapper.vm.$refs.modal, 'hide').mockImplementation(() => {}); + hideModalSpy = jest.fn(); + showModalSpy = jest.fn(); + + createComponent({ + stubs: { + GlModal: stubComponent(GlModal, { + methods: { + hide: hideModalSpy, + show: showModalSpy, + }, + }), + }, + }); + }); + + it('When "show" method is called, modal is shown', () => { + expect(showModalSpy).toHaveBeenCalledTimes(0); + + wrapper.vm.show(); + + expect(showModalSpy).toHaveBeenCalledTimes(1); }); - it('Modal gets hidden', () => { + it('When confirmed, modal gets hidden', () => { expect(hideModalSpy).toHaveBeenCalledTimes(0); findGlModal().vm.$emit('primary'); |