summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/console/core/src/util/date.test.ts20
-rw-r--r--packages/console/core/src/util/date.ts4
2 files changed, 22 insertions, 2 deletions
diff --git a/packages/console/core/src/util/date.test.ts b/packages/console/core/src/util/date.test.ts
new file mode 100644
index 000000000..074df8a2f
--- /dev/null
+++ b/packages/console/core/src/util/date.test.ts
@@ -0,0 +1,20 @@
+import { describe, expect, test } from "bun:test"
+import { getWeekBounds } from "./date"
+
+describe("util.date.getWeekBounds", () => {
+ test("returns a Monday-based week for Sunday dates", () => {
+ const date = new Date("2026-01-18T12:00:00Z")
+ const bounds = getWeekBounds(date)
+
+ expect(bounds.start.toISOString()).toBe("2026-01-12T00:00:00.000Z")
+ expect(bounds.end.toISOString()).toBe("2026-01-19T00:00:00.000Z")
+ })
+
+ test("returns a seven day window", () => {
+ const date = new Date("2026-01-14T12:00:00Z")
+ const bounds = getWeekBounds(date)
+
+ const span = bounds.end.getTime() - bounds.start.getTime()
+ expect(span).toBe(7 * 24 * 60 * 60 * 1000)
+ })
+})
diff --git a/packages/console/core/src/util/date.ts b/packages/console/core/src/util/date.ts
index 7f34c9bb5..9c1ab12d2 100644
--- a/packages/console/core/src/util/date.ts
+++ b/packages/console/core/src/util/date.ts
@@ -1,7 +1,7 @@
export function getWeekBounds(date: Date) {
- const dayOfWeek = date.getUTCDay()
+ const offset = (date.getUTCDay() + 6) % 7
const start = new Date(date)
- start.setUTCDate(date.getUTCDate() - dayOfWeek + 1)
+ start.setUTCDate(date.getUTCDate() - offset)
start.setUTCHours(0, 0, 0, 0)
const end = new Date(start)
end.setUTCDate(start.getUTCDate() + 7)