1
resposta

Desafio - React Testing Library

Passando um valor maior do que o saldo para a realização do saque ocorreu um erro e, como esperado, o teste não passou. Passei como valor para o saque a quantia de R$ 2000, como resposta o teste me retornou que esperava encontrar o valor de R$ -1000 na conta, por ter sido um saque maior do que o saldo, o resultado foi negativo.

describe('Componente principal', () => {
    describe('Quando eu realizo uma operação...', () => {
        test('... de saque, a transação deve ser realizada', () => {
            const { getByText, getByTestId, getByLabelText } = render(<App/>);
            const saldo = getByText('R$ 1000');
            const transacao = getByLabelText('Saque');
            const valor = getByTestId('valor');
            const botaoTransacao = getByText('Realizar operação');

            expect(saldo.textContent).toBe('R$ 1000');
            fireEvent.click(transacao, { target: { value: 'saque' } });
            fireEvent.change(valor, { target: { value: 2000 } })
            fireEvent.click(botaoTransacao);

            expect(saldo.textContent).toBe('R$ 1000');
        })
    }
}

Como alternativa para contornar esse erro, eu faria uma verificação antes do expect para certificar de que o valor passado para o saque não seja maior que o saldo disponível na conta.

1 resposta

Olá, Stéphani! Tudo bem?

É uma alternativa!

Outra opção interessante seria criar um próprio caso de teste, em que você intencionalmente passasse um valor maior que o saldo e esperasse alguma mensagem de aviso, ou erro.

Continue praticando e qualquer coisa estamos à disposição!