Um momento
Aula 77
Cursos / React: Componentes Controlados
Começamos os Testes para Verificar a Inclusão do CheckboxList no Formulário

Summary

Resumo do Transcript

O autor começa uma explicação sobre como criar um teste para verificar a inclusão de uma lista de checkbox em um arquivo de testes chamado formulaire.test.js. Aqui estão os principais pontos abordados:

  • Organização dos Testes: O autor sugere que é possível criar blocos describe dentro de outros blocos para melhor organizar os testes relacionados, por exemplo, separando os testes de inclusão de campos de texto dos de listas de checkbox.

  • Uso do beforeEach: É mencionado que um bloco beforeEach no describe externo será executado apenas uma vez para aquele bloco. Para garantir que a configuração ocorra para cada grupo de testes, é ideal criar um novo bloco beforeEach dentro do novo describe.

  • Implementação de Testes: O autor descreve como criar um teste específico que deve verificar a inclusão de uma lista de checkbox para o campo "frutas". O teste deve usar o shallow do Enzyme para renderizar o componente e, em seguida, procurar pelo componente de checkbox com o nome "frutas".

  • Validação do Componente: O autor explica como verificar se a prop correta foi passada para o componente e como esperar que apenas um componente seja encontrado no DOM.

  • Problemas Encontrados: Ao rodar o teste, o autor se depara com um erro relacionado à seleção do componente, indicando que a string de busca pode precisar de um escape.

O autor conclui mencionando que o erro ocorreu ao tentar encontrar o checkbox com o nome "frutas".

# Resumo do Transcript

O autor inicia explicando como criar um teste no arquivo `formulaire.test.js` para verificar a inclusão de uma lista de checkbox.

## Principais Pontos:

- **Organização dos Testes**: Sugestão para usar blocos `describe` aninhados para organizar melhor os testes.

- **Uso do `beforeEach`**: Menciona que o bloco `beforeEach` do `describe` externo só executa uma vez. Recomenda criar um novo bloco `beforeEach` para cada novo `describe`.

- **Implementação de Testes**: O teste deve verificar a inclusão de uma lista de checkbox para o campo "frutas", utilizando `shallow` do Enzyme.

- **Validação do Componente**: Instruções sobre como verificar se a prop correta foi passada e como esperar que apenas um componente esteja presente.

- **Problemas Encontrados**: O autor encontra um erro ao tentar localizar o componente, sugerindo que precisa de um escape na string da busca.

O autor finaliza mencionando o erro ao buscar o checkbox nomeado "frutas".

Video Transcript

Então vamos começar aqui, vamos criar o teste para verificar a inclusão do checkbox list. Aqui vamos no arquivo formulaire.test.js, aqui depois desse último teste, vou quebrar a linha e deixar a implementação do formulaire aqui embaixo para a gente referenciar. Você note que a gente tem vários testes já que são relacionados, por exemplo, desse teste aqui, se eu clicar aqui para poder deixar esses caras assim, são todos relacionados ao input text que a gente fez anteriormente. Se você quiser, você pode criar outro bloco de describe dentro desse próprio describe aqui para poder organizar esses testes em partes diferentes. Por exemplo, você pega todos esses testes aqui e põe dentro de outro bloco de describe dessa maneira aqui, certo? Por exemplo, testes para inclusão do input text, aí põe tudo dentro, certo? Você pode fazer isso para poder organizar esse arquivo de teste melhor. Só um detalhe que o before-it aqui desse cara aqui do describe de fora só vai rodar uma vez para o bloco de describe aqui que você criar. Então você tem que criar talvez outro bloco de before-it dentro desse describe para poder fazer a mesma coisa que você fez aqui. Você pode dar o shallow e com o formular para criar o enzyme wrapper para cada teste que está incluído aqui dentro desse bloco de describe, certo? Então tem esse detalhe. Se você só deixar o bloco de before-it aqui do describe de fora, isso vai rodar uma vez para cada bloco de describe dentro. Então por isso que dentro desse cara você tem que fazer de novo, certo? Então não esqueça disso, pode dar problema para você se você quiser optar para poder organizar os testes dessa maneira. Agora para esse teste que eu estou fazendo aqui, eu vou deixar como é necessário se você quiser melhorar a organização, eu vou deixar a mesma coisa aqui e só vou continuar nos testes aqui embaixo. Então vamos lá, vamos criar um teste, deve incluir um checkbox list para o campo de frutas, certo? E esse campo aqui checkbox list, você pode, é de múltiplas colhas, não é só uma única escolha porque não é rádio. Então vamos lá, vamos mudar o componente, é que é variável aqui, contém o enzyme wrapper do nosso componente formular e vamos dar o find, vamos procurar pelo componente cujo nome é checkbox list, display name. E vamos verificar se esse cara recebeu a prop chamada o quê? Frutas com os, esses caras aqui. Vamos pegar esse cara e esperar aqui o length, né? A gente espera aqui, a gente encontra um, um, to be one. Você vai achar esse cara aqui com o name frutas e já está verificando até essa propriedade, vai verificar quantos componentes ele achou, nesse caso a gente só quer um, nesse caso, só um componente, então to be one. Vamos só ver o que acontece, vamos para o terminal agora. Aqui estou rodando o aplicativo, mas não a aba do terminal, estou rodando o equipe de teste, quer que dê o problema aqui? Type error, enzyme name to parse selector, perhaps if I get to escape a string. Quer que eu esqueça? Deu problema, find, checkbox list, name frutas. Vamos ver, name. Name frutas. Parece que ele está pegando esses, esses caras aqui, está achando que é esse, mesmo endereço e óleo.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: