Paginar todos os comprovativos da propria conta de candidato
tests / ci (push) Canceled after 0s

This commit is contained in:
2026-10-30 21:25:19 +02:00
parent 86b31f2840
commit 3b1ef2031c
8 changed files with 149 additions and 4 deletions
+6
View File
@@ -1,5 +1,11 @@
# Desenvolvimento do SGC
## Histórico completo de comprovativos do candidato, 30 de Outubro de 2026
A área autenticada deixa de limitar a lista aos 20 comprovativos mais recentes. Tem paginação própria, contagem apenas da conta e empresa autenticadas e título extraído da oportunidade preservada na submissão, sem procurar o título actual do processo ou enviar o snapshot completo. A paginação de comprovativos conserva a página de oportunidades e vice-versa, através apenas dos parâmetros numéricos validados. Perfis e comprovativos anteriores mantêm-se compatíveis. Não foram introduzidos estados de contratação, alterações documentais, novos acessos ou migrações.
Verificação dirigida SQLite: 29 testes/488 asserções nos módulos de perfil e submissões, incluindo 21 comprovativos próprios e um de outra conta, acesso à segunda página, título preservado e projecção sem dados adicionais. Onze testes frontend, tipos, PHPStan sem erros, Pint/lint dirigidos; restantes resultados finais na prova `proofs/candidate-receipt-history.json`. Apenas local, produção ainda em bf84575. Conferência visual continua pendente por indisponibilidade do conector.
## Escolha preservada no registo e preparação do perfil, 30 de Outubro de 2026
A escolha pública segue agora tanto para a entrada como para o registo. Uma nova conta conserva uma referência à oportunidade na sessão, associada à identidade e empresa; não copia regras ou dados internos para essa referência. O perfil permite retomar o formulário depois de preparar os dados e confirmar o email, sem submissão automática. A criação da conta mantém o destino de preparação do perfil. Cada consulta reconfirma publicação, prazo e empresa; uma oportunidade retirada deixa de aparecer e produz informação genérica de indisponibilidade. Sessões com outra identidade/empresa ou referência incompleta não conservam o atalho. Sair ou concluir explicitamente a submissão remove a escolha. A confirmação de email e as restantes validações da candidatura são mantidas.
@@ -0,0 +1,16 @@
{
"checked_at": "2026-10-30T19:24:58+00:00",
"database": "disposable PostgreSQL",
"application_role_reused_without_privilege_change": true,
"result": "passed",
"test_files": [
"CandidateSubmissionsTest",
"PeopleHiringTest",
"CandidatePortalTest",
"CandidateDocumentFormatsTest"
],
"original_evaluation_untouched": true,
"database_removed": true,
"tests": 69,
"assertions": 1515
}
@@ -0,0 +1,43 @@
{
"checked_at": "2026-10-30T19:25:16.477974+00:00",
"base_commit": "86b31f2",
"scope": [
"all own receipts reachable beyond first twenty",
"company and account isolated count and rows",
"opportunity title from immutable receipt snapshot",
"no full snapshot or account identifiers sent in list",
"independent page parameters preserve other list position"
],
"module_sqlite": {
"tests": 29,
"assertions": 488,
"passed": true
},
"postgresql": {
"tests": 69,
"assertions": 1515,
"passed": true,
"disposable_database_removed": true
},
"frontend": {
"tests": 11,
"passed": true
},
"typescript": true,
"phpstan_errors": 0,
"pint": true,
"targeted_lint": true,
"build": {
"exit_code": 0,
"completed": true
},
"new_migrations": false,
"production_installed": false,
"visual_review": "pending; unavailable connector",
"full_suite": "accepted bf84575 full-suite proofs reused; not repeated",
"source_sha256": {
"app/Http/Controllers/CandidatePortalController.php": "d028b6683c87add545826480b3a097bf607c414d07a40e00f01f7a85605b3016",
"app/Services/CandidateSubmissions.php": "22b19fd3f560f716a9512a3cc9d95c4a1c43891fae58d653e089eba374e2c529",
"resources/js/pages/candidate/profile.tsx": "4c5f9140e816b35b484b657a17fdca29fc0b89198382dbe28810bcc062f06e38"
}
}