A idéia é testar os fundamentos de testing
, aplicando o que foi visto no
JS Expert - Módulo 02
num projeto simples e divertido.
Consumindo a PokeAPI, faça uma API que retorne 3 pokemóns aleatórios para formar seu time inicial numa jornada pokemon.
GET /
Deve ser a rota padrão da aplicação ao tentar acessar qualquer rota inexistente. (ex.: /hi
, /hello
)
GET /team
Deve retornar um array com 3 pokemóns aleatórios, contendo seus respectivos name
e moves
, (mostrando apenas um array de strings com os 3 primeiros moves
presentes na API. ex.: ["mega-punch","fire-punch","thunder-punch"]
).
- mocks
- stubs
- spies
- testes end-2-end
- testes unitários
- 100% de code coverage
- TDD e BDD, será que rola? Acho que vale a tentativa!
Sinta-se livre pra desenvolver sua solução da melhor maneira possível, e caso já queira uma ajuda nos patterns e em como organizar as idéias, aqui vai:
project
│ README.md
│ .nycrc.json
│ package.json
│
└───src
│ │ api.js
│ │
│ └───repository
│ │ │ teamRepository.js
│ │
│ └───service
│ │ teamService.js
│
└───test
│ └───e2e
│ │ │ api.test.js
│ │
│ └───mocks
│ │ │ valid-team.json
│ │ │ ...
│ │
│ └───unit
│ │ teamRepository.test.js
│ │ teamService.test.js
│
└───coverage
│ │ ...
URLs Úteis ao desafio:
-
Inicialize um repósitório git com um arquivo README.md contendo seu nome, quais tópicos do checklist foram implementados e, caso queira, um breve resumo de cada tópico.
-
Crie o projeto e os testes.
-
Coloque as instruções de como configurar e executar seu projeto e os testes no README.md (não se esqueça do coverage com o
nyc
). -
Envie o link no canal
#desafios-javascript-expert
da nossa comunidade no discord.