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'; 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); }); 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/); });