We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 342735f commit b105f07Copy full SHA for b105f07
.env.template
@@ -7,7 +7,7 @@ PROFILE_PERFORMANCE=true
7
DEPLOY_ENVIRONMENT=local
8
9
# Vaccs campaigns
10
-CAMPAIGNS='{"COVID_19": [{ "start": "20251112", "end": "20260131" }, { "start": "20261101", "end": "20270131" }]}'
+CAMPAIGNS='{"COVID_19": [{ "start": "2025-11-12", "end": "2026-01-31" }, { "start": "2026-11-01", "end": "2027-01-31" }]}'
11
12
# content cache hydrator
13
CONTENT_API_ENDPOINT=http://localhost:8081/
infrastructure/environments/dev/campaigns.json
@@ -1,6 +1,6 @@
1
{
2
"COVID_19": [
3
- { "start": "20251112", "end": "20260131" },
4
- { "start": "20261101", "end": "20270131" }
+ { "start": "2025-11-12", "end": "2026-01-31" },
+ { "start": "2026-11-01", "end": "2027-01-31" }
5
]
6
}
infrastructure/environments/preprod/campaigns.json
infrastructure/environments/prod/campaigns.json
infrastructure/environments/test/campaigns.json
src/services/content-api/parsers/custom/covid-19.test.ts
@@ -6,8 +6,8 @@ jest.mock("sanitize-data", () => ({ sanitize: jest.fn() }));
describe("buildFilteredContentForCovid19Vaccine", () => {
process.env.CAMPAIGNS = JSON.stringify({
COVID_19: [
- { start: "20251101", end: "20260131" },
- { start: "20261101", end: "20270131" },
+ { start: "2025-11-01", end: "2026-01-31" },
+ { start: "2026-11-01", end: "2027-01-31" },
],
});
jest.useFakeTimers();
src/utils/campaigns/types.test.ts
@@ -7,12 +7,12 @@ describe("Campaigns", () => {
it("should convert json to a Campaigns ", async () => {
const jsonString = JSON.stringify({
- { start: "20251112", end: "20260301" },
- { start: "20260901", end: "20270301" },
+ { start: "2025-11-12", end: "2026-03-01" },
+ { start: "2026-09-01", end: "2027-03-01" },
FLU_FOR_ADULTS: [
14
15
16
17
18
@@ -30,7 +30,7 @@ describe("Campaigns", () => {
30
31
32
describe("isActive", () => {
33
- const jsonString = JSON.stringify({ COVID_19: [{ start: "20251112", end: "20260301" }] });
+ const jsonString = JSON.stringify({ COVID_19: [{ start: "2025-11-12", end: "2026-03-01" }] });
34
const campaigns = Campaigns.fromJson(jsonString)!;
35
36
it.each([
src/utils/config.test.ts
@@ -89,7 +89,7 @@ describe("lazyConfig", () => {
89
90
it("should convert CAMPAIGNS to a Campaigns ", async () => {
91
setupTestEnvVars("test/");
92
- process.env.CAMPAIGNS = JSON.stringify({ COVID_19: [{ start: "20251112", end: "20260301" }] });
+ process.env.CAMPAIGNS = JSON.stringify({ COVID_19: [{ start: "2025-11-12", end: "2026-03-01" }] });
93
94
const actual = await config.CAMPAIGNS;
95
@@ -128,7 +128,7 @@ describe("lazyConfig", () => {
128
it("should throw for CAMPAIGNS with invalid date", async () => {
129
130
131
- covid: [{ start: "20251312", end: "20260301" }],
+ covid: [{ start: "2025-13-12", end: "2026-03-01" }],
132
133
134
await expect(async () => {
src/utils/date.test.ts
@@ -2,18 +2,26 @@ import { UtcDateFromStringSchema } from "@src/utils/date";
describe("UtcDateFromStringSchema", () => {
it("should parse winter date", () => {
- const actual = UtcDateFromStringSchema.parse("20260101");
+ const actual = UtcDateFromStringSchema.parse("2026-01-01");
expect(actual).toEqual(new Date("2026-01-01"));
it("should parse summer date", () => {
- const actual = UtcDateFromStringSchema.parse("20260601");
+ const actual = UtcDateFromStringSchema.parse("2026-06-01");
expect(actual).toEqual(new Date("2026-06-01"));
it("should throw on invalid date", () => {
+ const given = "2026-13-01";
+
19
+ expect(() => {
20
+ UtcDateFromStringSchema.parse(given);
21
+ }).toThrow();
22
+ });
23
24
+ it("should throw on date without dashes", () => {
25
const given = "20261301";
26
27
expect(() => {
src/utils/date.ts
@@ -2,11 +2,11 @@ import { z } from "zod";
export const UtcDateFromStringSchema = z
.string()
- .regex(/^\d{8}$/, "Date must be in YYYYMMDD format")
+ .regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format")
.transform((str, ctx) => {
const year = parseInt(str.slice(0, 4));
- const month = parseInt(str.slice(4, 6)); // 1-indexed (01 = Jan)
- const day = parseInt(str.slice(6, 8));
+ const month = parseInt(str.slice(5, 7)); // 1-indexed (01 = Jan)
+ const day = parseInt(str.slice(8, 10));
const utcTimestamp = Date.UTC(year, month - 1, day);
const date = new Date(utcTimestamp);
if (date.getUTCFullYear() !== year || date.getUTCMonth() !== month - 1 || date.getUTCDate() !== day) {
0 commit comments