Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.js34
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');