Commit 4e56af3b authored by Phil Hughes's avatar Phil Hughes

Remove confirm box when redirecting to new merge request form in IDE

Closes #45326
parent 4758db5a
...@@ -37,9 +37,9 @@ export const setLastCommitMessage = ({ rootState, commit }, data) => { ...@@ -37,9 +37,9 @@ export const setLastCommitMessage = ({ rootState, commit }, data) => {
const commitMsg = sprintf( const commitMsg = sprintf(
__('Your changes have been committed. Commit %{commitId} %{commitStats}'), __('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 data.short_id
}" class="commit-sha">${data.short_id}</a>`, }</a>`,
commitStats, commitStats,
}, },
false, false,
...@@ -54,9 +54,7 @@ export const checkCommitStatus = ({ rootState }) => ...@@ -54,9 +54,7 @@ export const checkCommitStatus = ({ rootState }) =>
.then(({ data }) => { .then(({ data }) => {
const { id } = data.commit; const { id } = data.commit;
const selectedBranch = const selectedBranch =
rootState.projects[rootState.currentProjectId].branches[ rootState.projects[rootState.currentProjectId].branches[rootState.currentBranchId];
rootState.currentBranchId
];
if (selectedBranch.workingReference !== id) { if (selectedBranch.workingReference !== id) {
return true; return true;
...@@ -135,32 +133,15 @@ export const updateFilesAfterCommit = ( ...@@ -135,32 +133,15 @@ export const updateFilesAfterCommit = (
if (state.commitAction === consts.COMMIT_TO_NEW_BRANCH) { if (state.commitAction === consts.COMMIT_TO_NEW_BRANCH) {
router.push( router.push(
`/project/${rootState.currentProjectId}/blob/${branch}/${ `/project/${rootState.currentProjectId}/blob/${branch}/${rootGetters.activeFile.path}`,
rootGetters.activeFile.path
}`,
); );
} }
dispatch('updateCommitAction', consts.COMMIT_TO_CURRENT_BRANCH);
}; };
export const commitChanges = ({ export const commitChanges = ({ commit, state, getters, dispatch, rootState }) => {
commit,
state,
getters,
dispatch,
rootState,
}) => {
const newBranch = state.commitAction !== consts.COMMIT_TO_CURRENT_BRANCH; const newBranch = state.commitAction !== consts.COMMIT_TO_CURRENT_BRANCH;
const payload = createCommitPayload( const payload = createCommitPayload(getters.branchName, newBranch, state, rootState);
getters.branchName, const getCommitStatus = newBranch ? Promise.resolve(false) : dispatch('checkCommitStatus');
newBranch,
state,
rootState,
);
const getCommitStatus = newBranch
? Promise.resolve(false)
: dispatch('checkCommitStatus');
commit(types.UPDATE_LOADING, true); commit(types.UPDATE_LOADING, true);
...@@ -182,28 +163,29 @@ export const commitChanges = ({ ...@@ -182,28 +163,29 @@ export const commitChanges = ({
if (!data.short_id) { if (!data.short_id) {
flash(data.message, 'alert', document, null, false, true); flash(data.message, 'alert', document, null, false, true);
return; return null;
} }
dispatch('setLastCommitMessage', data); dispatch('setLastCommitMessage', data);
dispatch('updateCommitMessage', ''); dispatch('updateCommitMessage', '');
return dispatch('updateFilesAfterCommit', {
if (state.commitAction === consts.COMMIT_TO_NEW_BRANCH_MR) { data,
dispatch( branch: getters.branchName,
'redirectToUrl', })
createNewMergeRequestUrl( .then(() => {
rootState.projects[rootState.currentProjectId].web_url, if (state.commitAction === consts.COMMIT_TO_NEW_BRANCH_MR) {
getters.branchName, dispatch(
rootState.currentBranchId, 'redirectToUrl',
), createNewMergeRequestUrl(
{ root: true }, rootState.projects[rootState.currentProjectId].web_url,
); getters.branchName,
} else { rootState.currentBranchId,
dispatch('updateFilesAfterCommit', { ),
data, { root: true },
branch: getters.branchName, );
}); }
} })
.then(() => dispatch('updateCommitAction', consts.COMMIT_TO_CURRENT_BRANCH));
}) })
.catch(err => { .catch(err => {
let errMsg = __('Error committing changes. Please try again.'); let errMsg = __('Error committing changes. Please try again.');
......
---
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', () => { ...@@ -133,10 +133,7 @@ describe('IDE commit module actions', () => {
store store
.dispatch('commit/checkCommitStatus') .dispatch('commit/checkCommitStatus')
.then(() => { .then(() => {
expect(service.getBranchData).toHaveBeenCalledWith( expect(service.getBranchData).toHaveBeenCalledWith('abcproject', 'master');
'abcproject',
'master',
);
done(); done();
}) })
...@@ -230,9 +227,7 @@ describe('IDE commit module actions', () => { ...@@ -230,9 +227,7 @@ describe('IDE commit module actions', () => {
branch, branch,
}) })
.then(() => { .then(() => {
expect( expect(store.state.projects.abcproject.branches.master.workingReference).toBe(data.id);
store.state.projects.abcproject.branches.master.workingReference,
).toBe(data.id);
}) })
.then(done) .then(done)
.catch(done.fail); .catch(done.fail);
...@@ -317,9 +312,7 @@ describe('IDE commit module actions', () => { ...@@ -317,9 +312,7 @@ describe('IDE commit module actions', () => {
branch, branch,
}) })
.then(() => { .then(() => {
expect(router.push).toHaveBeenCalledWith( expect(router.push).toHaveBeenCalledWith(`/project/abcproject/blob/master/${f.path}`);
`/project/abcproject/blob/master/${f.path}`,
);
}) })
.then(done) .then(done)
.catch(done.fail); .catch(done.fail);
...@@ -334,9 +327,7 @@ describe('IDE commit module actions', () => { ...@@ -334,9 +327,7 @@ describe('IDE commit module actions', () => {
branch, branch,
}) })
.then(() => { .then(() => {
expect(store.state.commit.commitAction).not.toBe( expect(store.state.commit.commitAction).not.toBe(consts.COMMIT_TO_NEW_BRANCH);
consts.COMMIT_TO_NEW_BRANCH,
);
}) })
.then(done) .then(done)
.catch(done.fail); .catch(done.fail);
...@@ -448,32 +439,47 @@ describe('IDE commit module actions', () => { ...@@ -448,32 +439,47 @@ describe('IDE commit module actions', () => {
store store
.dispatch('commit/commitChanges') .dispatch('commit/commitChanges')
.then(() => { .then(() => {
expect(store.state.openFiles[0].lastCommit.message).toBe( expect(store.state.openFiles[0].lastCommit.message).toBe('test message');
'test message',
);
done(); done();
}) })
.catch(done.fail); .catch(done.fail);
}); });
it('redirects to new merge request page', done => { describe('merge request', () => {
spyOn(eventHub, '$on'); it('redirects to new merge request page', done => {
spyOn(eventHub, '$on');
store.state.commit.commitAction = '3'; store.state.commit.commitAction = '3';
store store
.dispatch('commit/commitChanges') .dispatch('commit/commitChanges')
.then(() => { .then(() => {
expect(urlUtils.visitUrl).toHaveBeenCalledWith( expect(urlUtils.visitUrl).toHaveBeenCalledWith(
`webUrl/merge_requests/new?merge_request[source_branch]=${ `webUrl/merge_requests/new?merge_request[source_branch]=${
store.getters['commit/newBranchName'] store.getters['commit/newBranchName']
}&merge_request[target_branch]=master`, }&merge_request[target_branch]=master`,
); );
done(); done();
}) })
.catch(done.fail); .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);
});
}); });
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment