From d4773187b2809c2d23f8fda30a29b8839cbca605 Mon Sep 17 00:00:00 2001 From: "gitauto-for-dev[bot]" <160085510+gitauto-for-dev[bot]@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:54:27 +0000 Subject: [PATCH 1/9] Initial empty commit to create PR From e924361b8466060b9f592a2289394a466cb637d9 Mon Sep 17 00:00:00 2001 From: "gitauto-for-dev[bot]" <160085510+gitauto-for-dev[bot]@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:55:28 +0000 Subject: [PATCH 2/9] Update utils/generate-random-delay.test.ts [skip ci] --- utils/generate-random-delay.test.ts | 95 +++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 utils/generate-random-delay.test.ts diff --git a/utils/generate-random-delay.test.ts b/utils/generate-random-delay.test.ts new file mode 100644 index 0000000..1a0a154 --- /dev/null +++ b/utils/generate-random-delay.test.ts @@ -0,0 +1,95 @@ +import { generateRandomDelay } from "./generate-random-delay"; + +describe("generateRandomDelay", () => { + let mockDateNow: jest.SpyInstance; + let mockMathRandom: jest.SpyInstance; + + beforeEach(() => { + // Mock Date.now() to return a fixed timestamp + mockDateNow = jest.spyOn(Date, "now"); + // Mock Math.random() to control randomness + mockMathRandom = jest.spyOn(Math, "random"); + }); + + afterEach(() => { + // Restore original implementations + mockDateNow.mockRestore(); + mockMathRandom.mockRestore(); + }); + + describe("minimum delay (30 minutes)", () => { + it("should return a date 30 minutes in the future when random is 0", () => { + const fixedNow = 1000000000000; // Fixed timestamp + mockDateNow.mockReturnValue(fixedNow); + mockMathRandom.mockReturnValue(0); // Math.random() returns 0 + + const result = generateRandomDelay(); + + expect(result).toBeInstanceOf(Date); + const expectedTime = fixedNow + 30 * 60 * 1000; // 30 minutes in milliseconds + expect(result.getTime()).toBe(expectedTime); + }); + }); + + describe("maximum delay (60 minutes)", () => { + it("should return a date 60 minutes in the future when random is close to 1", () => { + const fixedNow = 1000000000000; // Fixed timestamp + mockDateNow.mockReturnValue(fixedNow); + mockMathRandom.mockReturnValue(0.9999999); // Math.random() returns value close to 1 + + const result = generateRandomDelay(); + + expect(result).toBeInstanceOf(Date); + const expectedTime = fixedNow + 60 * 60 * 1000; // 60 minutes in milliseconds + expect(result.getTime()).toBe(expectedTime); + }); + }); + + describe("middle delay (45 minutes)", () => { + it("should return a date 45 minutes in the future when random is 0.5", () => { + const fixedNow = 1000000000000; // Fixed timestamp + mockDateNow.mockReturnValue(fixedNow); + mockMathRandom.mockReturnValue(0.5); // Math.random() returns 0.5 + + const result = generateRandomDelay(); + + expect(result).toBeInstanceOf(Date); + const expectedTime = fixedNow + 45 * 60 * 1000; // 45 minutes in milliseconds + expect(result.getTime()).toBe(expectedTime); + }); + }); + + describe("various random values", () => { + it("should return a date 35 minutes in the future when random is 0.16", () => { + const fixedNow = 1000000000000; + mockDateNow.mockReturnValue(fixedNow); + mockMathRandom.mockReturnValue(0.16); // Results in 35 minutes + + const result = generateRandomDelay(); + + expect(result).toBeInstanceOf(Date); + const expectedTime = fixedNow + 35 * 60 * 1000; + expect(result.getTime()).toBe(expectedTime); + }); + + it("should return a date 55 minutes in the future when random is 0.8", () => { + const fixedNow = 1000000000000; + mockDateNow.mockReturnValue(fixedNow); + mockMathRandom.mockReturnValue(0.8); // Results in 54 minutes + + const result = generateRandomDelay(); + + expect(result).toBeInstanceOf(Date); + const expectedTime = fixedNow + 54 * 60 * 1000; + expect(result.getTime()).toBe(expectedTime); + }); + }); + + describe("return type", () => { + it("should always return a Date object", () => { + mockDateNow.mockReturnValue(Date.now()); + mockMathRandom.mockReturnValue(Math.random()); + expect(generateRandomDelay()).toBeInstanceOf(Date); + }); + }); +}); From ecbd4e3e607b526f9bf3a98f899650281a01a523 Mon Sep 17 00:00:00 2001 From: "gitauto-for-dev[bot]" <160085510+gitauto-for-dev[bot]@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:55:55 +0000 Subject: [PATCH 3/9] Replace content of utils/generate-random-delay.test.ts [skip ci] --- utils/generate-random-delay.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/utils/generate-random-delay.test.ts b/utils/generate-random-delay.test.ts index 1a0a154..cc6789a 100644 --- a/utils/generate-random-delay.test.ts +++ b/utils/generate-random-delay.test.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-var-requires */ import { generateRandomDelay } from "./generate-random-delay"; describe("generateRandomDelay", () => { From f2f6962c32db68c8dd062b63678c4a7029a41691 Mon Sep 17 00:00:00 2001 From: "gitauto-for-dev[bot]" <160085510+gitauto-for-dev[bot]@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:55:57 +0000 Subject: [PATCH 4/9] Empty commit to trigger final tests From 5ce4c47b63340a8b9000baf350994ef1f4995afa Mon Sep 17 00:00:00 2001 From: "gitauto-for-dev[bot]" <160085510+gitauto-for-dev[bot]@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:59:21 +0000 Subject: [PATCH 5/9] Update utils/generate-random-delay.test.ts [skip ci] --- utils/generate-random-delay.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/generate-random-delay.test.ts b/utils/generate-random-delay.test.ts index cc6789a..f7c635c 100644 --- a/utils/generate-random-delay.test.ts +++ b/utils/generate-random-delay.test.ts @@ -61,7 +61,7 @@ describe("generateRandomDelay", () => { }); describe("various random values", () => { - it("should return a date 35 minutes in the future when random is 0.16", () => { + it("should return a date 34 minutes in the future when random is 0.16", () => { const fixedNow = 1000000000000; mockDateNow.mockReturnValue(fixedNow); mockMathRandom.mockReturnValue(0.16); // Results in 35 minutes From 84b353146a7a20eaeb6401ac3131cb6b8569da82 Mon Sep 17 00:00:00 2001 From: "gitauto-for-dev[bot]" <160085510+gitauto-for-dev[bot]@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:59:33 +0000 Subject: [PATCH 6/9] Update utils/generate-random-delay.test.ts [skip ci] --- utils/generate-random-delay.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/generate-random-delay.test.ts b/utils/generate-random-delay.test.ts index f7c635c..ae55208 100644 --- a/utils/generate-random-delay.test.ts +++ b/utils/generate-random-delay.test.ts @@ -69,7 +69,7 @@ describe("generateRandomDelay", () => { const result = generateRandomDelay(); expect(result).toBeInstanceOf(Date); - const expectedTime = fixedNow + 35 * 60 * 1000; + const expectedTime = fixedNow + 34 * 60 * 1000; expect(result.getTime()).toBe(expectedTime); }); From c6d52790a1dff3ad246297fb31e680c383a37137 Mon Sep 17 00:00:00 2001 From: "gitauto-for-dev[bot]" <160085510+gitauto-for-dev[bot]@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:59:45 +0000 Subject: [PATCH 7/9] Empty commit to trigger final tests From 9fc1632106a6d1f7a1c75cf55f6a0759484bde34 Mon Sep 17 00:00:00 2001 From: "gitauto-ai[bot]" <161652217+gitauto-ai[bot]@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:59:59 +0000 Subject: [PATCH 8/9] Update utils/generate-random-delay.test.ts [skip ci] --- utils/generate-random-delay.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/generate-random-delay.test.ts b/utils/generate-random-delay.test.ts index ae55208..983f830 100644 --- a/utils/generate-random-delay.test.ts +++ b/utils/generate-random-delay.test.ts @@ -64,7 +64,7 @@ describe("generateRandomDelay", () => { it("should return a date 34 minutes in the future when random is 0.16", () => { const fixedNow = 1000000000000; mockDateNow.mockReturnValue(fixedNow); - mockMathRandom.mockReturnValue(0.16); // Results in 35 minutes + mockMathRandom.mockReturnValue(0.16); // Results in 34 minutes const result = generateRandomDelay(); From 5ecfe14e642a26a48f4df594965be74d89d05af9 Mon Sep 17 00:00:00 2001 From: "gitauto-ai[bot]" <161652217+gitauto-ai[bot]@users.noreply.github.com> Date: Sun, 18 Jan 2026 11:00:32 +0000 Subject: [PATCH 9/9] Empty commit to trigger final tests