Commit d4cc92db authored by Paul Slaughter's avatar Paul Slaughter Committed by Markus Koller

FE remove create branch call in IDE commit

Previously `start_sha` was intercepted on the frontend to create the
correct branch in a separate API call. Now that the commits API supports
the `start_sha` parameter directly this workaround is not needed
anymore.
parent f8cecafb
...@@ -56,13 +56,7 @@ export default { ...@@ -56,13 +56,7 @@ export default {
return Api.branchSingle(projectId, currentBranchId); return Api.branchSingle(projectId, currentBranchId);
}, },
commit(projectId, payload) { commit(projectId, payload) {
// Currently the `commit` endpoint does not support `start_sha` so we return Api.commitMultiple(projectId, payload);
// have to make the request in the FE. This is not ideal and will be
// resolved soon. https://gitlab.com/gitlab-org/gitlab-ce/issues/59023
const { branch, start_sha: ref } = payload;
const branchPromise = ref ? Api.createBranch(projectId, { ref, branch }) : Promise.resolve();
return branchPromise.then(() => Api.commitMultiple(projectId, payload));
}, },
getFiles(projectUrl, branchId) { getFiles(projectUrl, branchId) {
const url = `${projectUrl}/files/${branchId}`; const url = `${projectUrl}/files/${branchId}`;
......
...@@ -155,7 +155,7 @@ export const createCommitPayload = ({ ...@@ -155,7 +155,7 @@ export const createCommitPayload = ({
last_commit_id: last_commit_id:
newBranch || f.deleted || f.prevPath || f.replaces ? undefined : f.lastCommitSha, newBranch || f.deleted || f.prevPath || f.replaces ? undefined : f.lastCommitSha,
})), })),
start_sha: newBranch ? rootGetters.lastCommit.short_id : undefined, start_sha: newBranch ? rootGetters.lastCommit.id : undefined,
}); });
export const createNewMergeRequestUrl = (projectUrl, source, target) => export const createNewMergeRequestUrl = (projectUrl, source, target) =>
......
...@@ -16,40 +16,16 @@ describe('IDE services', () => { ...@@ -16,40 +16,16 @@ describe('IDE services', () => {
branch: TEST_BRANCH, branch: TEST_BRANCH,
commit_message: 'Hello world', commit_message: 'Hello world',
actions: [], actions: [],
start_sha: undefined, start_sha: TEST_COMMIT_SHA,
}; };
Api.createBranch.mockReturnValue(Promise.resolve());
Api.commitMultiple.mockReturnValue(Promise.resolve()); Api.commitMultiple.mockReturnValue(Promise.resolve());
}); });
describe.each` it('should commit', () => {
startSha | shouldCreateBranch services.commit(TEST_PROJECT_ID, payload);
${undefined} | ${false}
${TEST_COMMIT_SHA} | ${true}
`('when start_sha is $startSha', ({ startSha, shouldCreateBranch }) => {
beforeEach(() => {
payload.start_sha = startSha;
return services.commit(TEST_PROJECT_ID, payload); expect(Api.commitMultiple).toHaveBeenCalledWith(TEST_PROJECT_ID, payload);
});
if (shouldCreateBranch) {
it('should create branch', () => {
expect(Api.createBranch).toHaveBeenCalledWith(TEST_PROJECT_ID, {
ref: TEST_COMMIT_SHA,
branch: TEST_BRANCH,
});
});
} else {
it('should not create branch', () => {
expect(Api.createBranch).not.toHaveBeenCalled();
});
}
it('should commit', () => {
expect(Api.commitMultiple).toHaveBeenCalledWith(TEST_PROJECT_ID, payload);
});
}); });
}); });
}); });
...@@ -245,7 +245,7 @@ describe('IDE commit module actions', () => { ...@@ -245,7 +245,7 @@ describe('IDE commit module actions', () => {
master: { master: {
workingReference: '1', workingReference: '1',
commit: { commit: {
short_id: TEST_COMMIT_SHA, id: TEST_COMMIT_SHA,
}, },
}, },
}, },
......
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