Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
f9269785d9
commit
562c65cf52
|
|
@ -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();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue