npm run install
npm run test
npm run coverage
Aqui estão quatro cenários de teste para cada um dos métodos (create, read, update e delete) da classe Student
.
Teste de Criação (Create):
-
Cenário 1: Adicionar um novo estudante com um ID único.
- Ação: Chamar
createStudent
com um objetoStudent
válido e umregistrationId
único. - Resultado Esperado: O estudante deve ser adicionado à lista de estudantes.
- Ação: Chamar
-
Cenário 2: Tentar adicionar um estudante com um ID de registro que já existe.
- Ação: Chamar
createStudent
com um objetoStudent
válido, mas com umregistrationId
que já existe na lista de estudantes. - Resultado Esperado: Nenhum estudante deve ser adicionado, e a lista de estudantes deve permanecer a mesma.
- Ação: Chamar
-
Cenário 3: Adicionar vários estudantes com IDs únicos.
- Ação: Chamar
createStudent
várias vezes com objetosStudent
válidos eregistrationId
únicos. - Resultado Esperado: Todos os estudantes devem ser adicionados à lista de estudantes.
- Ação: Chamar
-
Cenário 4: Tentar adicionar um estudante com um objeto inválido.
- Ação: Chamar
createStudent
com um objetoStudent
inválido (por exemplo, com campos em branco). - Resultado Esperado: Nenhum estudante deve ser adicionado, e a lista de estudantes deve permanecer a mesma.
- Ação: Chamar
Teste de Leitura (Read):
-
Cenário 1: Ler um estudante existente com um
registrationId
válido.- Ação: Chamar
readStudent
com umregistrationId
de um estudante existente. - Resultado Esperado: O estudante correspondente deve ser retornado.
- Ação: Chamar
-
Cenário 2: Tentar ler um estudante com um
registrationId
inválido.- Ação: Chamar
readStudent
com umregistrationId
que não corresponde a nenhum estudante. - Resultado Esperado: Deve ser retornado
null
para indicar que o estudante não foi encontrado.
- Ação: Chamar
-
Cenário 3: Ler um estudante após adicionar vários estudantes.
- Ação: Adicionar vários estudantes à lista e, em seguida, chamar
readStudent
com umregistrationId
válido de um deles. - Resultado Esperado: O estudante correspondente deve ser retornado corretamente.
- Ação: Adicionar vários estudantes à lista e, em seguida, chamar
-
Cenário 4: Tentar ler um estudante com um
registrationId
que não existe após adicionar vários estudantes.- Ação: Adicionar vários estudantes à lista e, em seguida, chamar
readStudent
com umregistrationId
que não corresponde a nenhum estudante. - Resultado Esperado: Deve ser retornado
null
.
- Ação: Adicionar vários estudantes à lista e, em seguida, chamar
Teste de Atualização (Update):
-
Cenário 1: Atualizar um estudante existente com novos dados.
- Ação: Adicionar um estudante à lista, chamar
updateStudent
com o mesmoregistrationId
e um objetoStudent
com dados atualizados. - Resultado Esperado: O estudante deve ser atualizado com os novos dados.
- Ação: Adicionar um estudante à lista, chamar
-
Cenário 2: Tentar atualizar um estudante com um
registrationId
inválido.- Ação: Chamar
updateStudent
com umregistrationId
que não corresponde a nenhum estudante. - Resultado Esperado: Nenhum estudante deve ser atualizado, e a lista de estudantes deve permanecer a mesma.
- Ação: Chamar
-
Cenário 3: Atualizar um estudante após adicionar vários estudantes.
- Ação: Adicionar vários estudantes à lista, chamar
updateStudent
com oregistrationId
de um deles e um objetoStudent
com dados atualizados. - Resultado Esperado: O estudante correspondente deve ser atualizado com os novos dados.
- Ação: Adicionar vários estudantes à lista, chamar
-
Cenário 4: Tentar atualizar um estudante com dados inválidos.
- Ação: Adicionar um estudante à lista e, em seguida, chamar
updateStudent
com o mesmoregistrationId
, mas com um objetoStudent
inválido. - Resultado Esperado: Nenhum estudante deve ser atualizado, e a lista de estudantes deve permanecer a mesma.
- Ação: Adicionar um estudante à lista e, em seguida, chamar
Teste de Exclusão (Delete):
-
Cenário 1: Excluir um estudante existente com um
registrationId
válido.- Ação: Adicionar um estudante à lista, chamar
deleteStudent
com o mesmoregistrationId
e confirmar a exclusão. - Resultado Esperado: O estudante deve ser removido da lista.
- Ação: Adicionar um estudante à lista, chamar
-
Cenário 2: Excluir um estudante após adicionar vários estudantes.
- Ação: Adicionar vários estudantes à lista, chamar
deleteStudent
com oregistrationId
de um deles e confirmar a exclusão. - Resultado Esperado: O estudante correspondente deve ser removido da lista.
- Ação: Adicionar vários estudantes à lista, chamar
-
Cenário 3: Tentar excluir um estudante, mas cancelar a operação de exclusão.
- Ação: Adicionar um estudante à lista, chamar
deleteStudent
com oregistrationId
de um deles e cancelar a operação de exclusão quando for solicitado. - Resultado Esperado: O estudante não deve ser excluído, e a lista de estudantes deve permanecer a mesma.
- Ação: Adicionar um estudante à lista, chamar