9 lines
630 B
TypeScript
9 lines
630 B
TypeScript
import assert from 'node:assert/strict';
|
|
import {test} from 'node:test';
|
|
import {randomUUID} from 'node:crypto';
|
|
import {decodeCursor,encodeCursor,validSection} from '../src/lib/model';
|
|
test('timeline cursor preserves timestamp and ID, rejects malformed values',()=>{
|
|
const date='2026-10-22T00:00:00.000Z',id=randomUUID();assert.deepEqual(decodeCursor(encodeCursor(date,id)),[date,id]);assert.throws(()=>decodeCursor('invalid'));assert.equal(decodeCursor(),null);
|
|
});
|
|
test('only the five content sections are recognized',()=>{assert.equal(validSection('videos')?.kind,'video');assert.equal(validSection('unknown'),undefined);});
|