From b34fa54cc727b9f35b00d84ecda8c54b78237b43 Mon Sep 17 00:00:00 2001 From: Andre Christoga Pramaditya Date: Wed, 14 Sep 2022 19:17:22 +0700 Subject: [PATCH 1/3] feat(jest): increaes coverage for time utilities --- utilities/Timezone.test.ts | 4 ++-- utilities/duration.test.ts | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 utilities/duration.test.ts diff --git a/utilities/Timezone.test.ts b/utilities/Timezone.test.ts index 30cd4eea91..54c9abd719 100644 --- a/utilities/Timezone.test.ts +++ b/utilities/Timezone.test.ts @@ -1,7 +1,7 @@ import * as Timezone from './Timezone' -describe('init', () => { - test.skip('getTimezoneDropdowns', () => { +describe('Test utilities/timezone', () => { + test('getTimezoneDropdowns for Singapore', () => { const result = Timezone.getTimezoneDropdowns() const nonDaylightTimezone = result.find((obj) => { return obj.alternativeName === 'Singapore Time' diff --git a/utilities/duration.test.ts b/utilities/duration.test.ts new file mode 100644 index 0000000000..bace59f696 --- /dev/null +++ b/utilities/duration.test.ts @@ -0,0 +1,25 @@ +import { formatDuration } from '~/utilities/duration' + +Date.now = jest.fn(() => 1656069280) +// Date.setSeconds = jest.fn(() => 1656069280) +let localDate: number + +describe('Test utilities/duration', () => { + beforeAll(() => { + localDate = Date.now() + }) + test('call with latest date', () => { + // const argument = localDate.now() // Get unix timestamp + + const result: any = formatDuration(localDate) + expect(result).toEqual('59:14:40') + }) + test('call with 45 seconds date', () => { + const rawDate = new Date() + const argument = rawDate.setSeconds(45) // Returns unix timestamp + + const result: any = formatDuration(argument) + expect(result).not.toEqual('59:14:40') // Because date is not what we defaulted above + expect(typeof result).toBe('string') + }) +}) From 51494e641d846c0e85e31835432e1ca9bc26ab58 Mon Sep 17 00:00:00 2001 From: Andre Christoga Pramaditya Date: Mon, 19 Sep 2022 15:54:29 +0700 Subject: [PATCH 2/3] feat(jest): change timezone to Indonesia on util --- utilities/Timezone.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utilities/Timezone.test.ts b/utilities/Timezone.test.ts index 54c9abd719..f68ecf2801 100644 --- a/utilities/Timezone.test.ts +++ b/utilities/Timezone.test.ts @@ -1,16 +1,16 @@ import * as Timezone from './Timezone' describe('Test utilities/timezone', () => { - test('getTimezoneDropdowns for Singapore', () => { + test('getTimezoneDropdowns for Western Indonesia', () => { const result = Timezone.getTimezoneDropdowns() const nonDaylightTimezone = result.find((obj) => { - return obj.alternativeName === 'Singapore Time' + return obj.alternativeName === 'Western Indonesia Time' }) expect(result.length).not.toBeNull() expect(result.length).toBeGreaterThan(0) expect(nonDaylightTimezone.currentTimeFormat).toEqual( - '+08:00 Singapore Time - Singapore, Woodlands, Geylang, Marine Parade', + '+07:00 Western Indonesia Time - Jakarta, Surabaya, Bandung, Medan', ) // Make sure that the nonDaylightTimezone exists. }) From 96ee74146d9f46aa8871a8b78b2022202eda9427 Mon Sep 17 00:00:00 2001 From: Andre Christoga Pramaditya Date: Tue, 20 Sep 2022 14:50:29 +0700 Subject: [PATCH 3/3] feat(jest): test via other object props --- utilities/Timezone.test.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/utilities/Timezone.test.ts b/utilities/Timezone.test.ts index f68ecf2801..ad4c384be8 100644 --- a/utilities/Timezone.test.ts +++ b/utilities/Timezone.test.ts @@ -9,9 +9,12 @@ describe('Test utilities/timezone', () => { expect(result.length).not.toBeNull() expect(result.length).toBeGreaterThan(0) - expect(nonDaylightTimezone.currentTimeFormat).toEqual( - '+07:00 Western Indonesia Time - Jakarta, Surabaya, Bandung, Medan', - ) // Make sure that the nonDaylightTimezone exists. + expect(nonDaylightTimezone.abbreviation).toEqual('WIB') // Make sure that the nonDaylightTimezone exists. + + expect(nonDaylightTimezone.continentCode).toEqual('AS') + expect(nonDaylightTimezone.continentName).toEqual('Asia') + expect(nonDaylightTimezone.countryCode).toEqual('ID') + expect(nonDaylightTimezone.countryName).toEqual('Indonesia') }) test('getUtfOffsetInMins for an existing timezone', () => {