[DÚVIDA] Testes no Front End
Olá pessoas, recentemente venho estudando testes no Front end, pra ser mais específico venho utilizando Jest + Testing Library + React Testing Library (Meu projeto é feito utilizando Vite, TS e React) e venho tendo dúvidas em "O que testar?"
Lendo a documentação do Testing Library, eu teria que testar de forma como se fosse um usuário vendo e mexendo no site, eu consegui captar essa idéia, porem venho tendo alguns conflitos.
Exemplo
Por exemplo, eu tenho um select (combobox) com 3 itens:
expect(screen.getByRole('combobox', {name: 'Estado'})).toBeInTheDocument();
expect(screen.getByRole('option', {name: 'Selecione uma opção'})).toBeInTheDocument();
expect(screen.getByRole('option', {name: 'Ativo'})).toBeInTheDocument();
expect(screen.getByRole('option', {name: 'Desativo'})).toBeInTheDocument();
expect(screen.getAllByRole('option')).toHaveLength(3)
Nesse teste eu verifico se o select e os itens estão em tela, e se há somente 3 opções, porque é somente esses itens que eu quero nesse select. Bem esse seria um teste válido, certo? (O mais básico é ver se os itens estão em tela)
Dúvida
O que mais eu poderia estar testando, por exemplo:
- Se ao trocar de valor, a seleção é feita corretamente
- Se o default value é o que espero que seja
É que são tantas possibilidades de teste que me deixa confuso sobre o que realmente vale a pena testar e o que não vale, se puderem me indicar vídeos, blogs, livros que me ajudem a tirar essa dúvida, agradeço muito.