Agora que estamos utilizando o cy.intercept()
, podemos tirar mais proveito do que tal funcionalidade nos proporciona.
Algumas dessas funcionalidade são 1) as possibilidades de alterar o código de status retornado pela requisição; e 2) forçar uma falha na rede.
Escrevi um conteúdo sobre o assunto, chamado como simular erros com Cypress e recomendo a leitura antes de continuar. Lembre, o foco aqui é no aprendizado, não em acabar o curso o mais rápido possível.
Além disso, também gravei um vídeo no Canal TAT no YouTube chamado: Cypress Playground - Aprenda como simular uma falha na rede com Cypress. Espero que goste!
Baseado na leitura do conteúdo recomendado e do vídeo, implemente os seguintes testes pendentes:
shows "Something went wrong ..." in case of a server error
shows "Something went wrong ..." in case of a network error
Dica: 🧙♂️ Recomendo utilizar um context
totalmente independente para os testes de simulação de erros.
Bom trabalho! A cobertura de testes está melhor, não é mesmo?
Vá para a aula 4 e vamos garantir que a aplicação funciona end-to-end somente em alguns casos, e para todos os outros cenários, vamos testar o frontend independente da API do Hackernews.