Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marcosfshirafuchi/devsuperior-desafio-tdd-event-city

DEVSUPERIOR: Java Spring Expert - Desafio 01
https://github.com/marcosfshirafuchi/devsuperior-desafio-tdd-event-city

desenvolvedor-backend desenvolvedor-java desenvolvimento-java devsuperior java jpa-hibernate nelio-alves nelioalves poo postman postman-api spring spring-boot sql tdd tdd-java

Last synced: about 2 months ago
JSON representation

DEVSUPERIOR: Java Spring Expert - Desafio 01

Awesome Lists containing this project

README

        

# image-2024-07-01-T11-45-10-371-Z Java Spring Expert - Desafio 01

#### Desenvolvido na linguagem Java por:
- [Marcos Shirafuchi](https://github.com/marcosfshirafuchi)
## Formação Desenvolvedor Moderno Módulo: Back end
Capítulo: Testes automatizados
## DESAFIO: TDD Event City

Implemente as funcionalidades necessárias para que os testes do projeto abaixo passem.


Este é um sistema de eventos e cidades com uma relação N-1 entre eles:


image-2024-08-29-T00-48-54-278-Z


A especificação do que deve ser implementado está no próprio código fonte dos testes automatizados.

Mínimo para aprovação: 6/7

O projeto foi desenvolvido na aula do curso Java Spring Expert - Capítulo: "Testes automatizados" da plataforma DEVSuperior do professor Nélio Alves.

## Principais Tecnologias

- Java 21 : Utilizaremos a versão LTS mais recente do Java para tirar vantagem das últimas inovações que essa linguagem robusta e amplamente utilizada oferece;
- Spring Boot 3 : Trabalharemos com a mais nova versão do Spring Boot, que maximiza a produtividade do desenvolvedor por meio de sua poderosa premissa de autoconfiguração;
- Spring Data JPA: Exploraremos como essa ferramenta pode simplificar nossa camada de acesso aos dados, facilitando a integração com bancos de dados SQL;
- H2 Database: Banco de dados SQL em memória.
- Postman: Para testar os métodos http do controller.

## Critérios de correção:
### Mínimo para aprovação: 6 de 7
- DELETE /cities/{id} deve retornar 404 Not Found quando id não existir

- DELETE /cities/{id} deve retornar 204 No Content quando id for independente

- DELETE /cities/{id} deve retornar 400 Bad Request quando id for dependente

- POST /cities deve inserir recurso

- GET /cities deve retornar recursos ordenados por nome

- PUT /events deve atualizar recurso quando id existir

- PUT /events deve retornar 404 Not Found quando id não existir

## Competências avaliadas:

- Desenvolvimento TDD de API Rest com Java e Spring Boot

- Implementação de cenários de busca, inserção, deleção e atualização

- Tratamento de exceções em API com respostas HTTP customizadas