2024-06-29 05:08:29 -04:00
|
|
|
import {firstStartDateAfterDate, startDaysBetween, fillEmptyStartDaysWithZeroes} from './time.js';
|
2024-02-15 17:21:13 -05:00
|
|
|
|
|
|
|
test('startDaysBetween', () => {
|
|
|
|
expect(startDaysBetween(new Date('2024-02-15'), new Date('2024-04-18'))).toEqual([
|
|
|
|
1708214400000,
|
|
|
|
1708819200000,
|
|
|
|
1709424000000,
|
|
|
|
1710028800000,
|
|
|
|
1710633600000,
|
|
|
|
1711238400000,
|
|
|
|
1711843200000,
|
|
|
|
1712448000000,
|
|
|
|
1713052800000,
|
|
|
|
]);
|
|
|
|
});
|
2024-06-29 05:08:29 -04:00
|
|
|
|
|
|
|
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([]);
|
|
|
|
});
|