Create constants for IDE commit action values

**Why?**
These values will be used to help build the mirroring diff.
It is helpful keeping it controlled in a constant.

**Links:**
- https://gitlab.com/gitlab-org/gitlab-ee/issues/10232
- https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/11478
This commit is contained in:
Paul Slaughter 2019-04-24 03:45:03 -05:00
parent 4518806c9c
commit 218430bdde
No known key found for this signature in database
GPG key ID: DF5690803C68282A
4 changed files with 26 additions and 15 deletions

View file

@ -72,4 +72,11 @@ export const modalTypes = {
tree: 'tree', tree: 'tree',
}; };
export const commitActionTypes = {
move: 'move',
delete: 'delete',
create: 'create',
update: 'update',
};
export const packageJsonPath = 'package.json'; export const packageJsonPath = 'package.json';

View file

@ -1,3 +1,5 @@
import { commitActionTypes } from '../constants';
export const dataStructure = () => ({ export const dataStructure = () => ({
id: '', id: '',
// Key will contain a mixture of ID and path // Key will contain a mixture of ID and path
@ -114,14 +116,14 @@ export const setPageTitle = title => {
export const commitActionForFile = file => { export const commitActionForFile = file => {
if (file.prevPath) { if (file.prevPath) {
return 'move'; return commitActionTypes.move;
} else if (file.deleted) { } else if (file.deleted) {
return 'delete'; return commitActionTypes.delete;
} else if (file.tempFile) { } else if (file.tempFile) {
return 'create'; return commitActionTypes.create;
} }
return 'update'; return commitActionTypes.update;
}; };
export const getCommitFiles = stagedFiles => export const getCommitFiles = stagedFiles =>

View file

@ -4,6 +4,7 @@ import service from '~/ide/services';
import router from '~/ide/ide_router'; import router from '~/ide/ide_router';
import eventHub from '~/ide/eventhub'; import eventHub from '~/ide/eventhub';
import consts from '~/ide/stores/modules/commit/constants'; import consts from '~/ide/stores/modules/commit/constants';
import { commitActionTypes } from '~/ide/constants';
import { resetStore, file } from 'spec/ide/helpers'; import { resetStore, file } from 'spec/ide/helpers';
describe('IDE commit module actions', () => { describe('IDE commit module actions', () => {
@ -294,7 +295,7 @@ describe('IDE commit module actions', () => {
commit_message: 'testing 123', commit_message: 'testing 123',
actions: [ actions: [
{ {
action: 'update', action: commitActionTypes.update,
file_path: jasmine.anything(), file_path: jasmine.anything(),
content: undefined, content: undefined,
encoding: jasmine.anything(), encoding: jasmine.anything(),
@ -321,7 +322,7 @@ describe('IDE commit module actions', () => {
commit_message: 'testing 123', commit_message: 'testing 123',
actions: [ actions: [
{ {
action: 'update', action: commitActionTypes.update,
file_path: jasmine.anything(), file_path: jasmine.anything(),
content: undefined, content: undefined,
encoding: jasmine.anything(), encoding: jasmine.anything(),

View file

@ -1,4 +1,5 @@
import * as utils from '~/ide/stores/utils'; import * as utils from '~/ide/stores/utils';
import { commitActionTypes } from '~/ide/constants';
import { file } from '../helpers'; import { file } from '../helpers';
describe('Multi-file store utils', () => { describe('Multi-file store utils', () => {
@ -107,7 +108,7 @@ describe('Multi-file store utils', () => {
commit_message: 'commit message', commit_message: 'commit message',
actions: [ actions: [
{ {
action: 'update', action: commitActionTypes.update,
file_path: 'staged', file_path: 'staged',
content: 'updated file content', content: 'updated file content',
encoding: 'text', encoding: 'text',
@ -115,7 +116,7 @@ describe('Multi-file store utils', () => {
previous_path: undefined, previous_path: undefined,
}, },
{ {
action: 'create', action: commitActionTypes.create,
file_path: 'added', file_path: 'added',
content: 'new file content', content: 'new file content',
encoding: 'base64', encoding: 'base64',
@ -123,7 +124,7 @@ describe('Multi-file store utils', () => {
previous_path: undefined, previous_path: undefined,
}, },
{ {
action: 'delete', action: commitActionTypes.delete,
file_path: 'deletedFile', file_path: 'deletedFile',
content: undefined, content: undefined,
encoding: 'text', encoding: 'text',
@ -170,7 +171,7 @@ describe('Multi-file store utils', () => {
commit_message: 'prebuilt test commit message', commit_message: 'prebuilt test commit message',
actions: [ actions: [
{ {
action: 'update', action: commitActionTypes.update,
file_path: 'staged', file_path: 'staged',
content: 'updated file content', content: 'updated file content',
encoding: 'text', encoding: 'text',
@ -178,7 +179,7 @@ describe('Multi-file store utils', () => {
previous_path: undefined, previous_path: undefined,
}, },
{ {
action: 'create', action: commitActionTypes.create,
file_path: 'added', file_path: 'added',
content: 'new file content', content: 'new file content',
encoding: 'base64', encoding: 'base64',
@ -193,19 +194,19 @@ describe('Multi-file store utils', () => {
describe('commitActionForFile', () => { describe('commitActionForFile', () => {
it('returns deleted for deleted file', () => { it('returns deleted for deleted file', () => {
expect(utils.commitActionForFile({ deleted: true })).toBe('delete'); expect(utils.commitActionForFile({ deleted: true })).toBe(commitActionTypes.delete);
}); });
it('returns create for tempFile', () => { it('returns create for tempFile', () => {
expect(utils.commitActionForFile({ tempFile: true })).toBe('create'); expect(utils.commitActionForFile({ tempFile: true })).toBe(commitActionTypes.create);
}); });
it('returns move for moved file', () => { it('returns move for moved file', () => {
expect(utils.commitActionForFile({ prevPath: 'test' })).toBe('move'); expect(utils.commitActionForFile({ prevPath: 'test' })).toBe(commitActionTypes.move);
}); });
it('returns update by default', () => { it('returns update by default', () => {
expect(utils.commitActionForFile({})).toBe('update'); expect(utils.commitActionForFile({})).toBe(commitActionTypes.update);
}); });
}); });