gitlab-org--gitlab-foss/spec/frontend/ci/pipeline_schedules/components/take_ownership_modal_spec.js

41 lines
1.0 KiB
JavaScript

import { shallowMount } from '@vue/test-utils';
import { GlModal } from '@gitlab/ui';
import TakeOwnershipModal from '~/ci/pipeline_schedules/components/take_ownership_modal.vue';
describe('Take ownership modal', () => {
let wrapper;
const createComponent = (props = {}) => {
wrapper = shallowMount(TakeOwnershipModal, {
propsData: {
visible: true,
...props,
},
});
};
const findModal = () => wrapper.findComponent(GlModal);
beforeEach(() => {
createComponent();
});
it('shows a take ownership message', () => {
expect(findModal().text()).toBe(
'Only the owner of a pipeline schedule can make changes to it. Do you want to take ownership of this schedule?',
);
});
it('emits the takeOwnership event', async () => {
findModal().vm.$emit('primary');
expect(wrapper.emitted()).toEqual({ takeOwnership: [[]] });
});
it('emits the hideModal event', async () => {
findModal().vm.$emit('hide');
expect(wrapper.emitted()).toEqual({ hideModal: [[]] });
});
});