From dde85c6ac3777013570e0815507d2a852068c783 Mon Sep 17 00:00:00 2001 From: Michael Seaton Date: Tue, 10 Oct 2023 08:50:26 -0400 Subject: [PATCH] O3-2476 - isOmrsDateStrict should accept dates with negative timezone offsets (#785) --- packages/framework/esm-utils/src/omrs-dates.test.ts | 1 + packages/framework/esm-utils/src/omrs-dates.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/framework/esm-utils/src/omrs-dates.test.ts b/packages/framework/esm-utils/src/omrs-dates.test.ts index d69137c69..b560efce2 100644 --- a/packages/framework/esm-utils/src/omrs-dates.test.ts +++ b/packages/framework/esm-utils/src/omrs-dates.test.ts @@ -22,6 +22,7 @@ describe("Openmrs Dates", () => { it("checks if a string is openmrs date", () => { expect(isOmrsDateStrict("2018-03-19T00:00:00.000+0300")).toEqual(true); expect(isOmrsDateStrict(" 2018-03-19T00:00:00.000+0300 ")).toEqual(true); + expect(isOmrsDateStrict("2023-10-06T12:56:56.065-0400")).toEqual(true); // the exclusion test cases are important for strictness expect(isOmrsDateStrict("2018-03-19 00:00:00.000+0300")).toEqual(false); expect(isOmrsDateStrict("2018-03-19T00:00:00.000+03:00")).toEqual(false); diff --git a/packages/framework/esm-utils/src/omrs-dates.ts b/packages/framework/esm-utils/src/omrs-dates.ts index 77448ddb2..f45e96e6b 100644 --- a/packages/framework/esm-utils/src/omrs-dates.ts +++ b/packages/framework/esm-utils/src/omrs-dates.ts @@ -50,7 +50,7 @@ export function isOmrsDateStrict(omrsPayloadString: string): boolean { } // checking UTC offset format - if (!(omrsPayloadString[23] === "+" && omrsPayloadString[26] !== ":")) { + if (!(omrsPayloadString[23] === "+" || omrsPayloadString[23] === "-")) { return false; }