Remove confirm box when redirecting to new merge request form in IDE
Closes #45326
This commit is contained in:
parent
4758db5af6
commit
4e56af3b7d
|
@ -37,9 +37,9 @@ export const setLastCommitMessage = ({ rootState, commit }, data) => {
|
|||
const commitMsg = sprintf(
|
||||
__('Your changes have been committed. Commit %{commitId} %{commitStats}'),
|
||||
{
|
||||
commitId: `<a href="${currentProject.web_url}/commit/${
|
||||
commitId: `<a href="${currentProject.web_url}/commit/${data.short_id}" class="commit-sha">${
|
||||
data.short_id
|
||||
}" class="commit-sha">${data.short_id}</a>`,
|
||||
}</a>`,
|
||||
commitStats,
|
||||
},
|
||||
false,
|
||||
|
@ -54,9 +54,7 @@ export const checkCommitStatus = ({ rootState }) =>
|
|||
.then(({ data }) => {
|
||||
const { id } = data.commit;
|
||||
const selectedBranch =
|
||||
rootState.projects[rootState.currentProjectId].branches[
|
||||
rootState.currentBranchId
|
||||
];
|
||||
rootState.projects[rootState.currentProjectId].branches[rootState.currentBranchId];
|
||||
|
||||
if (selectedBranch.workingReference !== id) {
|
||||
return true;
|
||||
|
@ -135,32 +133,15 @@ export const updateFilesAfterCommit = (
|
|||
|
||||
if (state.commitAction === consts.COMMIT_TO_NEW_BRANCH) {
|
||||
router.push(
|
||||
`/project/${rootState.currentProjectId}/blob/${branch}/${
|
||||
rootGetters.activeFile.path
|
||||
}`,
|
||||
`/project/${rootState.currentProjectId}/blob/${branch}/${rootGetters.activeFile.path}`,
|
||||
);
|
||||
}
|
||||
|
||||
dispatch('updateCommitAction', consts.COMMIT_TO_CURRENT_BRANCH);
|
||||
};
|
||||
|
||||
export const commitChanges = ({
|
||||
commit,
|
||||
state,
|
||||
getters,
|
||||
dispatch,
|
||||
rootState,
|
||||
}) => {
|
||||
export const commitChanges = ({ commit, state, getters, dispatch, rootState }) => {
|
||||
const newBranch = state.commitAction !== consts.COMMIT_TO_CURRENT_BRANCH;
|
||||
const payload = createCommitPayload(
|
||||
getters.branchName,
|
||||
newBranch,
|
||||
state,
|
||||
rootState,
|
||||
);
|
||||
const getCommitStatus = newBranch
|
||||
? Promise.resolve(false)
|
||||
: dispatch('checkCommitStatus');
|
||||
const payload = createCommitPayload(getters.branchName, newBranch, state, rootState);
|
||||
const getCommitStatus = newBranch ? Promise.resolve(false) : dispatch('checkCommitStatus');
|
||||
|
||||
commit(types.UPDATE_LOADING, true);
|
||||
|
||||
|
@ -182,28 +163,29 @@ export const commitChanges = ({
|
|||
|
||||
if (!data.short_id) {
|
||||
flash(data.message, 'alert', document, null, false, true);
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
dispatch('setLastCommitMessage', data);
|
||||
dispatch('updateCommitMessage', '');
|
||||
|
||||
if (state.commitAction === consts.COMMIT_TO_NEW_BRANCH_MR) {
|
||||
dispatch(
|
||||
'redirectToUrl',
|
||||
createNewMergeRequestUrl(
|
||||
rootState.projects[rootState.currentProjectId].web_url,
|
||||
getters.branchName,
|
||||
rootState.currentBranchId,
|
||||
),
|
||||
{ root: true },
|
||||
);
|
||||
} else {
|
||||
dispatch('updateFilesAfterCommit', {
|
||||
data,
|
||||
branch: getters.branchName,
|
||||
});
|
||||
}
|
||||
return dispatch('updateFilesAfterCommit', {
|
||||
data,
|
||||
branch: getters.branchName,
|
||||
})
|
||||
.then(() => {
|
||||
if (state.commitAction === consts.COMMIT_TO_NEW_BRANCH_MR) {
|
||||
dispatch(
|
||||
'redirectToUrl',
|
||||
createNewMergeRequestUrl(
|
||||
rootState.projects[rootState.currentProjectId].web_url,
|
||||
getters.branchName,
|
||||
rootState.currentBranchId,
|
||||
),
|
||||
{ root: true },
|
||||
);
|
||||
}
|
||||
})
|
||||
.then(() => dispatch('updateCommitAction', consts.COMMIT_TO_CURRENT_BRANCH));
|
||||
})
|
||||
.catch(err => {
|
||||
let errMsg = __('Error committing changes. Please try again.');
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Removed alert box in IDE when redirecting to new merge request
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -133,10 +133,7 @@ describe('IDE commit module actions', () => {
|
|||
store
|
||||
.dispatch('commit/checkCommitStatus')
|
||||
.then(() => {
|
||||
expect(service.getBranchData).toHaveBeenCalledWith(
|
||||
'abcproject',
|
||||
'master',
|
||||
);
|
||||
expect(service.getBranchData).toHaveBeenCalledWith('abcproject', 'master');
|
||||
|
||||
done();
|
||||
})
|
||||
|
@ -230,9 +227,7 @@ describe('IDE commit module actions', () => {
|
|||
branch,
|
||||
})
|
||||
.then(() => {
|
||||
expect(
|
||||
store.state.projects.abcproject.branches.master.workingReference,
|
||||
).toBe(data.id);
|
||||
expect(store.state.projects.abcproject.branches.master.workingReference).toBe(data.id);
|
||||
})
|
||||
.then(done)
|
||||
.catch(done.fail);
|
||||
|
@ -317,9 +312,7 @@ describe('IDE commit module actions', () => {
|
|||
branch,
|
||||
})
|
||||
.then(() => {
|
||||
expect(router.push).toHaveBeenCalledWith(
|
||||
`/project/abcproject/blob/master/${f.path}`,
|
||||
);
|
||||
expect(router.push).toHaveBeenCalledWith(`/project/abcproject/blob/master/${f.path}`);
|
||||
})
|
||||
.then(done)
|
||||
.catch(done.fail);
|
||||
|
@ -334,9 +327,7 @@ describe('IDE commit module actions', () => {
|
|||
branch,
|
||||
})
|
||||
.then(() => {
|
||||
expect(store.state.commit.commitAction).not.toBe(
|
||||
consts.COMMIT_TO_NEW_BRANCH,
|
||||
);
|
||||
expect(store.state.commit.commitAction).not.toBe(consts.COMMIT_TO_NEW_BRANCH);
|
||||
})
|
||||
.then(done)
|
||||
.catch(done.fail);
|
||||
|
@ -448,32 +439,47 @@ describe('IDE commit module actions', () => {
|
|||
store
|
||||
.dispatch('commit/commitChanges')
|
||||
.then(() => {
|
||||
expect(store.state.openFiles[0].lastCommit.message).toBe(
|
||||
'test message',
|
||||
);
|
||||
expect(store.state.openFiles[0].lastCommit.message).toBe('test message');
|
||||
|
||||
done();
|
||||
})
|
||||
.catch(done.fail);
|
||||
});
|
||||
|
||||
it('redirects to new merge request page', done => {
|
||||
spyOn(eventHub, '$on');
|
||||
describe('merge request', () => {
|
||||
it('redirects to new merge request page', done => {
|
||||
spyOn(eventHub, '$on');
|
||||
|
||||
store.state.commit.commitAction = '3';
|
||||
store.state.commit.commitAction = '3';
|
||||
|
||||
store
|
||||
.dispatch('commit/commitChanges')
|
||||
.then(() => {
|
||||
expect(urlUtils.visitUrl).toHaveBeenCalledWith(
|
||||
`webUrl/merge_requests/new?merge_request[source_branch]=${
|
||||
store.getters['commit/newBranchName']
|
||||
}&merge_request[target_branch]=master`,
|
||||
);
|
||||
store
|
||||
.dispatch('commit/commitChanges')
|
||||
.then(() => {
|
||||
expect(urlUtils.visitUrl).toHaveBeenCalledWith(
|
||||
`webUrl/merge_requests/new?merge_request[source_branch]=${
|
||||
store.getters['commit/newBranchName']
|
||||
}&merge_request[target_branch]=master`,
|
||||
);
|
||||
|
||||
done();
|
||||
})
|
||||
.catch(done.fail);
|
||||
done();
|
||||
})
|
||||
.catch(done.fail);
|
||||
});
|
||||
|
||||
it('resets changed files before redirecting', done => {
|
||||
spyOn(eventHub, '$on');
|
||||
|
||||
store.state.commit.commitAction = '3';
|
||||
|
||||
store
|
||||
.dispatch('commit/commitChanges')
|
||||
.then(() => {
|
||||
expect(store.state.changedFiles.length).toBe(0);
|
||||
|
||||
done();
|
||||
})
|
||||
.catch(done.fail);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue