Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2023-07-05 00:10:44 +00:00
parent f9269785d9
commit 562c65cf52
2 changed files with 38 additions and 47 deletions

View File

@ -41,9 +41,11 @@ describe('Batch comments draft note component', () => {
},
});
jest.spyOn(wrapper.vm.$store, 'dispatch').mockImplementation();
jest.spyOn(store, 'dispatch').mockImplementation();
};
const findNoteableNote = () => wrapper.findComponent(NoteableNote);
beforeEach(() => {
store = createStore();
draft = createDraft();
@ -53,18 +55,14 @@ describe('Batch comments draft note component', () => {
createComponent();
expect(wrapper.findComponent(GlBadge).exists()).toBe(true);
const note = wrapper.findComponent(NoteableNote);
expect(note.exists()).toBe(true);
expect(note.props().note).toEqual(draft);
expect(findNoteableNote().exists()).toBe(true);
expect(findNoteableNote().props('note')).toEqual(draft);
});
describe('update', () => {
it('dispatches updateDraft', async () => {
createComponent();
const note = wrapper.findComponent(NoteableNote);
note.vm.$emit('handleEdit');
findNoteableNote().vm.$emit('handleEdit');
await nextTick();
const formData = {
@ -73,12 +71,9 @@ describe('Batch comments draft note component', () => {
resolveDiscussion: false,
};
note.vm.$emit('handleUpdateNote', formData);
findNoteableNote().vm.$emit('handleUpdateNote', formData);
expect(wrapper.vm.$store.dispatch).toHaveBeenCalledWith(
'batchComments/updateDraft',
formData,
);
expect(store.dispatch).toHaveBeenCalledWith('batchComments/updateDraft', formData);
});
});
@ -87,18 +82,15 @@ describe('Batch comments draft note component', () => {
createComponent();
jest.spyOn(window, 'confirm').mockImplementation(() => true);
const note = wrapper.findComponent(NoteableNote);
findNoteableNote().vm.$emit('handleDeleteNote', draft);
note.vm.$emit('handleDeleteNote', draft);
expect(wrapper.vm.$store.dispatch).toHaveBeenCalledWith('batchComments/deleteDraft', draft);
expect(store.dispatch).toHaveBeenCalledWith('batchComments/deleteDraft', draft);
});
});
describe('quick actions', () => {
it('renders referenced commands', async () => {
createComponent();
wrapper.setProps({
createComponent({
draft: {
...draft,
references: {
@ -116,22 +108,27 @@ describe('Batch comments draft note component', () => {
});
describe('multiline comments', () => {
describe.each`
desc | props | event | expectedCalls
${'with `draft.position`'} | ${draftWithLineRange} | ${'mouseenter'} | ${[['setSelectedCommentPositionHover', LINE_RANGE]]}
${'with `draft.position`'} | ${draftWithLineRange} | ${'mouseleave'} | ${[['setSelectedCommentPositionHover']]}
${'without `draft.position`'} | ${{}} | ${'mouseenter'} | ${[]}
${'without `draft.position`'} | ${{}} | ${'mouseleave'} | ${[]}
`('$desc', ({ props, event, expectedCalls }) => {
beforeEach(() => {
createComponent({ draft: { ...draft, ...props } });
jest.spyOn(store, 'dispatch');
});
it(`calls store with draft.position with mouseenter`, () => {
createComponent({ draft: { ...draft, ...draftWithLineRange } });
findNoteableNote().trigger('mouseenter');
it(`calls store ${expectedCalls.length} times on ${event}`, () => {
wrapper.element.dispatchEvent(new MouseEvent(event, { bubbles: true }));
expect(store.dispatch.mock.calls).toEqual(expectedCalls);
});
expect(store.dispatch).toHaveBeenCalledWith('setSelectedCommentPositionHover', LINE_RANGE);
});
it(`calls store with draft.position and mouseleave`, () => {
createComponent({ draft: { ...draft, ...draftWithLineRange } });
findNoteableNote().trigger('mouseleave');
expect(store.dispatch).toHaveBeenCalledWith('setSelectedCommentPositionHover');
});
it(`does not call store without draft position`, () => {
createComponent({ draft });
findNoteableNote().trigger('mouseenter');
findNoteableNote().trigger('mouseleave');
expect(store.dispatch).not.toHaveBeenCalled();
});
});
});

View File

@ -151,15 +151,13 @@ describe('Pipeline schedules app', () => {
[deletePipelineScheduleMutation, deleteMutationHandlerSuccess],
]);
jest.spyOn(wrapper.vm.$apollo.queries.schedules, 'refetch');
await waitForPromises();
const scheduleId = mockPipelineScheduleNodes[0].id;
findTable().vm.$emit('showDeleteModal', scheduleId);
expect(wrapper.vm.$apollo.queries.schedules.refetch).not.toHaveBeenCalled();
expect(successHandler).toHaveBeenCalledTimes(1);
findDeleteModal().vm.$emit('deleteSchedule');
@ -168,7 +166,7 @@ describe('Pipeline schedules app', () => {
expect(deleteMutationHandlerSuccess).toHaveBeenCalledWith({
id: scheduleId,
});
expect(wrapper.vm.$apollo.queries.schedules.refetch).toHaveBeenCalled();
expect(successHandler).toHaveBeenCalledTimes(2);
expect($toast.show).toHaveBeenCalledWith('Pipeline schedule successfully deleted.');
});
@ -257,15 +255,13 @@ describe('Pipeline schedules app', () => {
[takeOwnershipMutation, takeOwnershipMutationHandlerSuccess],
]);
jest.spyOn(wrapper.vm.$apollo.queries.schedules, 'refetch');
await waitForPromises();
const scheduleId = mockPipelineScheduleNodes[1].id;
findTable().vm.$emit('showTakeOwnershipModal', scheduleId);
expect(wrapper.vm.$apollo.queries.schedules.refetch).not.toHaveBeenCalled();
expect(successHandler).toHaveBeenCalledTimes(1);
findTakeOwnershipModal().vm.$emit('takeOwnership');
@ -274,7 +270,7 @@ describe('Pipeline schedules app', () => {
expect(takeOwnershipMutationHandlerSuccess).toHaveBeenCalledWith({
id: scheduleId,
});
expect(wrapper.vm.$apollo.queries.schedules.refetch).toHaveBeenCalled();
expect(successHandler).toHaveBeenCalledTimes(2);
expect($toast.show).toHaveBeenCalledWith('Successfully taken ownership from Admin.');
});
@ -302,7 +298,7 @@ describe('Pipeline schedules app', () => {
describe('pipeline schedule tabs', () => {
beforeEach(async () => {
createComponent();
createComponent([[getPipelineSchedulesQuery, successHandler]]);
await waitForPromises();
});
@ -320,13 +316,11 @@ describe('Pipeline schedules app', () => {
});
it('should refetch the schedules query on a tab click', async () => {
jest.spyOn(wrapper.vm.$apollo.queries.schedules, 'refetch').mockImplementation(jest.fn());
expect(wrapper.vm.$apollo.queries.schedules.refetch).toHaveBeenCalledTimes(0);
expect(successHandler).toHaveBeenCalledTimes(1);
await findAllTab().trigger('click');
expect(wrapper.vm.$apollo.queries.schedules.refetch).toHaveBeenCalledTimes(1);
expect(successHandler).toHaveBeenCalledTimes(3);
});
});