Commit 9eb28bbf authored by Luke "Jared" Bennett's avatar Luke "Jared" Bennett

Added repo_service_spec for commitFlash and corrected repo_commit-Secion api spec

parent f3e4f10d
...@@ -67,13 +67,15 @@ const RepoService = { ...@@ -67,13 +67,15 @@ const RepoService = {
commitFiles(payload) { commitFiles(payload) {
return Api.commitMultiple(Store.projectId, payload) return Api.commitMultiple(Store.projectId, payload)
.then((data) => { .then(this.commitFlash);
if (data.short_id && data.stats) { },
Flash(`Your changes have been committed. Commit ${data.short_id} with ${data.stats.additions} additions, ${data.stats.deletions} deletions.`, 'notice');
} else { commitFlash(data) {
Flash(data.message); if (data.short_id && data.stats) {
} window.Flash(`Your changes have been committed. Commit ${data.short_id} with ${data.stats.additions} additions, ${data.stats.deletions} deletions.`, 'notice');
}); } else {
window.Flash(data.message);
}
}, },
}; };
......
...@@ -3,7 +3,7 @@ import repoCommitSection from '~/repo/components/repo_commit_section.vue'; ...@@ -3,7 +3,7 @@ import repoCommitSection from '~/repo/components/repo_commit_section.vue';
import RepoStore from '~/repo/stores/repo_store'; import RepoStore from '~/repo/stores/repo_store';
import RepoService from '~/repo/services/repo_service'; import RepoService from '~/repo/services/repo_service';
fdescribe('RepoCommitSection', () => { describe('RepoCommitSection', () => {
const branch = 'master'; const branch = 'master';
const projectUrl = 'projectUrl'; const projectUrl = 'projectUrl';
const changedFiles = [{ const changedFiles = [{
......
import axios from 'axios'; import axios from 'axios';
import RepoService from '~/repo/services/repo_service'; import RepoService from '~/repo/services/repo_service';
import RepoStore from '~/repo/stores/repo_store';
import Api from '~/api';
describe('RepoService', () => { describe('RepoService', () => {
it('has default json format param', () => { it('has default json format param', () => {
...@@ -118,4 +120,52 @@ describe('RepoService', () => { ...@@ -118,4 +120,52 @@ describe('RepoService', () => {
}).catch(done.fail); }).catch(done.fail);
}); });
}); });
describe('commitFiles', () => {
it('calls commitMultiple and .then commitFlash', (done) => {
const projectId = 'projectId';
const payload = {};
RepoStore.projectId = projectId;
spyOn(Api, 'commitMultiple').and.returnValue(Promise.resolve());
spyOn(RepoService, 'commitFlash');
const apiPromise = RepoService.commitFiles(payload);
expect(Api.commitMultiple).toHaveBeenCalledWith(projectId, payload);
apiPromise.then(() => {
expect(RepoService.commitFlash).toHaveBeenCalled();
done();
}).catch(done.fail);
});
});
describe('commitFlash', () => {
it('calls Flash with data.message', () => {
const data = {
message: 'message',
};
spyOn(window, 'Flash');
RepoService.commitFlash(data);
expect(window.Flash).toHaveBeenCalledWith(data.message);
});
it('calls Flash with success string if short_id and stats', () => {
const data = {
short_id: 'short_id',
stats: {
additions: '4',
deletions: '5',
},
};
spyOn(window, 'Flash');
RepoService.commitFlash(data);
expect(window.Flash).toHaveBeenCalledWith(`Your changes have been committed. Commit ${data.short_id} with ${data.stats.additions} additions, ${data.stats.deletions} deletions.`, 'notice');
});
});
}); });
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