From 9634d954d4ed482d6f6138db9f608de2661c5015 Mon Sep 17 00:00:00 2001
From: mritunjayr <mritunjaykumar694@gmail.com>
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 <michael.kriese@gmx.de>
Co-authored-by: mritunjayr <mritunjaykumar694@gmail.com>
Co-committed-by: mritunjayr <mritunjaykumar694@gmail.com>
---
 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([]);
+});