Skip to content

feat: listagem/exclusao Web (#3) - #8

Merged
ariel-sousa merged 1 commit into
GVGC26:mainfrom
ariel-sousa:feat/3-listagem-web
Nov 13, 2026
Merged

ariel-sousa merged 1 commit into
GVGC26:mainfrom
ariel-sousa:feat/3-listagem-web

Conversation

@ariel-sousa

Copy link
Copy Markdown
Contributor

Descrição

  • Funcionalidade ou correção entregue: listagem paginada de pacotes, ordenação, seleção e exclusão pela Web. A tabela exibe código de rastreio, cliente, destino e data de postagem, com cinco itens por página. Também permite abrir um pacote no formulário de edição.

Issue relacionada

Motivo da correção (PR adicional)

  • Motivo: Não se aplica. Esta é a PR principal da issue.

Alterações realizadas

  • Web: adicionada a tabela de pacotes com paginação, ordenação por código, cliente, destino e data de postagem, seleção de registros e exclusão dos selecionados.
  • API: adicionados os endpoints GET /api/web/records e DELETE /api/web/records/{id}.
  • Banco: adicionadas operações paginadas de leitura e exclusão no acesso a dados, com logs.
  • Documentação: README atualizado com instruções da listagem e exclusão.

Infraestrutura e suporte

  • Arquivos:
    • frontend/src/PackageList.tsx
    • frontend/src/PackageList.test.tsx
    • frontend/src/App.tsx
    • frontend/src/styles.css
    • backend/src/main/java/com/findmypacks/records/PackageController.java
    • backend/src/main/java/com/findmypacks/records/PackageDataAccess.java
    • backend/src/main/java/com/findmypacks/web/RequestIdFilter.java
    • backend/src/test/java/com/findmypacks/records/PackageListingApiIntegrationTest.java
    • backend/src/test/java/com/findmypacks/records/PackageListingDataAccessTest.java
    • README.md
  • Justificativas: os arquivos do frontend implementam e descrevem a interação da listagem; os arquivos do backend expõem e implementam leitura paginada e exclusão; os testes cobrem a interface, os endpoints, autenticação e logs; o README documenta o uso.

Endpoints e logs

  • Endpoint(s) Web/CLI adicionados ou alterados: GET /api/web/records?page=0&size=5&sort=postedAt,desc e DELETE /api/web/records/{id}.
  • Logs da API e do banco, com request_id correlacionado: listagem e exclusão registram eventos na API e no acesso ao banco.
  • Como consultar os logs: docker compose logs -f app.

Autenticação (quando aplicável)

  • Endpoints protegidos e mecanismo Web/CLI utilizado: endpoints Web protegidos pela sessão autenticada. A exclusão envia o token CSRF no cabeçalho X-XSRF-TOKEN.
  • Verificação de acesso autenticado e rejeição HTTP 401: coberta pelos testes de integração adicionados; confirmar após executar a suíte.

Testes unitários e cobertura

  • Arquivos de teste criados ou alterados: PackageList.test.tsx, PackageListingApiIntegrationTest.java e PackageListingDataAccessTest.java.
  • Comando para executar os testes via Docker Compose: docker compose --profile test run --build --rm tests.
  • Resultado da execução e cobertura de linhas de 100% em CLI, API e banco:
    Executei docker compose --profile test run --build --rm tests. Front (Vitest): Test Files 3 passed (3 Tests 17 passed (17).
    . Backend (Maven): Tests run: 54, Failures: 0, Errors: 0, Skipped: 0 All coverage checks have been met.
  • Confirmação de que os testes anteriores continuam passando: pendente de execução da suíte completa.
    Sim. A suíte completa, com os testes da Add initial FindMyPacks web application #1, passou. Rodei duas vezes seguidas, sem docker compose down -v entre elas, e as duas deram BUILD SUCCESS.

Execução integral via Docker Compose

  • Comando para iniciar Web, API e banco: docker compose up --build.
  • Comando para executar a CLI: não se aplica a esta PR Web.
  • Comando para executar testes e cobertura: docker compose --profile test run --build --rm tests.
  • Confirmação de que nenhuma linguagem, dependência ou ferramenta da aplicação precisa ser instalada no host: a execução e os testes são feitos pelos contêineres do Docker Compose.

Verificação realizada

  • git diff --check não apontou problemas de formatação. A execução funcional e os testes ainda precisam ser confirmados antes do merge.

@ariel-sousa ariel-sousa self-assigned this Nov 13, 2026
nando-win
nando-win previously approved these changes Nov 13, 2026
MattSouza14
MattSouza14 previously approved these changes Nov 13, 2026
@ariel-sousa
ariel-sousa merged commit 2273c9e into GVGC26:main Nov 13, 2026
2 checks passed
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.

Listagem/exclusão Web

3 participants