SGEProduto · Domínio · Desenvolvimento
Repositório

technical-reference · in-progress

Testes existentes

Mapa da cobertura de testes já presente no projeto novo e lacunas conhecidas.

Este mapa acompanha o código real no repositório Laravel irmão, em ../sge. Ao criar uma classe ou migration, atualize a matriz e a nota técnica correspondente.

Cobertura atual

ÁreaTesteO que cobre
Casttests/Unit/CpfCastTest.phpCPF mascarado válido, armazenamento sem máscara e CPF inválido.
Casttests/Unit/PhoneCastTest.phpTelefone fixo/celular com DDD, entrada com ou sem máscara, armazenamento apenas dos dígitos, vazio e formato inválido.
Enumstests/Unit/Enums/AffiliationTypeTest.phpcases, valores, labels e options de vínculo.
Enumstests/Unit/Enums/BrazilianStateTest.phpcases, siglas, rótulos e opções das unidades federativas.
Enumstests/Unit/Enums/EmailDeliveryAttemptStatusTest.phpcases, valores, labels e opções das tentativas de e-mail.
Enumstests/Unit/Enums/EmailMessagePurposeTest.phpcases, valores, labels e opções das finalidades de e-mail.
Enumstests/Unit/Enums/EmancipationEvidenceStatusTest.phpcases, valores, labels e opções de evidências de emancipação.
Enumstests/Unit/Enums/EvaluationStatusTest.phpcases, valores, labels e opções das avaliações.
Enumstests/Unit/Enums/GeneratedDocumentOriginTest.phpvalores, labels e opções de origem.
Enumstests/Unit/Enums/GeneratedDocumentStatusTest.phpvalores, labels e opções de status documental.
Enumstests/Unit/Enums/GeneratedDocumentTypeTest.phpcases, valores, labels, opções e conversão de tipo documental.
Enumstests/Unit/Enums/InternshipCancellationRequestStatusTest.phpcases, valores, labels e opções de pedidos de cancelamento.
Enumstests/Unit/Enums/InternshipRequestCorrectionStatusTest.phpcases, valores, labels e opções de pendências.
Enumstests/Unit/Enums/InternshipRequestStatusTest.phpcases, valores, labels e opções de solicitações.
Enumstests/Unit/Enums/InternshipStatusTest.phpvalores, labels e opções do ciclo do estágio.
Enumstests/Unit/Enums/LegalCapacityDeclarationTest.phpcases, valores, labels e opções de capacidade civil.
Enumstests/Unit/Enums/PartyDocumentTypeTest.phpvalores, labels e opções de CPF/CNPJ.
Enumstests/Unit/Enums/RegistrationRequestStatusTest.phpcases, valores, labels e opções de cadastros pendentes.
Helperstests/Unit/Helpers/FormattingHelpersTest.phptimezone/data, placeholders, telefone com DDI e telefone internacional.
Helperstests/Unit/Helpers/NumberToWordsHelperTest.phpnúmeros e valores em reais por extenso, incluindo entradas inválidas.
Authtests/Feature/Auth/*login, confirmação, reset de senha.
Consoletests/Feature/CreateAdminCommandTest.phpadmin:create: CPF primeiro; conta e primeiro vínculo com e-mail igual ou novo vínculo em conta existente; validação de e-mail/CPF, avisos enfileirados, autoria terminal, ausência da senha na auditoria, administrador ativo já existente, cancelamento, não interativo e rollback.
Settingstests/Feature/Settings/*Perfil exibe e-mail com acesso a Segurança; troca de e-mail exige senha, confirmação do endereço e vínculo ativo, preserva o e-mail do vínculo, registra autoria e reserva dois avisos; unicidade e atualização de senha.
Apptests/Feature/DashboardTest.phpacesso ao dashboard com vínculo ativo.
Contextotests/Feature/ActiveAffiliationContextTest.phpseleção automática, último vínculo usado, escolha, troca, sessão inválida, desativação e vínculo de outra conta.
Gestão de campitests/Feature/CampusManagementTest.phppermissões e consulta por vínculo, cadastro, campos editáveis por perfil, endereço exclusivo, auditoria, desativação com senha, bloqueio em campus inativo, reativação, preservação de vínculos e rollback.
Interface de campitests/Feature/CampusInterfaceTest.phppáginas e navegação exclusivas do Administrador do Sistema, contexto selecionado, busca por nome, filtros e paginação, cidades por UF, erros e dados do formulário, confirmação de desativação sem preservar senha, leitura de campus inativo, reautorização Livewire e identidade bloqueada.
Busca de campi e cidadestests/Feature/CampusSearchTest.phpMeilisearch real em índices isolados, tolerância a erro no nome, ausência de resultado para CNPJ formatado, situação e UF, criação/edição/transições/exclusão, sincronização após commit, fila e rollback sem publicar registros descartados.
Select customizadotests/Feature/SelectComponentTest.phpcontrato de formulário, valor selecionado, campo obrigatório, marcação acessível, estilos Flux, ícones opcionais, versões com/sem busca, compilação dos atributos Alpine, escape de opções e erros de validação.
Consulta de CNPJtests/Feature/BrasilApiCompanyLookupTest.phpvalidação e normalização sem chamada para CNPJ inválido, mapeamento da BrasilAPI, falhas HTTP/conexão/resposta, preenchimento editável sem gravação/auditoria, cidade por código IBGE e UF, dados parciais e preservação manual, nova tentativa, reautorização e identidade do campus bloqueada. As chamadas HTTP são simuladas.
Auditoria Eloquenttests/Feature/DatabaseAuditTest.phpinventário de Models e tabelas; criação, edição e exclusão; campos fillable e emancipation_verified_at com valores anteriores/novos e autoria por vínculo (sem id ou timestamps); credenciais excluídas; catálogo de cidades, Jobs, mídia, notificações, cascata Eloquent e rollback transacional.
Interface de auditoriatests/Feature/AuditInterfaceTest.phpVínculo ativo e selecionado de Administrador do Sistema, autorização em cada requisição/ação Livewire, perfis e contextos negados, escopo de campi/contas/vínculos administrativos, valores realmente registrados, criações sem coluna anterior, histórico ao fim dos detalhes e ausência de atividades geradas pela leitura.
Endereçostests/Feature/AddressesTest.phpSchema e rollback em PostgreSQL, relações, factories, regras obrigatórias, CEP opcional sem validação de formato, cópia histórica e Activity Log.
Dados pessoais e profissionaistests/Feature/UserPersonalDataTest.phpSchema PostgreSQL, constraints, relações, campos profissionais opcionais compartilhados entre vínculos de supervisor do mesmo usuário, CPF em users, validação e rollback da migration.
Catálogo de cidadestests/Feature/CityCatalogValidationTest.php / tests/Unit/FetchCitiesCommandTest.phpRegras compartilhadas no model/seeder, validação das respostas da coleta e preservação do catálogo diante de payloads inválidos.
Feriadostests/Feature/HolidaysTest.phpRegras compartilhadas no model e na importação, coerência de escopo/localização e preservação dos registros diante de payloads inválidos.
Vínculostests/Feature/AffiliationTest.phpSchema PostgreSQL, FKs e exclusão, múltiplos vínculos, curso obrigatório para discente, validação PHP e cast enum, ciclo de vida, último uso, factory e Activity Log.
Cursostests/Feature/CourseTest.phpSchema PostgreSQL das Migrations 09 e 10, FKs, dois coordenadores opcionais e elegíveis, campus, vínculos discentes por curso, desativação, exclusão restrita e rollback/reaplicação das Migrations 15, 11, 10 e 09.
Tipos de estágiotests/Feature/InternshipTypeTest.phpSchema PostgreSQL com campos escalares, FK para curso, casts, consultas por curso/campus, desativação, validação Laravel em português de pesos inteiros e conceitos, limites mínimos de 6/30, margem e exclusão restrita; o conceito “Ótimo” deriva do peso do supervisor e “Insatisfatório” é configurável por tipo, com padrão zero.
Partes concedentestests/Feature/GrantingPartyTest.phpSchema PostgreSQL com FK/index de campus, rollback, documento CPF/CNPJ conforme enum, telefone com DDD com ou sem máscara, endereço e representante obrigatórios, exclusão restrita do endereço, campos opcionais, CPF/CNPJ repetidos, campus imutável, soft deletes e Activity Log.
Pedidos de supervisortests/Feature/SupervisorRegistrationRequestTest.phpSchema PostgreSQL, FK do vínculo resultante e bloqueio de exclusão pelo Model, casts, relação com Affiliation, estados Draft e não-Draft, validação e obrigatoriedade, CPF normalizado, motivos de decisão, aprovação vinculada a supervisor e rollback/reaplicação.
Pedidos de concedentetests/Feature/GrantingPartyRegistrationRequestTest.phpSchema PostgreSQL com FK/index de campus, FK restrita e rollback, casts e normalização de CPF/CNPJ, UF, CEP e telefone, estados Draft e não-Draft, campos obrigatórios, motivos de decisão, aprovação vinculada a concedente do mesmo campus, campus imutável e bloqueio de exclusão pelo Model.
Templates de documentostests/Feature/DocumentTemplateTest.phpSchema PostgreSQL sem key, FK e rollback com a 14, nomes repetidos permitidos, casts, scopes de campus e atividade, desativação e Activity Log.
Versões de templatestests/Feature/TemplateVersionTest.phpSchema PostgreSQL com JSONB, FKs e unicidade de número/hash por template; casts, relações, seleção da versão validada mais recente, mídia DOCX privada e única, exclusão de versão sem uso e rollback.
Avaliações do supervisortests/Feature/SupervisorEvaluationTest.phpSchema PostgreSQL com respostas em colunas e rollback da Migration 18, FKs restritas, histórico do supervisor responsável, unicidade por estágio/supervisor, casts, rascunho, ramos condicionais do formulário, critérios, carga horária, análise, cancelamento, imutabilidade do envio, Activity Log e avaliação aprovada vigente.
Solicitações de estágiotests/Feature/InternshipRequestTest.phpSchema PostgreSQL e rollback da Migration 19, FKs restritas, unicidade do estágio associado, casts, rascunho e envio, aceite dos termos por data, curso/tipo, caminhos de concedente e supervisor com escopo de campus, capacidade civil e CPF do responsável, jornada, remuneração, Activity Log, aceite e bloqueio de exclusão.
Estágiostests/Feature/InternshipTest.phpSchema PostgreSQL da Migration 15, FKs restritas, snapshots e jornada inicial em JSONB, casts, vínculo discente, concedente do mesmo campus e tipo do curso, limites históricos de jornada, remuneração, status, Activity Log e rollback.
Documentos geradostests/Feature/GeneratedDocumentTest.phpSchema PostgreSQL da Migration 16, FKs, token único, origem SGE/externa, template validado, snapshot, transições, cancelamento, Activity Log e rollback com dependências.
Pausas de estágiotests/Feature/InternshipPauseTest.phpSchema da Migration 17, FK restrita, datas, sobreposição, estágio em andamento, Activity Log e rollback.
Evidências de emancipaçãotests/Feature/EmancipationEvidenceTest.phpSchema da Migration 19A, mídia privada por envio, análise, vínculo com a solicitação, FK restrita e rollback.
Correções de solicitaçãotests/Feature/InternshipRequestCorrectionTest.phpSchema JSONB da Migration 20, seções, estados, uma correção aberta, datas, FK restrita e rollback.
Pedidos de cancelamentotests/Feature/InternshipCancellationRequestTest.phpSchema da Migration 21, estados, motivos, data efetiva, pedido pendente único, FK restrita e rollback.
Exceções de calendáriotests/Feature/InternshipCalendarOverrideTest.phpSchema da Migration 22A, unicidade por estágio/data, motivo, Activity Log e rollback.
Vigências de jornadatests/Feature/InternshipWorkScheduleTest.phpSchema JSONB da Migration 23, aditivo assinado, limites diários e semanais, continuidade, imutabilidade, FKs restritas e rollback.
Notificaçõestests/Feature/NotificationsTest.phpSchema PostgreSQL nativo com jsonb e UUID, relação polimórfica, leitura/não leitura, isolamento entre vínculos da mesma conta, notificações destinadas a User, Policy de vínculo ativo e rollback/reaplicação.
Mensagens de e-mailtests/Feature/EmailMessageTest.phpSchema PostgreSQL, conteúdo de mensagens operacionais e administrativas, snapshot imutável, finalidade e chave UUID única de idempotência.
Tentativas de entregatests/Feature/EmailDeliveryAttemptTest.phpSchema PostgreSQL, relação opcional com conteúdo para compatibilidade histórica, destinatário e vínculo solicitante, contexto imutável, estados, marcos, motivo sanitizado e imutabilidade das tentativas concluídas.
Entregas de e-mailtests/Feature/EmailDeliveryFlowTest.phpReserva idempotente, autoria do solicitante, fila após commit, renderização e persistência dos templates administrativos, conteúdo anterior/novo do aviso e falha/reprocessamento; testes sem entrega SMTP.
Consulta de e-mailstests/Feature/EmailLogInterfaceTest.phpAcesso por vínculo ativo e selecionado de Administrador do Sistema, revalidação por Policy, exclusão de perfis/contextos não autorizados, escopo administrativo por registro afetado, conteúdo e tentativas, fallback seguro e isolamento do HTML.
Interfacetests/Feature/AccordionComponentTest.phpComponente genérico com título/conteúdo fornecidos pela chamada e atributos de acessibilidade.

Lacunas prioritárias

  • Criar testes de integração para as futuras migrations de domínio, em banco limpo.
  • Criar testes de rollback das migrations reversíveis.
  • Ampliar a cobertura de CurrencyHelper, dos formatos de DateHelper e dos comprimentos de telefone/documentos.
  • Completar a cobertura de null, vazio, formato inválido e timezone em todos os helpers.
  • Integrar e testar diretamente ProfileValidationRules; o formulário atual de Segurança usa regras próprias.
  • Ampliar os casos negativos de PasswordValidationRules e cobrir tokens de redefinição expirados/reutilizados.
  • Cobrir locale/timezone de AppServiceProvider e configurações de FortifyServiceProvider; autoria e integridade do Activity Log já têm testes de feature.
  • Completar testes de autorização dos catálogos e fluxos de estágio; a caixa de notificações já cobre propriedade da conta e vínculo ativo.

Os testes de admin:create e da troca de e-mail usam fila falsa; os testes de templates validam a renderização em memória. A matriz descreve cobertura, não uma execução recente da suíte.

Comandos

BASH
cd ../sge
./vendor/bin/sail composer run lint:check
./vendor/bin/sail composer run types:check
./vendor/bin/sail artisan test
./vendor/bin/sail composer run test

Relacionamentos