From d7ceb0f08aac1129438b46fe854678aa7aff27ce Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Wed, 8 Nov 2023 19:52:05 +0100 Subject: [PATCH] fix(simulator): format properly duration close to zero MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- src/utils/Utils.ts | 18 +++++++++--------- tests/utils/Utils.test.ts | 6 ++++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/utils/Utils.ts b/src/utils/Utils.ts index 6d8c2228..ca4d2fa9 100644 --- a/src/utils/Utils.ts +++ b/src/utils/Utils.ts @@ -51,15 +51,15 @@ export const formatDurationMilliSeconds = (duration: number): string => { hoursToSeconds(hours) - minutesToSeconds(minutes), ); - return formatDuration( - { - days, - hours, - minutes, - seconds, - }, - { zero: true }, - ); + if (days === 0 && hours === 0 && minutes === 0 && seconds === 0) { + return formatDuration({ seconds }, { zero: true }); + } + return formatDuration({ + days, + hours, + minutes, + seconds, + }); }; export const formatDurationSeconds = (duration: number): string => { diff --git a/tests/utils/Utils.test.ts b/tests/utils/Utils.test.ts index 60170cf9..82964803 100644 --- a/tests/utils/Utils.test.ts +++ b/tests/utils/Utils.test.ts @@ -58,13 +58,15 @@ await describe('Utils test suite', async () => { }); await it('Verify formatDurationMilliSeconds()', () => { - expect(formatDurationMilliSeconds(0)).toBe(''); + expect(formatDurationMilliSeconds(0)).toBe('0 seconds'); + expect(formatDurationMilliSeconds(900)).toBe('0 seconds'); expect(formatDurationMilliSeconds(1000)).toBe('1 second'); expect(formatDurationMilliSeconds(hoursToMilliseconds(4380))).toBe('182 days 12 hours'); }); await it('Verify formatDurationSeconds()', () => { - expect(formatDurationSeconds(0)).toBe(''); + expect(formatDurationSeconds(0)).toBe('0 seconds'); + expect(formatDurationSeconds(0.9)).toBe('0 seconds'); expect(formatDurationSeconds(1)).toBe('1 second'); expect(formatDurationSeconds(hoursToSeconds(4380))).toBe('182 days 12 hours'); }); -- 2.34.1