Skip to content

Feat: Listar e buscar tipos de relevo Api.v2 - #506

Open
JosueModesto wants to merge 6 commits into
developmentfrom
491-listar-buscar-tipos-relevos
Open

JosueModesto wants to merge 6 commits into
developmentfrom
491-listar-buscar-tipos-relevos

Conversation

@JosueModesto

Copy link
Copy Markdown
Contributor

Close #491

O que foi feito

Foi implementado o módulo de leitura de tipos de relevo na API v2, preservando o comportamento legado da rota antiga.

Alterações principais

  • Criação do módulo de Relevo em v2 com endpoints de listagem e busca por ID:
  • GET /api/v2/relevos
  • GET /api/v2/relevos/:relevoId
  • Suporte a filtro por nome com busca parcial e sem diferenciação de maiúsculas/minúsculas.
  • Ordenação configurável por:
    • id ou nome
    • direção asc ou desc
  • Ordenação padrão da listagem em id decrescente, conforme requisito.
  • Validação para relevoId inválido com retorno 400.
  • Retorno 404 quando o registro não existe.
  • Manutenção do legado /api/relevos sem alterações.

Cobertura de testes

  • Testes de listagem com filtro
  • Testes de ordenação padrão
  • Testes de ordenação customizada pela UI
  • Teste de busca por registro existente
  • Teste de busca por registro inexistente
  • Teste de relevoId inválido

buscarRelevoPorIdUseCase: BuscarRelevoPorIdUseCase
}

export class BuscarRelevoController implements RequestHandler {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Os tipos BuscarRelevo* repetem o infinitivo já presente em vegetação. Em módulos v2 novos o verbo deve ficar na 3ª pessoa do presente: EncontraRelevoController, EncontraRelevoPorIdUseCase e o teste encontra-relevo.test.ts.

})
})

describe('GET /api/v2/relevos/:relevoId', () => {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Este arquivo cobre listagem e busca por id. A convenção do repo é um arquivo de teste por ação (kebab-case do mesmo verbo + recurso), então a busca por id deveria ir para encontra-relevo.test.ts.

@@ -55,7 +56,8 @@ export function createApp({
}: Parameters) {
const routes: Route[] = [
...createPaisRoutes(knex),

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O PR está em conflito com development. No rebase, registre createRelevoRoutes sem remover createVegetacaoRoutes, que já existe na base.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Listar e buscar tipos de relevo

2 participants