def test_for_bad_historic_balance_in_is_valid_transaction_chain(three_block_blockchain):
    wallet = Wallet()
    bad_transaction = SystemTransactions(wallet, 'recipient', 1)
    bad_transaction.transaction_output[wallet.address] = 9000
    bad_transaction.transaction_input['amount'] = 9001
    bad_transaction.transaction_input['signature'] = wallet.signature_generation(bad_transaction.transaction_output)

    three_block_blockchain.add_block([bad_transaction.convert_transaction_data_to_json()])

    with pytest.raises(Exception, match='has an invalid input amount'):
        Blockchain.transaction_chain_is_valid(three_block_blockchain.chain)