{"id":15106943,"url":"https://github.com/erikbernard/test-software","last_synced_at":"2026-01-28T20:01:48.330Z","repository":{"id":195595223,"uuid":"693248511","full_name":"erikbernard/test-software","owner":"erikbernard","description":"Projeto para disciplina verificação e validação de software","archived":false,"fork":false,"pushed_at":"2023-09-18T16:43:56.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-05T06:46:06.579Z","etag":null,"topics":["jasmine","testing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erikbernard.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-18T16:38:12.000Z","updated_at":"2023-09-18T16:50:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb0795d0-7b9a-41ef-882f-e34bc51d76c5","html_url":"https://github.com/erikbernard/test-software","commit_stats":null,"previous_names":["erikbernard/test-software"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/erikbernard/test-software","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikbernard%2Ftest-software","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikbernard%2Ftest-software/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikbernard%2Ftest-software/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikbernard%2Ftest-software/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erikbernard","download_url":"https://codeload.github.com/erikbernard/test-software/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikbernard%2Ftest-software/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28850474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jasmine","testing"],"created_at":"2024-09-25T21:03:29.679Z","updated_at":"2026-01-28T20:01:48.288Z","avatar_url":"https://github.com/erikbernard.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Projeto para disciplina verificação e validação de software\n\n#### Instalar as dependência do nodeJs\n\n- `npm run install`\n\n#### Executar os testes unitário:\n\n- `npm run test`\n\n#### Executar a Cobertura\n\n- `npm run coverage`\n\n## Documentação de Casos de Teste:\n\nAqui estão quatro cenários de teste para cada um dos métodos (create, read, update e delete) da classe `Student`.\n\n**Teste de Criação (Create):**\n1. **Cenário 1:** Adicionar um novo estudante com um ID único.\n    - **Ação:** Chamar `createStudent` com um objeto `Student` válido e um `registrationId` único.\n    - **Resultado Esperado:** O estudante deve ser adicionado à lista de estudantes.\n\n2. **Cenário 2:** Tentar adicionar um estudante com um ID de registro que já existe.\n    - **Ação:** Chamar `createStudent` com um objeto `Student` válido, mas com um `registrationId` que já existe na lista de estudantes.\n    - **Resultado Esperado:** Nenhum estudante deve ser adicionado, e a lista de estudantes deve permanecer a mesma.\n\n3. **Cenário 3:** Adicionar vários estudantes com IDs únicos.\n    - **Ação:** Chamar `createStudent` várias vezes com objetos `Student` válidos e `registrationId` únicos.\n    - **Resultado Esperado:** Todos os estudantes devem ser adicionados à lista de estudantes.\n\n4. **Cenário 4:** Tentar adicionar um estudante com um objeto inválido.\n    - **Ação:** Chamar `createStudent` com um objeto `Student` inválido (por exemplo, com campos em branco).\n    - **Resultado Esperado:** Nenhum estudante deve ser adicionado, e a lista de estudantes deve permanecer a mesma.\n\n**Teste de Leitura (Read):**\n1. **Cenário 1:** Ler um estudante existente com um `registrationId` válido.\n    - **Ação:** Chamar `readStudent` com um `registrationId` de um estudante existente.\n    - **Resultado Esperado:** O estudante correspondente deve ser retornado.\n\n2. **Cenário 2:** Tentar ler um estudante com um `registrationId` inválido.\n    - **Ação:** Chamar `readStudent` com um `registrationId` que não corresponde a nenhum estudante.\n    - **Resultado Esperado:** Deve ser retornado `null` para indicar que o estudante não foi encontrado.\n\n3. **Cenário 3:** Ler um estudante após adicionar vários estudantes.\n    - **Ação:** Adicionar vários estudantes à lista e, em seguida, chamar `readStudent` com um `registrationId` válido de um deles.\n    - **Resultado Esperado:** O estudante correspondente deve ser retornado corretamente.\n\n4. **Cenário 4:** Tentar ler um estudante com um `registrationId` que não existe após adicionar vários estudantes.\n    - **Ação:** Adicionar vários estudantes à lista e, em seguida, chamar `readStudent` com um `registrationId` que não corresponde a nenhum estudante.\n    - **Resultado Esperado:** Deve ser retornado `null`.\n\n**Teste de Atualização (Update):**\n1. **Cenário 1:** Atualizar um estudante existente com novos dados.\n    - **Ação:** Adicionar um estudante à lista, chamar `updateStudent` com o mesmo `registrationId` e um objeto `Student` com dados atualizados.\n    - **Resultado Esperado:** O estudante deve ser atualizado com os novos dados.\n\n2. **Cenário 2:** Tentar atualizar um estudante com um `registrationId` inválido.\n    - **Ação:** Chamar `updateStudent` com um `registrationId` que não corresponde a nenhum estudante.\n    - **Resultado Esperado:** Nenhum estudante deve ser atualizado, e a lista de estudantes deve permanecer a mesma.\n\n3. **Cenário 3:** Atualizar um estudante após adicionar vários estudantes.\n    - **Ação:** Adicionar vários estudantes à lista, chamar `updateStudent` com o `registrationId` de um deles e um objeto `Student` com dados atualizados.\n    - **Resultado Esperado:** O estudante correspondente deve ser atualizado com os novos dados.\n\n4. **Cenário 4:** Tentar atualizar um estudante com dados inválidos.\n    - **Ação:** Adicionar um estudante à lista e, em seguida, chamar `updateStudent` com o mesmo `registrationId`, mas com um objeto `Student` inválido.\n    - **Resultado Esperado:** Nenhum estudante deve ser atualizado, e a lista de estudantes deve permanecer a mesma.\n\n**Teste de Exclusão (Delete):**\n1. **Cenário 1:** Excluir um estudante existente com um `registrationId` válido.\n    - **Ação:** Adicionar um estudante à lista, chamar `deleteStudent` com o mesmo `registrationId` e confirmar a exclusão.\n    - **Resultado Esperado:** O estudante deve ser removido da lista.\n\n3. **Cenário 2:** Excluir um estudante após adicionar vários estudantes.\n    - **Ação:** Adicionar vários estudantes à lista, chamar `deleteStudent` com o `registrationId` de um deles e confirmar a exclusão.\n    - **Resultado Esperado:** O estudante correspondente deve ser removido da lista.\n\n4. **Cenário 3:** Tentar excluir um estudante, mas cancelar a operação de exclusão.\n    - **Ação:** Adicionar um estudante à lista, chamar `deleteStudent` com o `registrationId` de um deles e cancelar a operação de exclusão quando for solicitado.\n    - **Resultado Esperado:** O estudante não deve ser excluído, e a lista de estudantes deve permanecer a mesma.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikbernard%2Ftest-software","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferikbernard%2Ftest-software","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikbernard%2Ftest-software/lists"}