From 4c151464b276db6d1a5b2a74736f1c696b1d3f52 Mon Sep 17 00:00:00 2001 From: uvok Date: Fri, 18 Apr 2025 19:39:53 +0200 Subject: Test withdraw-before-trade --- test_ledger_process.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'test_ledger_process.py') diff --git a/test_ledger_process.py b/test_ledger_process.py index 3fe54dc..cf5e64c 100644 --- a/test_ledger_process.py +++ b/test_ledger_process.py @@ -66,6 +66,39 @@ class TestLedgerProcess(unittest.TestCase): with self.assertRaises(TradeNotFound): self.lp.process_ledger([deposit]) + def test_withdraw_before_trade(self): + """Test withdrawing before the trade occurred.""" + + withdrawal = LedgerAction( + type="withdrawal", + asset="BTC", + # already includes removed fee + amount=Decimal("-0.098"), + fee=Decimal("0.001"), + timestamp="2024-04-17 12:00:00", + refid="67890", + ) + + eur_trade = LedgerAction( + type="trade", + asset="EUR", + amount=Decimal("-500.00"), + fee=Decimal("2.00"), + timestamp="2025-04-17 10:00:00", + refid="12345", + ) + crypto_trade = LedgerAction( + type="trade", + asset="BTC", + amount=Decimal("0.1"), + fee=Decimal("0.001"), + timestamp="2025-04-17 10:00:00", + refid="12345", + ) + + with self.assertRaises(TradeNotFound): + self.lp.process_ledger([eur_trade, withdrawal, crypto_trade]) + def test_withdraw_afterbalance(self): """Test withdrawing and subsequently checking balance.""" @@ -158,5 +191,6 @@ class TestLedgerProcess(unittest.TestCase): self.lp.external_wallet["BTC"].get_remaining_amount(), Decimal("0.0") ) + if __name__ == "__main__": unittest.main() -- cgit v1.2.3