Files
Investidor-V2/docs/investmoz/frontend-integration.md
T
nala 250ac35fd1
tests / ci (push) Canceled after 0s
first commit
2026-09-28 10:01:09 +02:00

2.6 KiB

Integração do portal com a API

Ligações públicas

O catálogo abre em /oportunidades, as fichas em /oportunidades/{slug} e os sectores em /sectores/{slug}. O formulário geral abre em /manifestar-interesse; acrescentar /{slug} selecciona uma oportunidade publicada. As rotas podem ser abertas directamente ou recarregadas. A navegação usa o histórico do Inertia. O servidor devolve 404 para oportunidades indisponíveis e sectores inactivos. O teste PublicPortalNavigationTest cobre estes contratos (52 verificações).

Verificação no Edge concluída em 25/09/2026: abertura pela ficha, recarregamento, formulário contextual, Voltar/Avançar, ligação de sector e regresso ao início. As verificações no browser não gravaram pedidos.

Foi corrigida uma falha no cache persistente: colecções PHP podiam regressar como objectos incompletos, causando uma página em branco. O cache portal_home_v2_* guarda apenas arrays e valores simples, e é invalidado nas alterações do catálogo. O teste de regressão verifica a serialização com classes desactivadas, a segunda leitura e a invalidação. Os testes de navegação/cache e gestão passaram em conjunto (9 testes, 180 verificações).

A página pública PortalInvestidor consulta /api/v1/home para os sectores, estatísticas e destaques. O catálogo usa /api/v1/opportunities, com pesquisa, filtros e paginação no servidor. A ficha consulta a oportunidade pelo slug.

O formulário envia POST /api/v1/interest-requests, incluindo fullName, consentimento e a referência da oportunidade seleccionada. A confirmação só aparece quando a API devolve sucesso e uma referência. Erros de validação são apresentados junto dos campos; falhas de rede e limites de pedidos preservam os dados preenchidos. Envios simultâneos são bloqueados durante o processamento.

Verificação

Executar os 12 testes do cliente HTTP e dos contratos com Node 24:

node --test tests/frontend/portal-api.test.mjs
npm run types:check
npm run build

Em 24/09/2026, passaram os testes acima e a verificação de lint dos ficheiros alterados. Foi também verificada a navegação em Edge: início, catálogo, pesquisa sem distinção de maiúsculas, filtros e ficha consultaram a API local real. O formulário foi verificado com respostas simuladas 422, 429 e 201, incluindo retenção de dados, referência devolvida pelo servidor e prevenção de envio duplicado. Nenhum pedido fictício foi persistido nesses testes de navegador. O formulário foi inspeccionado num ecrã de 390 px, sem transbordamento horizontal.