diff options
Diffstat (limited to 'spec/frontend/diffs/store/getters_versions_dropdowns_spec.js')
-rw-r--r-- | spec/frontend/diffs/store/getters_versions_dropdowns_spec.js | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/spec/frontend/diffs/store/getters_versions_dropdowns_spec.js b/spec/frontend/diffs/store/getters_versions_dropdowns_spec.js index 6ea8f691c3c..49f8e22e01c 100644 --- a/spec/frontend/diffs/store/getters_versions_dropdowns_spec.js +++ b/spec/frontend/diffs/store/getters_versions_dropdowns_spec.js @@ -79,27 +79,21 @@ describe('Compare diff version dropdowns', () => { }; }; - const assertVersions = (targetVersions) => { - // base and head should be the last two versions in that order - const targetBaseVersion = targetVersions[targetVersions.length - 2]; - const targetHeadVersion = targetVersions[targetVersions.length - 1]; + const assertVersions = (targetVersions, checkBaseVersion) => { + const targetLatestVersion = targetVersions[targetVersions.length - 1]; expect(targetVersions[0]).toEqual(expectedFirstVersion); - expect(targetBaseVersion).toEqual(expectedBaseVersion); - expect(targetHeadVersion).toEqual(expectedHeadVersion); + + if (checkBaseVersion) { + expect(targetLatestVersion).toEqual(expectedBaseVersion); + } else { + expect(targetLatestVersion).toEqual(expectedHeadVersion); + } }; afterEach(() => { setWindowLocation(originalLocation); }); - it('base version selected', () => { - setupTest(); - expectedBaseVersion.selected = true; - - const targetVersions = getters.diffCompareDropdownTargetVersions(localState, getters); - assertVersions(targetVersions); - }); - it('head version selected', () => { setupTest(true); @@ -126,6 +120,21 @@ describe('Compare diff version dropdowns', () => { }); assertVersions(targetVersions); }); + + describe('when state.mergeRequestDiff.head_version_path is null', () => { + beforeEach(() => { + localState.mergeRequestDiff.head_version_path = null; + }); + + it('base version selected', () => { + setupTest(true); + + expectedBaseVersion.selected = true; + + const targetVersions = getters.diffCompareDropdownTargetVersions(localState, getters); + assertVersions(targetVersions, true); + }); + }); }); it('diffCompareDropdownSourceVersions', () => { |