diff options
Diffstat (limited to 'spec/javascripts/ide/stores/mutations_spec.js')
-rw-r--r-- | spec/javascripts/ide/stores/mutations_spec.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/spec/javascripts/ide/stores/mutations_spec.js b/spec/javascripts/ide/stores/mutations_spec.js index 460c5b01081..2470c99e300 100644 --- a/spec/javascripts/ide/stores/mutations_spec.js +++ b/spec/javascripts/ide/stores/mutations_spec.js @@ -79,6 +79,16 @@ describe('Multi-file store mutations', () => { }); }); + describe('CLEAR_REPLACED_FILES', () => { + it('clears replacedFiles array', () => { + localState.replacedFiles.push('a'); + + mutations.CLEAR_REPLACED_FILES(localState); + + expect(localState.replacedFiles.length).toBe(0); + }); + }); + describe('UPDATE_VIEWER', () => { it('sets viewer state', () => { mutations.UPDATE_VIEWER(localState, 'diff'); @@ -109,6 +119,62 @@ describe('Multi-file store mutations', () => { }); }); + describe('CREATE_TMP_ENTRY', () => { + beforeEach(() => { + localState.currentProjectId = 'gitlab-ce'; + localState.currentBranchId = 'master'; + localState.trees['gitlab-ce/master'] = { + tree: [], + }; + }); + + it('creates temp entry in the tree', () => { + const tmpFile = file('test'); + mutations.CREATE_TMP_ENTRY(localState, { + data: { + entries: { + test: { + ...tmpFile, + tempFile: true, + changed: true, + }, + }, + treeList: [tmpFile], + }, + projectId: 'gitlab-ce', + branchId: 'master', + }); + + expect(localState.trees['gitlab-ce/master'].tree.length).toEqual(1); + expect(localState.entries.test.tempFile).toEqual(true); + }); + + it('marks entry as replacing previous entry if the old one has been deleted', () => { + const tmpFile = file('test'); + localState.entries.test = { + ...tmpFile, + deleted: true, + }; + mutations.CREATE_TMP_ENTRY(localState, { + data: { + entries: { + test: { + ...tmpFile, + tempFile: true, + changed: true, + }, + }, + treeList: [tmpFile], + }, + projectId: 'gitlab-ce', + branchId: 'master', + }); + + expect(localState.trees['gitlab-ce/master'].tree.length).toEqual(1); + expect(localState.entries.test.replaces).toEqual(true); + }); + }); + describe('UPDATE_TEMP_FLAG', () => { beforeEach(() => { localState.entries.test = { @@ -252,6 +318,7 @@ describe('Multi-file store mutations', () => { permalink: `${gl.TEST_HOST}/testing-123`, commitsPath: `${gl.TEST_HOST}/testing-123`, blamePath: `${gl.TEST_HOST}/testing-123`, + replaces: true, }; localState.entries.test = f; localState.changedFiles.push(f); @@ -262,6 +329,7 @@ describe('Multi-file store mutations', () => { expect(f.permalink).toBe(`${gl.TEST_HOST}/test`); expect(f.commitsPath).toBe(`${gl.TEST_HOST}/test`); expect(f.blamePath).toBe(`${gl.TEST_HOST}/test`); + expect(f.replaces).toBe(false); }); }); |