import fetchMock from 'fetch-mock';
import { $$ } from '../../../infra-sk/modules/dom';
import { MISSING_DATA_SENTINEL } from '../const/const';
import { CommitRangeSk } from './commit-range-sk';

import './index';
import { CommitNumber, TimestampSeconds } from '../json';

window.perf = {
  commit_range_url: 'http://example.com/range/{begin}/{end}',
  key_order: ['config'],
  demo: true,
  radius: 7,
  num_shift: 10,
  interesting: 25,
  step_up_only: false,
  display_group_by: true,
  hide_list_of_commits_on_explore: false,
  notifications: 'none',
  fetch_chrome_perf_anomalies: false,
  feedback_url: '',
  chat_url: '',
  help_url_override: '',
  trace_format: '',
  need_alert_action: false,
  bug_host_url: '',
  git_repo_url: '',
  keys_for_commit_range: [],
};

// The response to a POST of [64809, 64811] to /_/cid/.
fetchMock.post('/_/cid/', () => ({
  commitSlice: [
    {
      offset: 64809,
      hash: '3b8de1058a896b613b451db1b6e2b28d58f64a4a',
      ts: 1676307170,
      author: 'Joe Gregorio \u003cjcgregorio@google.com\u003e',
      message: 'Add -prune to gazelle_update_repo run of gazelle.',
      url: 'https://skia.googlesource.com/skia/+show/3b8de1058a896b613b451db1b6e2b28d58f64a4a',
    },
    {
      offset: 64811,
      hash: '9039c60688c9511f9a553cd2443e412f68b5a107',
      ts: 1676308195,
      author: 'Jim Van Verth \u003cjvanverth@google.com\u003e',
      message: '[graphite] Add Dawn Windows job.',
      url: 'https://skia.googlesource.com/skia/+show/9039c60688c9511f9a553cd2443e412f68b5a107',
    },
  ],
  logEntry:
    'commit 3b8de1058a896b613b451db1b6e2b28d58f64a4a\nAuthor: Joe Gregorio \u003cjcgregorio@google.com\u003e\nDate:   Mon Feb 13 10:20:19 2023 -0500\n\n    Add -prune to gazelle_update_repo run of gazelle.\n    \n    Bug: b/269015892\n    Change-Id: Iafd3c63e2e952ce1b95b52e56fb6d93a9410f69c\n    Reviewed-on: https://skia-review.googlesource.com/c/skia/+/642338\n    Reviewed-by: Leandro Lovisolo \u003clovisolo@google.com\u003e\n    Commit-Queue: Joe Gregorio \u003cjcgregorio@google.com\u003e\n',
}));

window.customElements.whenDefined('commit-range-sk').then(async () => {
  const ele = document.querySelector<CommitRangeSk>('commit-range-sk')!;
  ele.trace = [12, MISSING_DATA_SENTINEL, 13];
  ele.commitIndex = 2;
  ele.header = [
    {
      offset: CommitNumber(64809),
      timestamp: TimestampSeconds(0),
    },
    {
      offset: CommitNumber(64810),
      timestamp: TimestampSeconds(0),
    },
    {
      offset: CommitNumber(64811),
      timestamp: TimestampSeconds(0),
    },
  ];
  await ele.recalcLink();
  $$<HTMLPreElement>('#url')!.textContent = ele.querySelector('a')!.href;
});
