Este repositório contem os elementos necessários para execução do projeto de Test Patterns
Seu objetivo é criar a suíte de testes para o src/services/CheckoutService.js.
- Crie seu arquivo de teste:
__tests__/CheckoutService.test.js. - Crie os Builders: Crie a pasta
__tests__/builders/e implemente:UserMother.js(Object Mother)CarrinhoBuilder.js(Data Builder)
- Implemente os Testes: No seu arquivo de teste, cubra os principais cenários do
CheckoutService, aplicando os padrões de Test Doubles corretos.
- Verificação de Estado (Stub):
- Deve retornar
nullse oGatewayPagamentorecusar a cobrança. - Deve retornar o pedido salvo com o
totalFinalcorreto para um cliente padrão.
- Deve retornar
- Verificação de Comportamento (Mock):
- Deve aplicar 10% de desconto ao chamar o
GatewayPagamentose o usuário for "PREMIUM". - Deve chamar o
EmailService.enviarEmailcom os dados corretos após um pagamento bem-sucedido. - Não deve chamar o
EmailServicenem oPedidoRepositoryse o pagamento falhar.
- Deve aplicar 10% de desconto ao chamar o
- Fork e Clone: Faça um fork deste repositório e clone-o para sua máquina.
- Instale as Dependências:
npm install
- Execute os Testes (Modo Watch):
(Comece a criar seus arquivos em
npm test -- --watch__tests__/e o Jest irá executá-los automaticamente.)