import test from 'node:test'; import assert from 'node:assert/strict'; import { opportunityDescription, recordedVerificationDate, } from '../../resources/js/lib/opportunity-information.ts'; test('metadata uses the actual summary, normalises markup and never invents investment terms', () => { assert.equal(opportunityDescription({ title: 'Projecto', summary: 'Resumo\n declarado' }), 'Resumo declarado'); const fallback = opportunityDescription({ title: 'Avicultura', summary: null }); assert.match(fallback, /Avicultura/); assert.match(opportunityDescription({ title: 'Projecto', summary: ' ' }), /Projecto/); assert.doesNotMatch(fallback, /A negociar|USD|aprovad|benefício/i); assert.equal(Array.from(opportunityDescription({ title: 'Projecto', summary: 'a'.repeat(300) })).length, 160); }); test('unknown and invalid verification dates remain distinct from a recorded verification', () => { assert.equal(recordedVerificationDate(null), 'Não registada'); assert.equal(recordedVerificationDate('invalid'), 'Data não interpretável'); assert.equal(recordedVerificationDate('2026-02-30T12:00:00Z'), 'Data não interpretável'); assert.equal(recordedVerificationDate('2026-11-10 12:00:00'), 'Fuso horário não registado'); assert.match(recordedVerificationDate('2026-11-10T12:00:00Z'), /2026/); });