Skip to content

Instantly share code, notes, and snippets.

@nunesfb
Last active October 18, 2023 13:43
Show Gist options
  • Save nunesfb/49f08b677a384d768715316d7a28083e to your computer and use it in GitHub Desktop.
Save nunesfb/49f08b677a384d768715316d7a28083e to your computer and use it in GitHub Desktop.
PROJETO RTL

Projeto RTL 🧪

⚠️ ATENÇÃO: Esse checklist é apenas um template. Para replicar realize o fork deste gist! ⚠️

1. O que preciso saber para fazer o projeto? 🤔

  • Nesse projeto você escreverá testes para uma aplicação React que já está criada e configurada, utilizando Jest e a biblioteca React Testing Library. Você não precisará realizar nenhuma configuração adicional.
  • A aplicação contém uma implementação completa de todos os requisitos da Pokédex. Seu trabalho será, para cada requisito listado, escrever testes que garantam sua corretude. Cuidado com testes falsos positivos. Falsos positivos serão desconsiderados na avaliação.

2. Que conteúdos revisar? 📚

2.1 - Aulas do Course

  1. Front - Aula 6.1 - RTL - Primeiros Passos - Tarde
  2. Front - Aula 6.1 - RTL - Primeiros Passos - Noite
  3. Front - Aula 6.2 - RTL - Mock - Tarde
  4. Front - Aula 6.2 - RTL - Mock - Noite
  5. Front - Aula 6.3 - RTL - Rotas - Tarde
  6. Front - Aula 6.3 - RTL - Rotas - Noite

2.2 - Mentorias/Materiais complementares

  • Explicação do Projeto
  • Todas as mutações podem ser resolvidas de uma forma direta, realizando conferências após as ações do usuário no teste, garantindo que os elementos na página possuam os valores esperados. As mutações encontradas no projeto:
    • ArrowFunction: Remove a declaração de uma função, fazendo com que a mesma retorne undefined.

      Exemplo

    • StringLiteral: Mutação que remove string dinâmicas (template literals) do componente.

      Exemplo

    • MethodExpression: Ocorre removendo funções que lidam com arrays (filters, maps e afins).

      Exemplo

  • Para problemas com o Stryker:
    • É comum o Stryker não funcionar corretamente em computadores utilizando o Windows, neste caso precisamos nos fazer valer da recomendação da Trybe de que as pessoas estudantes utilizem computadores com sistemas Unix.

3. Checklist ✅

3.1 - Planejamento

  • Abrir o PR para esse projeto
  • Criar seu cronograma de planejamento, use como base a seção 6 de Frontend

3.2 - Requisitos obrigatórios

  • 1. Teste o componente <App.js />

  • 2. Teste o componente <About.js />.

  • 3. Teste o componente <FavoritePokemon.js />

  • 4. Teste o componente <NotFound.js />

  • 5. Teste o componente <Pokedex.js />

  • 6. Teste o componente <Pokemon.js />

  • 7. Teste o componente <PokemonDetails.js />

3.3 - Requisitos não avaliativos

  • A cobertura de testes deve ser 100%

  • Adicione uma rota para exibir uma lista de localizações

  • Adicione na barra de navegação um link para a lista de localizações

  • Adicione botões de paginação na lista de localizações.

  • Adiciona uma rota para exibir uma lista de gerações.

  • Adicione na barra de navegação um link para a lista de gerações

  • Adicione uma rota para exibir informações sobre uma geração

  • Adicione a cada geração na lista de gerações um link para a página de detalhes desta geração

4. Planejamento 📆

O projeto possui 7 requisitos obrigatórios, para ser aprovado dentro do prazo regular vai ser necessário fazer no mínimo 6 dos 7 requisitos obrigatórios.

  • Dúvidas comuns - Se outras pessoas tiveram, é possível que você também tenha!
    • Ao rodar o npm install, npm start, npm test, ter certeza que entrou na pasta correta do projeto;
    • Analise bem os logs gerados pelo stryker para entender o erro e interpretar como resolver

5. Comemorar 🍾

Ao final desse projeto, você vai ter uma aplicação muito estruturada usando boas práticas de desenvolvimento e que pode (e deve) ser compartilhado com muito orgulho no seu Linkedin. Portanto, vamos com tudo para esse projeto!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment