You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dentro do diretório em que estiver o arquivo package.json, digitar
yarn install
npm start
Após executar o último comando, abrir um navegador no endereço localhost:3000
Atenção: A app está programada para não abrir o navegador automaticamente
Scripts disponíveis
yarn start
Executa a app em modo develoment.\
yarn test
Executa os testes
Para executar os testes e2e é necessário levantar o servidor de desenvolvimento. Devido ao tempo não automatizamos essa tarefa.
yarn build
Gera um build da app para produção
yarn eject
Ejeta dos scripts react.
Alguns pontos importantes:
1 - A app ainda carece de um melhor tratamento de erros de boundary.
2 - Para testes dos componentes visuais preferimos a abordagem e2e. Especialmente para os componentes que fazem acesso à API uma vez que conseguimos, assim, fazer testes que simulam melhor o caráter assíncrono dela.
3 - Utilizamos o enzyme para montar os componentes nos testes unitários por ser o padrão do mercado. No entanto, acredito que a lib "Testing Library" tem mais pontos positivos, especialmente o de nos obrigar a testar funcionalidade e não implementação.
4 - Dada a simplicidade da app, não utilizamos nenhuma forma de repositório global de estado (Redux ou Context API)
5 - Não habilitamos a cobertura de testes para o puppeteer pois, até o momento, em nossa opinião, não há boa integração dessa cobertura com CI nem com IDEs
6 - A utilização do Material UI, por sí só, fez com que boa parte do código seja responsivo. No entanto, usamos mediaquery para reduzir a lista a apenas um campo em dispositivos móveis.
7 - O ideal para os testes E2E é uma MOCK API. Considero importante isso para garantirmos que o loopback da rede seja contado. Como não havia aqui, utilizamos a própria API.