Skip to content

Conversation

@BrzGab
Copy link

@BrzGab BrzGab commented Oct 30, 2025

test: adiciona cobertura de testes MC/DC para searchInMercadoEditorial

Resumo

Implementação de testes unitários para o método searchInMercadoEditorial utilizando o critério MC/DC (Modified Condition/Decision Coverage) para garantir cobertura completa de decisões e condições.

Motivação

O método searchInMercadoEditorial não possuía testes unitários específicos e contém múltiplas decisões com condições compostas que precisam ser testadas de forma sistemática.

Mudanças

Arquivos Adicionados

  • tests/services/isbn/searchInMercadoEditorial.test.js: 16 casos de teste cobrindo:
    • Decisão 1 (linha 61): !response.data.books || !response.data.books[0]
    • Decisão 2 (linha 64): meBook.subtitulo && meBook.subtitulo.length > 0
    • Decisão 3 (linha 74): meBook.medidas && meBook.medidas.paginas
    • Decisão 4 (linhas 82-84): meBook.imagens && meBook.imagens.imagem_primeira_capa && meBook.imagens.imagem_primeira_capa.grande

Arquivos Modificados

  • vite.config.js: Adicionado alias @ para permitir imports com caminho absoluto

Cobertura de Testes

  • 16 testes implementados, todos passando
  • Cobertura do arquivo: 93.75% statements | 96.77% branches | 100% functions
  • Critério MC/DC: Todos os pares de independência cobertos

Como Executar os Testes

npm install
./node_modules/.bin/vitest run tests/services/isbn/searchInMercadoEditorial.test.js --config=vitest.unit.config.js

Ou usando o comando de teste padrão:
npm test -- tests/services/isbn/searchInMercadoEditorial.test.js

  - Implementa testes unitários com cobertura MC/DC (Modified Condition/Decision Coverage)
  - Configura alias @ no vite.config.js para imports corretos
  - Cobre todas as decisões e condições do método testado
  - 16 casos de teste cobrindo 4 decisões principais
@vercel
Copy link

vercel bot commented Oct 30, 2025

@BrzGab is attempting to deploy a commit to the BrasilAPI Team on Vercel.

A member of the Team first needs to authorize it.

@sonarqubecloud
Copy link

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.

1 participant