summaryrefslogtreecommitdiff
path: root/spec/frontend/diffs/utils/merge_request_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/diffs/utils/merge_request_spec.js')
-rw-r--r--spec/frontend/diffs/utils/merge_request_spec.js31
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);
+ });
+ });
+});