25 lines
1.6 KiB
JavaScript
25 lines
1.6 KiB
JavaScript
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/);
|
|
});
|