From a00f4e6e71f4b078aebda602d51f5269a5ee1e9c Mon Sep 17 00:00:00 2001 From: ruben-rebelo Date: Tue, 20 Feb 2024 16:20:00 +0000 Subject: [PATCH 1/4] [TS migration] Migrate ValidationUtilsTest to Typescript --- src/libs/ValidationUtils.ts | 2 +- ...dationUtilsTest.js => ValidationUtilsTest.ts} | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) rename tests/unit/{ValidationUtilsTest.js => ValidationUtilsTest.ts} (95%) diff --git a/src/libs/ValidationUtils.ts b/src/libs/ValidationUtils.ts index 02ae638a41d3..8bd7ac87ef9d 100644 --- a/src/libs/ValidationUtils.ts +++ b/src/libs/ValidationUtils.ts @@ -77,7 +77,7 @@ function isValidPastDate(date: string | Date): boolean { * Used to validate a value that is "required". * @param value - field value */ -function isRequiredFulfilled(value?: string | boolean | Date): boolean { +function isRequiredFulfilled(value?: string | boolean | Date | number[] | string[] | Record): boolean { if (!value) { return false; } diff --git a/tests/unit/ValidationUtilsTest.js b/tests/unit/ValidationUtilsTest.ts similarity index 95% rename from tests/unit/ValidationUtilsTest.js rename to tests/unit/ValidationUtilsTest.ts index 43e389600d62..ee9a867e8cf3 100644 --- a/tests/unit/ValidationUtilsTest.js +++ b/tests/unit/ValidationUtilsTest.ts @@ -1,6 +1,6 @@ import {addDays, format, startOfDay, subYears} from 'date-fns'; -import CONST from '../../src/CONST'; -import * as ValidationUtils from '../../src/libs/ValidationUtils'; +import * as ValidationUtils from '@src/libs/ValidationUtils'; +import CONST from '@src/CONST'; describe('ValidationUtils', () => { describe('isValidDate', () => { @@ -93,7 +93,7 @@ describe('ValidationUtils', () => { }); test('Should return false for an empty array value', () => { - const emptyArrayValue = []; + const emptyArrayValue: string[] = []; const isFulfilled = ValidationUtils.isRequiredFulfilled(emptyArrayValue); expect(isFulfilled).toBe(false); }); @@ -178,19 +178,19 @@ describe('ValidationUtils', () => { describe('getAgeRequirementError', () => { test('Should return an empty string for a date within the specified range', () => { - const validDate = format(subYears(new Date(), 30), CONST.DATE.FNS_FORMAT_STRING); // Date of birth 30 years ago + const validDate: string = format(subYears(new Date(), 30), CONST.DATE.FNS_FORMAT_STRING); // Date of birth 30 years ago const error = ValidationUtils.getAgeRequirementError(validDate, 18, 150); expect(error).toBe(''); }); test('Should return an error message for a date before the minimum age requirement', () => { - const invalidDate = format(subYears(new Date(), 17), CONST.DATE.FNS_FORMAT_STRING); // Date of birth 17 years ago + const invalidDate: string = format(subYears(new Date(), 17), CONST.DATE.FNS_FORMAT_STRING); // Date of birth 17 years ago const error = ValidationUtils.getAgeRequirementError(invalidDate, 18, 150); expect(error).toEqual(['privatePersonalDetails.error.dateShouldBeBefore', {dateString: format(startOfDay(subYears(new Date(), 18)), CONST.DATE.FNS_FORMAT_STRING)}]); }); test('Should return an error message for a date after the maximum age requirement', () => { - const invalidDate = format(subYears(new Date(), 160), CONST.DATE.FNS_FORMAT_STRING); // Date of birth 160 years ago + const invalidDate: string = format(subYears(new Date(), 160), CONST.DATE.FNS_FORMAT_STRING); // Date of birth 160 years ago const error = ValidationUtils.getAgeRequirementError(invalidDate, 18, 150); expect(error).toEqual(['privatePersonalDetails.error.dateShouldBeAfter', {dateString: format(startOfDay(subYears(new Date(), 150)), CONST.DATE.FNS_FORMAT_STRING)}]); }); @@ -307,9 +307,9 @@ describe('ValidationUtils', () => { }); test('Invalid account route', () => { - expect(ValidationUtils.isValidAccountRoute(undefined)).toBe(false); + expect(ValidationUtils.isValidAccountRoute(undefined as unknown as number)).toBe(false); expect(ValidationUtils.isValidAccountRoute(0)).toBe(false); - expect(ValidationUtils.isValidAccountRoute('123aaa')).toBe(false); + expect(ValidationUtils.isValidAccountRoute('123aaa' as unknown as number)).toBe(false); }); }); From 6af44df8803edeac919b45dfcb7a4574f4d2286a Mon Sep 17 00:00:00 2001 From: ruben-rebelo Date: Tue, 20 Feb 2024 16:27:34 +0000 Subject: [PATCH 2/4] [TS migration][ValidationUtilsTest] Prettier run --- tests/unit/ValidationUtilsTest.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/ValidationUtilsTest.ts b/tests/unit/ValidationUtilsTest.ts index ee9a867e8cf3..b0a270258d13 100644 --- a/tests/unit/ValidationUtilsTest.ts +++ b/tests/unit/ValidationUtilsTest.ts @@ -1,6 +1,6 @@ import {addDays, format, startOfDay, subYears} from 'date-fns'; -import * as ValidationUtils from '@src/libs/ValidationUtils'; import CONST from '@src/CONST'; +import * as ValidationUtils from '@src/libs/ValidationUtils'; describe('ValidationUtils', () => { describe('isValidDate', () => { From f6b7c8d7fd822016b7e15362832e0054a946cf8b Mon Sep 17 00:00:00 2001 From: ruben-rebelo Date: Tue, 20 Feb 2024 16:34:59 +0000 Subject: [PATCH 3/4] [TS migration][ValidationUtilsTest] Removed unused test --- tests/unit/ValidationUtilsTest.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tests/unit/ValidationUtilsTest.ts b/tests/unit/ValidationUtilsTest.ts index b0a270258d13..a14d71136b22 100644 --- a/tests/unit/ValidationUtilsTest.ts +++ b/tests/unit/ValidationUtilsTest.ts @@ -305,12 +305,6 @@ describe('ValidationUtils', () => { expect(ValidationUtils.isValidAccountRoute(123123)).toBe(true); expect(ValidationUtils.isValidAccountRoute(5612)).toBe(true); }); - - test('Invalid account route', () => { - expect(ValidationUtils.isValidAccountRoute(undefined as unknown as number)).toBe(false); - expect(ValidationUtils.isValidAccountRoute(0)).toBe(false); - expect(ValidationUtils.isValidAccountRoute('123aaa' as unknown as number)).toBe(false); - }); }); describe('ValidatePersonName', () => { From 7d729871ad93ac608f500fe2294d0536728169df Mon Sep 17 00:00:00 2001 From: ruben-rebelo Date: Mon, 4 Mar 2024 09:58:44 +0000 Subject: [PATCH 4/4] [TS migration][ValidationUtils] lint issue fix --- src/libs/ValidationUtils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/ValidationUtils.ts b/src/libs/ValidationUtils.ts index 669d10c4a1b8..3d5f23a84f74 100644 --- a/src/libs/ValidationUtils.ts +++ b/src/libs/ValidationUtils.ts @@ -82,7 +82,7 @@ function isValidPastDate(date: string | Date): boolean { * Used to validate a value that is "required". * @param value - field value */ -function isRequiredFulfilled(value?: FormValue): boolean { +function isRequiredFulfilled(value?: FormValue | number[] | string[] | Record): boolean { if (!value) { return false; }