From 7250d975d6329b6f889e6b7ea9417848efdde5fd Mon Sep 17 00:00:00 2001 From: edmund Date: Mon, 1 Jun 2026 10:07:24 +0800 Subject: [PATCH] Add notification creation timestamps --- apps/api/src/services/notificationService.js | 2 +- apps/api/src/tests/notificationService.test.js | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 apps/api/src/tests/notificationService.test.js diff --git a/apps/api/src/services/notificationService.js b/apps/api/src/services/notificationService.js index af13c04bfa..30030ca902 100644 --- a/apps/api/src/services/notificationService.js +++ b/apps/api/src/services/notificationService.js @@ -5,7 +5,7 @@ export async function listNotifications() { } export async function createNotification(payload) { - const notification = { id: `ntf_${Date.now()}`, read: false, ...payload }; + const notification = { id: `ntf_${Date.now()}`, read: false, ...payload, createdAt: new Date().toISOString() }; notifications.push(notification); return notification; } diff --git a/apps/api/src/tests/notificationService.test.js b/apps/api/src/tests/notificationService.test.js new file mode 100644 index 0000000000..010143328a --- /dev/null +++ b/apps/api/src/tests/notificationService.test.js @@ -0,0 +1,15 @@ +import test from "node:test"; +import assert from "node:assert/strict"; +import { createNotification } from "../services/notificationService.js"; + +test("createNotification adds a server-side createdAt timestamp", async () => { + const notification = await createNotification({ + userId: "usr_123", + title: "Proposal update", + body: "A freelancer sent a proposal.", + createdAt: "2000-01-01T00:00:00.000Z" + }); + + assert.match(notification.createdAt, /^\d{4}-\d{2}-\d{2}T/); + assert.notEqual(notification.createdAt, "2000-01-01T00:00:00.000Z"); +});