Aula 67
Teste para verificar o número de componentes “option” gerados
Summary
# Resumo da Aula sobre Testes do Componente Select
Na aula de hoje, continuamos a escrever testes para o componente **select**. Nas aulas anteriores, já havíamos verificado que o componente lê as propriedades corretamente. Agora, focamos na inclusão de componentes **option** correspondentes às opções fornecidas.
## Próximos Passos:
1. **Verificação das Options**:
- O **select** recebe a propriedade `props.options`, que é uma lista de objetos convertidos em componentes **option**.
- O número de componentes **option** gerados deve ser igual ao número de elementos em `props.options`.
2. **Implementação dos Testes**:
- O teste verifica o comprimento dos componentes **option** encontrados.
- Utilizamos a função `expect` para verificar se o número de opções é o esperado (3 neste caso).
3. **Clareza dos Testes**:
- Para uma melhor clareza, é possível definir as opções diretamente dentro do teste para evitar confusões sobre o número esperado.
4. **Verificação Estrutural**:
- Se as **options** estiverem fora do **select**, o teste falhará. Para assegurar que as **options** estão corretamente aninhadas, é necessário usar uma query que busque opções que sejam filhas do **select**.
5. **Conclusão**:
- Após corrigir a estrutura do **select** e as **options**, todos os testes passaram.
Na próxima aula, continuaremos com mais testes. Até lá!
Video Transcript
Olá pessoal, estamos de volta aqui, vamos continuar a escrever os testes para o componente
select.
Nas aulas anteriores nós terminamos de criar os testes para verificar se o componente
select, como primeira leita minúsculo, o realmente inclui de maneira corretamente
se as propriedades foram definidas corretamente.
Agora é hora de a gente partir para testar a inclusão de cada componente option de
cada escolha.
Vamos aqui para o nosso teste.
O próximo teste é verificar para cada opção, esse select, o componente select recebe props.options.
Esta é uma lista de opções de objetos que vão ser convertidos para componentes option.
Vai ser o número de componentes option que for gerado, que for gerado vai ter o mesmo
número de elementos do prop.options passado para o select.
A gente definiu, se lembra lá no before each, a gente definiu uma lista de objetos aqui
já com três objetos.
Então a gente deu o shell e já tem acesso ao componente, a gente pode criar os testes
agora.
Então se a gente criar component, a gente vai encontrar o que?
Find.
Então find option.
Aí você vai verificar o length, certo?
Expect esse length to be okay.
Nesse caso aqui, como a gente no before each definiu uma opção com três objetos, vai
ser que ser três, né?
To be 3.
A gente só vai ver esse teste e verificar, está passando, você note.
Então esse teste está legal se você não gostar muito aqui porque to be 3, mas da onde
é que esse 3 bill não é muito, não está muito claro da onde veio, então se você quiser
definir component set props aqui com options novamente aqui para ser mais claro, você
pode criar as suas próprias opções aqui, certo?
Vai ser o objeto.
A mesma maneira que você fez nesse cara aqui para ser mais claro, certo?
Então você pode até copiar esse cara aqui ou fazer as suas próprias opções para teste.
Dessa maneira, então a gente espera que seja 3 porque esse cara tem 3.
Se eu remover esse cara aqui e tinha que ser 2, né?
Se eu só vou ao teste vai falar porque está falando que recebeu 2, mas esperava que seja
3.
Então aqui tem 2.
Então aqui se você definir aqui o teste fica bem mais claro, depende de você, certo?
Então eu vou deixar essa maneira aqui.
Agora vamos continuar para a próxima, antes de continuar só para dar um detalhe aqui,
ele só verifica a existência do options, né?
Mas o cenote que a gente falou no teste como filho do select.
Então o cenote se for aqui no lado direito, na implementação do select, por exemplo,
se eu mudar esse cara aqui, por exemplo, vou criar um div dentro do select, aí eu vou
pegar e vou estar vendo esse option choices e vou mudar, mover para fora do select.
Então agora as opções estão fora do select.
Então você note aqui que o teste ainda está passando, né?
Mas isso está incorreto, né?
Se você quiser testar isso, é bem fácil.
Só precisa adicionar um negócio aqui.
Quando você dá o component find options, você põe o select e um espaço entre eles.
Então isso significa que você quer encontrar todas as options, options que estão dentro
do select, né?
Que são filhos de um componente select.
Então eu espero que o length seja 3.
Vamos ver o que acontece.
Então você note agora que deu, que falou o teste.
Você pode encontrar 3 componentes options dentro de um select, mas recebeu 0 porque
realmente está fora.
Então isso está incorreto.
Então para poder corrigir, a gente vai voltar para a implementação anterior.
O original aqui, a gente já tinha feito, está correta o option choices, a lista de
options, está dentro do select.
Então agora passou o teste.
Só esse pequeno detalhe.
Certo?
Só desfalar o select ali.
Certo?
Com isso a gente termina esse teste aqui.
Então na próxima aula a gente vai continuar e fazer esses outros aqui.
Então até a próxima.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: