Mudar valores com contextos
Um cenário decide o que acontece. Um contexto decide como os valores se parecem.
Todo provedor traz um, então um backend responde com dados no formato do fornecedor assim que sobe: um descritor de fatura no formato que a Stripe usa, referências parecidas com as daquele fornecedor, moedas em que ele liquida de verdade. Um contexto seu substitui as partes disso que importam para você.
Quando você precisa de um
Os valores que vêm junto são realistas mas genéricos. Escreva um contexto quando os seus testes, as suas fixtures ou as suas capturas de tela precisarem que os valores sejam seus:
- A sua própria conta de estabelecimento, loja ou identificadores de conta, para as respostas baterem com o que o seu sistema de homologação espera.
- Uma lista de moedas reduzida às que você vende de verdade.
- Formatos de referência que o seu código de parsing ou de conciliação já assume.
Onde eles vivem
Abra o backend, vá em Contextos, escolha um provedor e use a aba Este backend.
O documento é um mapa de nomes de campo para valores. Um nome corresponde àquele campo onde quer que ele apareça numa resposta, em qualquer profundidade, então currency cobre todo campo de moeda que o provedor devolve. Aninhe um nome dentro de um objeto para limitar uma palavra comum como name, code ou value a um lugar só.
Só os nomes que você escrever são substituídos. Todo o resto cai no que o provedor traz, então um documento de três linhas é um contexto perfeitamente bom.
Ver sobre o que você está sobrepondo
A aba De fábrica mostra o contexto do próprio provedor: os nomes que vale substituir, e os formatos em que eles vêm. Leia antes de escrever por cima de uma parte dele.
Copiar este documento leva ele inteiro para a sua aba, que é o jeito fácil de partir de algo que funciona.
Escopo
Um contexto pertence a um escopo de provedor: uma marca, uma API dela, ou uma versão exata.
Todo escopo que corresponder é aplicado, do mais estreito para o mais largo. Um nome escrito no nível da versão ganha para aquele nome, e o contexto da marca continua fornecendo todo nome que o da versão deixa de fora.
Escreva no nível da marca os valores que valem para um fornecedor, e vá para uma versão só onde aquela versão realmente for diferente.
O que é conferido
Nada confere um contexto quando você salva. Um cenário é conferido contra o vocabulário do build antes de salvar; um contexto não, porque ele é um mapa livre de nomes para valores.
O backend continua prendendo as respostas dele ao spec do provedor. Um valor que não cabe no tipo do campo, ou que não é um dos valores que aquele campo permite, não é usado: o backend gera um que caiba no lugar. Então um contexto pode salvar sem problema e mesmo assim produzir valores que você não escreveu.
Um nome que o provedor nunca devolve também não é erro. Ele simplesmente nunca corresponde a nada.
Se um valor não voltar do jeito que você esperava, as causas de sempre são um tipo ou um valor permitido que o campo não aceita, um nome que não aparece naquela resposta, ou um nome tão comum que precisava ser aninhado.
Colocar no ar
Salvar guarda o documento. Fazer deploy coloca ele no backend no ar.
Remover a sobrescrita devolve aquele provedor aos valores que ele traz.