function problemsClone() {
  return {
    brokenSymlink: false,
    brokenLineCode: false,
    fileOnlyMoved: false,
  };
}

export const getDiffFileMock = () => ({
  submodule: false,
  submodule_link: null,
  blob: {
    id: '9e10516ca50788acf18c518a231914a21e5f16f7',
    path: 'CHANGELOG',
    name: 'CHANGELOG',
    mode: '100644',
    readable_text: true,
    icon: 'doc-text',
  },
  blob_path: 'CHANGELOG',
  blob_name: 'CHANGELOG',
  file_hash: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a',
  file_identifier_hash: '928f8286952bda02d674b692addcbe077084663a',
  file_path: 'CHANGELOG',
  new_file: false,
  deleted_file: false,
  renamed_file: false,
  old_path: 'CHANGELOG',
  new_path: 'CHANGELOG',
  old_size: 1024,
  new_size: 2048,
  mode_changed: false,
  a_mode: '100644',
  b_mode: '100644',
  text: true,
  viewer: {
    name: 'text',
    error: null,
    automaticallyCollapsed: false,
    manuallyCollapsed: null,
  },
  added_lines: 2,
  removed_lines: 0,
  diff_refs: {
    base_sha: 'e63f41fe459e62e1228fcef60d7189127aeba95a',
    start_sha: 'd9eaefe5a676b820c57ff18cf5b68316025f7962',
    head_sha: 'c48ee0d1bf3b30453f5b32250ce03134beaa6d13',
  },
  content_sha: 'c48ee0d1bf3b30453f5b32250ce03134beaa6d13',
  stored_externally: null,
  external_storage: null,
  old_path_html: 'CHANGELOG',
  new_path_html: 'CHANGELOG',
  edit_path: '/gitlab-org/gitlab-test/edit/spooky-stuff/CHANGELOG',
  view_path: '/gitlab-org/gitlab-test/blob/spooky-stuff/CHANGELOG',
  replaced_view_path: null,
  collapsed: false,
  renderIt: false,
  too_large: false,
  context_lines_path:
    '/gitlab-org/gitlab-test/blob/c48ee0d1bf3b30453f5b32250ce03134beaa6d13/CHANGELOG/diff',
  highlighted_diff_lines: [
    {
      line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_1',
      type: 'new',
      old_line: null,
      new_line: 1,
      discussions: [],
      text: '<span id="LC1" class="line" lang="plaintext">  - Bad dates</span>\n',
      rich_text: '<span id="LC1" class="line" lang="plaintext">  - Bad dates</span>\n',
      meta_data: null,
      problems: problemsClone(),
    },
    {
      line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_2',
      type: 'new',
      old_line: null,
      new_line: 2,
      discussions: [],
      text: '<span id="LC2" class="line" lang="plaintext"></span>\n',
      rich_text: '<span id="LC2" class="line" lang="plaintext"></span>\n',
      meta_data: null,
      problems: problemsClone(),
    },
    {
      line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_3',
      type: null,
      old_line: 1,
      new_line: 3,
      discussions: [],
      text: '<span id="LC3" class="line" lang="plaintext">v6.8.0</span>\n',
      rich_text: '<span id="LC3" class="line" lang="plaintext">v6.8.0</span>\n',
      meta_data: null,
      problems: problemsClone(),
    },
    {
      line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_2_4',
      type: null,
      old_line: 2,
      new_line: 4,
      discussions: [],
      text: '<span id="LC4" class="line" lang="plaintext"></span>\n',
      rich_text: '<span id="LC4" class="line" lang="plaintext"></span>\n',
      meta_data: null,
      problems: problemsClone(),
    },
    {
      line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_3_5',
      type: null,
      old_line: 3,
      new_line: 5,
      discussions: [],
      text: '<span id="LC5" class="line" lang="plaintext">v6.7.0</span>\n',
      rich_text: '<span id="LC5" class="line" lang="plaintext">v6.7.0</span>\n',
      meta_data: null,
      problems: problemsClone(),
    },
    {
      line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_6',
      type: 'old',
      old_line: 4,
      new_line: null,
      discussions: [],
      text: '<span id="LC6" class="line" lang="plaintext"></span>\n',
      rich_text: '<span id="LC6" class="line" lang="plaintext"></span>\n',
      meta_data: null,
      problems: problemsClone(),
    },
    {
      line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_7',
      type: 'new',
      old_line: null,
      new_line: 5,
      discussions: [],
      text: '<span id="LC7" class="line" lang="plaintext"></span>\n',
      rich_text: '<span id="LC7" class="line" lang="plaintext"></span>\n',
      meta_data: null,
      problems: problemsClone(),
    },
    {
      line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_9',
      type: 'new',
      old_line: null,
      new_line: 6,
      discussions: [],
      text: '<span id="LC7" class="line" lang="plaintext"></span>\n',
      rich_text: '<span id="LC7" class="line" lang="plaintext"></span>\n',
      meta_data: null,
      problems: problemsClone(),
    },
    {
      line_code: null,
      type: 'match',
      old_line: null,
      new_line: null,
      discussions: [],
      text: '',
      rich_text: '',
      meta_data: {
        old_pos: 3,
        new_pos: 5,
      },
      problems: problemsClone(),
    },
  ],
  parallel_diff_lines: [
    {
      left: null,
      right: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_1',
        type: 'new',
        old_line: null,
        new_line: 1,
        discussions: [],
        text: '<span id="LC1" class="line" lang="plaintext">  - Bad dates</span>\n',
        rich_text: '<span id="LC1" class="line" lang="plaintext">  - Bad dates</span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
    },
    {
      left: null,
      right: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_2',
        type: 'new',
        old_line: null,
        new_line: 2,
        discussions: [],
        text: '<span id="LC2" class="line" lang="plaintext"></span>\n',
        rich_text: '<span id="LC2" class="line" lang="plaintext"></span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
    },
    {
      left: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_3',
        type: null,
        old_line: 1,
        new_line: 3,
        discussions: [],
        text: '<span id="LC3" class="line" lang="plaintext">v6.8.0</span>\n',
        rich_text: '<span id="LC3" class="line" lang="plaintext">v6.8.0</span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
      right: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_3',
        type: null,
        old_line: 1,
        new_line: 3,
        discussions: [],
        text: '<span id="LC3" class="line" lang="plaintext">v6.8.0</span>\n',
        rich_text: '<span id="LC3" class="line" lang="plaintext">v6.8.0</span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
    },
    {
      left: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_2_4',
        type: null,
        old_line: 2,
        new_line: 4,
        discussions: [],
        text: '<span id="LC4" class="line" lang="plaintext"></span>\n',
        rich_text: '<span id="LC4" class="line" lang="plaintext"></span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
      right: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_2_4',
        type: null,
        old_line: 2,
        new_line: 4,
        discussions: [],
        text: '<span id="LC4" class="line" lang="plaintext"></span>\n',
        rich_text: '<span id="LC4" class="line" lang="plaintext"></span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
    },
    {
      left: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_3_5',
        type: null,
        old_line: 3,
        new_line: 5,
        discussions: [],
        text: '<span id="LC5" class="line" lang="plaintext">v6.7.0</span>\n',
        rich_text: '<span id="LC5" class="line" lang="plaintext">v6.7.0</span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
      right: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_3_5',
        type: null,
        old_line: 3,
        new_line: 5,
        discussions: [],
        text: '<span id="LC5" class="line" lang="plaintext">v6.7.0</span>\n',
        rich_text: '<span id="LC5" class="line" lang="plaintext">v6.7.0</span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
    },
    {
      left: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_6',
        type: 'old',
        old_line: 4,
        new_line: null,
        discussions: [],
        text: '<span id="LC6" class="line" lang="plaintext"></span>\n',
        rich_text: '<span id="LC6" class="line" lang="plaintext"></span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
      right: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_7',
        type: 'new',
        old_line: null,
        new_line: 5,
        discussions: [],
        text: '<span id="LC7" class="line" lang="plaintext"></span>\n',
        rich_text: '<span id="LC7" class="line" lang="plaintext"></span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
    },
    {
      left: null,
      right: {
        line_code: '1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_1_9',
        type: 'new',
        old_line: null,
        new_line: 6,
        discussions: [],
        text: '<span id="LC7" class="line" lang="plaintext"></span>\n',
        rich_text: '<span id="LC7" class="line" lang="plaintext"></span>\n',
        meta_data: null,
        problems: problemsClone(),
      },
    },
    {
      left: {
        line_code: null,
        type: 'match',
        old_line: null,
        new_line: null,
        discussions: [],
        text: '',
        rich_text: '',
        meta_data: {
          old_pos: 3,
          new_pos: 5,
        },
        problems: problemsClone(),
      },
      right: {
        line_code: null,
        type: 'match',
        old_line: null,
        new_line: null,
        discussions: [],
        text: '',
        rich_text: '',
        meta_data: {
          old_pos: 3,
          new_pos: 5,
        },
        problems: problemsClone(),
      },
    },
  ],
  discussions: [],
  renderingLines: false,
});