Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre teste

Tudo bom, Uma dúvida que me surgiu hoje, no teste automatizado com Testing Library e Jest é possível selecionar um elemento com base em um array que as funções **AllBy** (como a findAllByTestId) retornam?

Ex.

// quase certeza que esse teste vai falhar, é apenas um exemplo
const array = await screen.findAllByTestId("element-id")

const element = await array.findByText("text")

expect(element).toBeInTheDocument()
expect(element).toHaveStyle({ display: "none" })

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas
solução!

Olá Rafael, tudo bem?

Sim, é possível selecionar um elemento com base em um array que as funções AllBy retornam. No exemplo que você deu, você pode selecionar o elemento desejado usando a função find em vez de findByText, já que findByText só funciona em um único elemento.

Aqui está um exemplo de como você pode selecionar um elemento com base em um array:

const elements = await screen.findAllByTestId("element-id")

const element = elements.find((el) => el.textContent === "text")

expect(element).toBeInTheDocument()
expect(element).toHaveStyle({ display: "none" })

Neste exemplo, a função find é usada para encontrar o elemento que contém o texto desejado. Em seguida, você pode fazer asserções no elemento selecionado.

Espero ter ajudado e bons estudos!

Obrigado Neilton pelo retorno. Entendi seu exemplo.

Att.