import {hasFirstBucketsEmpty} from 'sentry/views/settings/project/server-side-sampling/utils/hasFirstBucketsEmpty';

const stats = {
  start: '2022-07-02T19:00:00Z',
  end: '2022-07-04T18:35:00Z',
  intervals: [
    '2022-07-02T19:00:00Z',
    '2022-07-02T20:00:00Z',
    '2022-07-02T21:00:00Z',
    '2022-07-02T22:00:00Z',
    '2022-07-02T23:00:00Z',
    '2022-07-03T00:00:00Z',
    '2022-07-03T01:00:00Z',
    '2022-07-03T02:00:00Z',
    '2022-07-03T03:00:00Z',
    '2022-07-03T04:00:00Z',
    '2022-07-03T05:00:00Z',
    '2022-07-03T06:00:00Z',
    '2022-07-03T07:00:00Z',
    '2022-07-03T08:00:00Z',
    '2022-07-03T09:00:00Z',
    '2022-07-03T10:00:00Z',
    '2022-07-03T11:00:00Z',
    '2022-07-03T12:00:00Z',
    '2022-07-03T13:00:00Z',
    '2022-07-03T14:00:00Z',
    '2022-07-03T15:00:00Z',
    '2022-07-03T16:00:00Z',
    '2022-07-03T17:00:00Z',
    '2022-07-03T18:00:00Z',
    '2022-07-03T19:00:00Z',
    '2022-07-03T20:00:00Z',
    '2022-07-03T21:00:00Z',
    '2022-07-03T22:00:00Z',
    '2022-07-03T23:00:00Z',
    '2022-07-04T00:00:00Z',
    '2022-07-04T01:00:00Z',
    '2022-07-04T02:00:00Z',
    '2022-07-04T03:00:00Z',
    '2022-07-04T04:00:00Z',
    '2022-07-04T05:00:00Z',
    '2022-07-04T06:00:00Z',
    '2022-07-04T07:00:00Z',
    '2022-07-04T08:00:00Z',
    '2022-07-04T09:00:00Z',
    '2022-07-04T10:00:00Z',
    '2022-07-04T11:00:00Z',
    '2022-07-04T12:00:00Z',
    '2022-07-04T13:00:00Z',
    '2022-07-04T14:00:00Z',
    '2022-07-04T15:00:00Z',
    '2022-07-04T16:00:00Z',
    '2022-07-04T17:00:00Z',
    '2022-07-04T18:00:00Z',
  ],
  groups: [
    {
      by: {outcome: 'client_discard'},
      totals: {'sum(quantity)': 1231342},
      series: {
        'sum(quantity)': [
          0, 0, 0, 1, 94, 1, 1, 0, 566, 179, 1, 1, 1, 0, 222, 6, 287, 465, 83, 7, 0, 1835,
          145, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 849, 25331, 147200, 220014, 189001, 99590,
          81288, 134522, 151489, 128585, 41643, 6404, 145, 1381,
        ],
      },
    },
    {
      by: {outcome: 'rate_limited'},
      totals: {'sum(quantity)': 1335469},
      series: {
        'sum(quantity)': [
          0, 0, 0, 0, 191, 0, 0, 0, 385, 0, 0, 0, 0, 0, 345, 0, 445, 276, 56, 0, 0, 1101,
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 45581, 143705, 168077, 168143, 127756,
          114636, 148322, 162904, 153069, 80977, 17299, 512, 1033,
        ],
      },
    },
    {
      by: {outcome: 'accepted'},
      totals: {'sum(quantity)': 18868070},
      series: {
        'sum(quantity)': [
          0, 0, 0, 259581, 246831, 278464, 290677, 242770, 242559, 248963, 250920, 268994,
          296129, 308165, 302398, 301891, 316698, 333888, 336204, 329735, 323717, 317564,
          312407, 307008, 301681, 299652, 276849, 274486, 298985, 368148, 444434, 423119,
          416110, 464443, 526387, 692300, 720026, 719854, 719658, 719237, 717889, 719757,
          718147, 719843, 712099, 643028, 545065, 311310,
        ],
      },
    },
    {
      by: {outcome: 'filtered'},
      totals: {'sum(quantity)': 13199},
      series: {
        'sum(quantity)': [
          0, 0, 0, 251, 270, 269, 285, 256, 248, 267, 326, 335, 258, 255, 269, 292, 271,
          246, 254, 285, 291, 295, 260, 292, 242, 318, 326, 302, 299, 299, 321, 310, 320,
          371, 323, 331, 286, 256, 275, 316, 294, 295, 301, 282, 391, 358, 391, 217,
        ],
      },
    },
    {
      by: {outcome: 'invalid'},
      totals: {'sum(quantity)': 35},
      series: {
        'sum(quantity)': [
          0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 2, 0, 0, 0, 0, 0,
          0, 1, 2, 0, 0, 0, 2, 1, 1, 1, 2, 2, 0, 0, 1, 1, 4, 3, 0, 0, 0,
        ],
      },
    },
  ],
};

describe('hasIncompleteStats', function () {
  it('calculates correctly', function () {
    expect(hasFirstBucketsEmpty(stats, 3)).toBe(true);
    expect(hasFirstBucketsEmpty(stats, 5)).toBe(false);
  });
});
