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

2.9 KiB

Evidencias de validacao local — 24/09/2026

Resultado: 40 testes passaram (39 da aplicacao + 1 de ciclo de esquema), com 3.242 verificacoes no total. Ambiente isolado: PHP 8.5.11, PostgreSQL 17.11, PostGIS 3.6.2, porta local 55439. A base configurada da aplicacao nao foi utilizada.

Verificacao Resultado
migrate:fresh --seed Passou
Segunda execucao de migrate e seeds de referencia Passou
Rollback das 15 novas migrations preservando legado Passou
migrate:rollback do ultimo lote e reaplicacao Passou
Preservacao de postgis/pgcrypto Passou
59 tabelas, 684 campos, tipos, defaults, nulabilidade e indices Correspondem ao catalogo
69 FKs e respectivas accoes Correspondem ao dicionario
Restricoes monetarias, espaciais, auditoria e eventos Passaram
PHPUnit dedicado 1 teste, 3.106 verificacoes
PHPUnit da aplicacao 39 testes, 136 verificacoes
PHP lint 22 ficheiros passaram
Pint dos ficheiros alterados Passou
PHPStan dos modelos/factories/seeders alterados Passou, zero erros
Consistencia estatica e reproducao do gerador Passaram

A base tem 61 tabelas fisicas: 59 da aplicacao, migrations gerida pelo Laravel e spatial_ref_sys gerida pelo PostGIS. Os dois objectos de infraestrutura nao sao criados pelas migrations aplicacionais. Os hashes dos artefactos testados estao em validation-results.json. A validacao corresponde a esses ficheiros; qualquer alteracao posterior exige nova verificacao.

Comandos usados com variaveis de ambiente apontadas exclusivamente para a instancia temporaria:

php vendor/bin/phpunit --configuration=phpunit.investmoz.xml --do-not-cache-result
php vendor/bin/phpunit --configuration=phpunit.xml --do-not-cache-result
php vendor/bin/pint --test [ficheiros PHP alterados]
php vendor/bin/phpstan analyse [modelos/factories/seeders alterados] --no-progress
python tools/investmoz/validate.py
python tools/investmoz/generate.py --source CAMINHO_DOCX --check

O teste dedicado invoca os comandos Artisan reais dentro da aplicacao. Exige INVESTMOZ_SCHEMA_TESTS=1, APP_ENV=testing, driver pgsql, base *_test e ausencia de config em cache antes de migrate:fresh. O teste de plano confirma utilizacao possivel do indice GiST; nao prova um SLO de latencia. Nao se validaram producao, importacao real MySQL, RLS nem capacidades funcionais pendentes.

Compatibilidade local: o PHP 8.1 do Laragon nao satisfaz o composer.lock instalado (PHP >=8.4.1). Durante a analise, a configuracao local indicou a ligacao inexistente postgre; usar DB_CONNECTION=pgsql quando configurar a execucao local. Nao foram alteradas credenciais nem o ficheiro .env.

Foram corrigidas duas falhas detectadas no ensaio: duplicacao do utilizador pelo seeder antigo e sobrevivencia das funcoes PostgreSQL entre execucoes de migrate:fresh. O seeder passou a firstOrCreate; apenas as funcoes proprias investmoz_* usam CREATE OR REPLACE.