diff options
Diffstat (limited to 'spec/frontend/diffs/utils/merge_request_spec.js')
-rw-r--r-- | spec/frontend/diffs/utils/merge_request_spec.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/frontend/diffs/utils/merge_request_spec.js b/spec/frontend/diffs/utils/merge_request_spec.js new file mode 100644 index 00000000000..8c7b1e1f2a5 --- /dev/null +++ b/spec/frontend/diffs/utils/merge_request_spec.js @@ -0,0 +1,31 @@ +import { getDerivedMergeRequestInformation } from '~/diffs/utils/merge_request'; +import { diffMetadata } from '../mock_data/diff_metadata'; + +describe('Merge Request utilities', () => { + const derivedMrInfo = { + mrPath: '/gitlab-org/gitlab-test/-/merge_requests/4', + userOrGroup: 'gitlab-org', + project: 'gitlab-test', + id: '4', + }; + const unparseableEndpoint = { + mrPath: undefined, + userOrGroup: undefined, + project: undefined, + id: undefined, + }; + + describe('getDerivedMergeRequestInformation', () => { + const endpoint = `${diffMetadata.latest_version_path}.json?searchParam=irrelevant`; + + it.each` + argument | response + ${{ endpoint }} | ${derivedMrInfo} + ${{}} | ${unparseableEndpoint} + ${{ endpoint: undefined }} | ${unparseableEndpoint} + ${{ endpoint: null }} | ${unparseableEndpoint} + `('generates the correct derived results based on $argument', ({ argument, response }) => { + expect(getDerivedMergeRequestInformation(argument)).toStrictEqual(response); + }); + }); +}); |