import test from 'node:test'; import assert from 'node:assert/strict'; import { portfolioPreparationHref } from '../../resources/js/lib/search-territory.ts'; import { createProjectDossierReport } from '../../resources/js/lib/project-dossier-report.ts'; void test('anchor preparation keeps exact identity and explicit search geography', () => { const query = new URLSearchParams({ sector: 'Agro-indústria e agricultura', province_id: 'province-1', district_id: 'district-1', }); const href = portfolioPreparationHref( 'anchor-1', '/carteira/anchor-1?catalogue_query=' + encodeURIComponent(query.toString()), ); const params = new URL(href, 'https://portal.invalid').searchParams; assert.equal(params.get('source'), 'portfolio:anchor-1'); assert.equal(params.get('province_id'), 'province-1'); assert.equal(params.get('district_id'), 'district-1'); assert.equal(params.has('opportunity'), false); assert.equal(params.has('sector_id'), false); }); void test('report identifies the saved documentary anchor without asserting an available offer', () => { const context = { version: 1, portfolio_origin: { key: 'portfolio:anchor-1', title: 'Âncora documental', version: 2, href: '/carteira/anchor-1', }, }; const report = createProjectDossierReport( { context_applicability_snapshot: JSON.stringify(context) }, { selectedSections: new Set(['sources']) }, ); const row = report.sections .find((section) => section.id === 'sources') .rows.find((row) => row.field === 'Projecto ou carteira de origem'); assert.equal(row.value, 'Âncora documental'); assert.match(row.origin, /portfolio:anchor-1; versão 2/); assert.match(row.classification, /localização e oferta não presumidas/); });