Repository navigation
Plano de Testes
Este documento apresenta o plano de testes unitários para as principais funcionalidades da aplicação NestJS, com foco nas entidades Anamnesis, Screenings, PlansEducation, Students, Levels e Phases. Os testes foram desenvolvidos utilizando o framework Jest, seguindo as melhores práticas para garantir a cobertura e a robustez do código.
Para cada entidade, foram criados testes unitários para o Controller, Service e Module, simulando o comportamento de cada componente de forma isolada e garantindo a correta interação entre eles.
Para isolar as unidades de teste, o PrismaService foi mockado em todos os testes de Service e Controller, garantindo que as operações de banco de dados fossem simuladas e não dependessem de uma conexão real com o banco de dados. No caso dos testes de Module, o PrismaService também foi sobrescrito para evitar a inicialização real.
-
create: Testa a criação de uma nova anamnese e a atualização da fase do usuário associado. -
findAll: Verifica se o serviço retorna uma lista de todas as anamneses. -
findOne: Testa a busca de uma anamnese específica por e-mail.
-
create: Testa a chamada ao métodocreatedo serviço e o retorno correto. -
findAll: Verifica a chamada ao métodofindAlldo serviço e o retorno da lista. -
findOne: Testa a chamada ao métodofindOnedo serviço com um e-mail e o retorno da anamnese.
- Verifica se o módulo é definido corretamente.
- Confirma se
AnamnesisControllereAnamnesisServicesão definidos dentro do módulo.
-
create: Testa a criação de um novo screening. -
findAll: Verifica se o serviço retorna uma lista de todos os screenings. -
findOne: Testa a busca de um screening específico por e-mail.
-
create: Testa a chamada ao métodocreatedo serviço e o retorno correto. -
findAll: Verifica a chamada ao métodofindAlldo serviço e o retorno da lista. -
findOne: Testa a chamada ao métodofindOnedo serviço com um e-mail e o retorno do screening.
- Verifica se o módulo é definido corretamente.
- Confirma se
ScreeningsControllereScreeningsServicesão definidos dentro do módulo.
-
create: Testa a criação de um novo plano de educação. -
findAll: Verifica se o serviço retorna uma lista de todos os planos de educação. -
findOne: Testa a busca de um plano de educação específico por e-mail, incluindo:- Retorno para o mesmo estudante.
- Retorno para um profissional visualizando outro perfil.
- Lançamento de
ForbiddenExceptionquando um estudante tenta visualizar o perfil de outro estudante.
-
create: Testa a chamada ao métodocreatedo serviço e o retorno correto. -
findAll: Verifica a chamada ao métodofindAlldo serviço e o retorno da lista. -
findOne: Testa a chamada ao métodofindOnedo serviço com um e-mail e um objeto de requisição, e o retorno do plano de educação.
- Verifica se o módulo é definido corretamente.
- Confirma se
PlansEducationControllerePlansEducationServicesão definidos dentro do módulo.
-
findAll: Verifica se o serviço retorna uma lista de todos os usuários comid_leveligual aALUNO_ESTUDANTE.
-
findAll: Verifica a chamada ao métodofindAlldo serviço e o retorno da lista de estudantes.
- Verifica se o módulo é definido corretamente.
- Confirma se
StudentsControllereStudentsServicesão definidos dentro do módulo.
-
create: Testa a criação de um novo nível de acesso. -
findAll: Verifica se o serviço retorna uma lista de todos os níveis de acesso. -
findOne: Testa a busca de um nível de acesso específico por ID. -
update: Testa a atualização de um nível de acesso existente. -
remove: Testa a remoção de um nível de acesso.
-
create: Testa a chamada ao métodocreatedo serviço e o retorno correto. -
findAll: Verifica a chamada ao métodofindAlldo serviço e o retorno da lista. -
findOne: Testa a chamada ao métodofindOnedo serviço com um ID e o retorno do nível. -
update: Testa a chamada ao métodoupdatedo serviço com um ID e um DTO de atualização, e o retorno do nível atualizado. -
remove: Testa a chamada ao métodoremovedo serviço com um ID e o retorno do nível removido.
- Verifica se o módulo é definido corretamente.
- Confirma se
LevelsControllereLevelsServicesão definidos dentro do módulo.
-
create: Testa a criação de uma nova fase. -
findAll: Verifica se o serviço retorna uma lista de todas as fases. -
findOne: Testa a busca de uma fase específica por ID. -
update: Testa a atualização de uma fase existente. -
remove: Testa a remoção de uma fase.
-
create: Testa a chamada ao métodocreatedo serviço e o retorno correto. -
findAll: Verifica a chamada ao métodofindAlldo serviço e o retorno da lista. -
findOne: Testa a chamada ao métodofindOnedo serviço com um ID e o retorno do nível. -
update: Testa a chamada ao métodoupdatedo serviço com um ID e um DTO de atualização, e o retorno do nível atualizado. -
remove: Testa a chamada ao métodoremovedo serviço com um ID e o retorno do nível removido.
- Verifica se o módulo é definido corretamente.
- Confirma se
PhasesControllerePhasesServicesão definidos dentro do módulo.
Este plano de testes unitários abrange as principais funcionalidades das entidades mencionadas, garantindo que cada componente da aplicação se comporte conforme o esperado. A utilização de mocks para o PrismaService permite que os testes sejam rápidos e isolados, facilitando a detecção de regressões e a manutenção do código.