From 9634d954d4ed482d6f6138db9f608de2661c5015 Mon Sep 17 00:00:00 2001 From: mritunjayr Date: Sat, 29 Jun 2024 09:08:29 +0000 Subject: [PATCH] test: add test coverage for web_src/js/utils/time.test.js (#4252) Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4252 Reviewed-by: Michael Kriese Co-authored-by: mritunjayr Co-committed-by: mritunjayr --- web_src/js/utils/time.test.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/web_src/js/utils/time.test.js b/web_src/js/utils/time.test.js index dd1114ce7f..dbe5d7d0b3 100644 --- a/web_src/js/utils/time.test.js +++ b/web_src/js/utils/time.test.js @@ -1,4 +1,4 @@ -import {startDaysBetween} from './time.js'; +import {firstStartDateAfterDate, startDaysBetween, fillEmptyStartDaysWithZeroes} from './time.js'; test('startDaysBetween', () => { expect(startDaysBetween(new Date('2024-02-15'), new Date('2024-04-18'))).toEqual([ @@ -13,3 +13,28 @@ test('startDaysBetween', () => { 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([]); +});