summaryrefslogtreecommitdiff
path: root/spec/frontend/diffs/utils/merge_request_spec.js
blob: 8c7b1e1f2a5d9ae243cf7e7a084e1ce02e07a2e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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);
    });
  });
});