import { test } from 'node:test'; import assert from 'node:assert/strict'; import { describeLastActive } from './lastActive'; const now = 1_800_000_000_000; test('wording buckets', () => { assert.equal(describeLastActive(undefined), null); assert.equal(describeLastActive({ presence: 'offline', active: false }), null); assert.equal(describeLastActive({ presence: 'offline', active: false, lastActiveTs: 0 }), null); assert.equal( describeLastActive({ presence: 'online', active: true, lastActiveTs: now }, now), 'Active now', ); assert.equal( describeLastActive({ presence: 'online', active: false, lastActiveTs: now - 20_000 }, now), 'Active just now', ); assert.equal( describeLastActive( { presence: 'unavailable', active: false, lastActiveTs: now - 12 * 60_000 }, now, ), 'Last active 12 min ago', ); assert.equal( describeLastActive( { presence: 'offline', active: false, lastActiveTs: now - 3 * 3_600_000 }, now, ), 'Last active 3 hours ago', ); assert.equal( describeLastActive( { presence: 'offline', active: false, lastActiveTs: now - 26 * 3_600_000 }, now, ), 'Last active yesterday', ); assert.equal( describeLastActive( { presence: 'offline', active: false, lastActiveTs: now - 5 * 86_400_000 }, now, ), 'Last active 5 days ago', ); assert.equal( describeLastActive( { presence: 'offline', active: false, lastActiveTs: now - 40 * 86_400_000 }, now, ), 'Last active over a month ago', ); });