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

50 lines
2.6 KiB
Markdown

# 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:
```powershell
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.