import {firstStartDateAfterDate, startDaysBetween, fillEmptyStartDaysWithZeroes} from './time.js'; test('startDaysBetween', () => { expect(startDaysBetween(new Date('2024-02-15'), new Date('2024-04-18'))).toEqual([ 1708214400000, 1708819200000, 1709424000000, 1710028800000, 1710633600000, 1711238400000, 1711843200000, 1712448000000, 1713052800000, ]); }); test('firstStartDateAfterDate', () => { const expectedDate = new Date('2024-02-18').getTime(); expect(firstStartDateAfterDate(new Date('2024-02-15'))).toEqual(expectedDate); expect(() => firstStartDateAfterDate('2024-02-15')).toThrowError('Invalid date'); }); test('fillEmptyStartDaysWithZeroes with data', () => { expect(fillEmptyStartDaysWithZeroes([1708214400000, 1708819200000, 1708819300000], { 1708214400000: {'week': 1708214400000, 'additions': 1, 'deletions': 2, 'commits': 3}, 1708819200000: {'week': 1708819200000, 'additions': 4, 'deletions': 5, 'commits': 6}, })).toEqual([ {'week': 1708214400000, 'additions': 1, 'deletions': 2, 'commits': 3}, {'week': 1708819200000, 'additions': 4, 'deletions': 5, 'commits': 6}, { 'additions': 0, 'commits': 0, 'deletions': 0, 'week': 1708819300000, }]); }); test('fillEmptyStartDaysWithZeroes with empty array', () => { expect(fillEmptyStartDaysWithZeroes([], {})).toEqual([]); });