Files
ftb-project-management/apps/web/lib/notification.test.ts

21 lines
749 B
TypeScript

import test from 'node:test';
import assert from 'node:assert/strict';
import { countUnreadNotifications, sortNotificationsNewestFirst } from './notification';
test('countUnreadNotifications counts only rows without readAt', () => {
assert.equal(countUnreadNotifications([
{ id: 'n-1', readAt: null } as any,
{ id: 'n-2', readAt: '2026-07-08T08:00:00.000Z' } as any,
{ id: 'n-3' } as any,
]), 2);
});
test('sortNotificationsNewestFirst keeps newest createdAt first', () => {
const sorted = sortNotificationsNewestFirst([
{ id: 'old', createdAt: '2026-07-07T08:00:00.000Z' } as any,
{ id: 'new', createdAt: '2026-07-08T08:00:00.000Z' } as any,
]);
assert.deepEqual(sorted.map((item) => item.id), ['new', 'old']);
});