Segue meu trecho de código caso o usuário realize um saque maior do que o saldo na conta atualmente.
it('que é um saque, quando o saque é maior que o saldo', () => {
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: '1010' } });
fireEvent.click(botaoTransacao);
expect(saldo.textContent).toBe('R$ -10');
});
Para prevenir esse problema devemos fazer uma verificação antes de realizar o saque se o valor é maior que o saldo, caso seja informamos que não é possível fazer o saque pois o valor do saque é maior que o saldo.