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.