Módulo 4: Cruzar API × banco
O pulo do gato de QA: a resposta bate com o que está gravado?
Teoria
Uma API pode responder 200, com o contrato perfeito,
e mesmo assim mentir, devolver um valor que não é o que está no banco.
Cache velho, cálculo errado numa camada de serviço, join torto. Só se pega
comparando as duas fontes.
Aqui você tem o objeto db, a base crua (o "banco"):
db.produtos, db.pedidos, db.clientes,
db.defeitos. O padrão é:
- busca pela API:
const r = await api('GET', '/pedidos/1'); - busca a mesma linha no banco:
const noBanco = db.pedidos.find(p => p.id === 1); checkque os campos que importam são iguais.
Um dos pedidos não vai bater. Achar qual é o exercício.
Exemplos
Prática
Complete e clique Rodar (ou Ctrl+Enter).
Área livre
Olhar de QA
Este módulo é o que mais muda a sua posição num time. Enquanto a maioria consegue dizer "a tela mostrou confirmado", você consegue dizer "a API devolveu R$ 240,00 e a linha gravada tem 0,00, aqui está o id". Duas fontes independentes para a mesma informação é o que transforma suspeita em evidência. É também o que reduz um dia de investigação a um minuto, porque separa na hora um defeito de escrita de um defeito de leitura.