]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - tests/test_portfolio.py
Fix infinite recursion during fetch
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / tests / test_portfolio.py
index 969f5d4caf2f4a6f0dc1b5b1705f8d879da4730c..6ca3327318b210cc6f624a3c5e2046313c7550ec 100644 (file)
@@ -142,9 +142,9 @@ class TradeTest(WebMockTestCase):
 
             self.assertTrue(trade.is_fullfiled)
 
-            order1.filled_amount.assert_called_with(in_base_currency=True)
-            order2.filled_amount.assert_called_with(in_base_currency=True)
-            order3.filled_amount.assert_called_with(in_base_currency=True)
+            order1.filled_amount.assert_called_with(in_base_currency=True, refetch=True)
+            order2.filled_amount.assert_called_with(in_base_currency=True, refetch=True)
+            order3.filled_amount.assert_called_with(in_base_currency=True, refetch=True)
 
         with self.subTest(inverted=True):
             value_from = portfolio.Amount("BTC", "0.5")
@@ -169,9 +169,9 @@ class TradeTest(WebMockTestCase):
 
             self.assertTrue(trade.is_fullfiled)
 
-            order1.filled_amount.assert_called_with(in_base_currency=False)
-            order2.filled_amount.assert_called_with(in_base_currency=False)
-            order3.filled_amount.assert_called_with(in_base_currency=False)
+            order1.filled_amount.assert_called_with(in_base_currency=False, refetch=True)
+            order2.filled_amount.assert_called_with(in_base_currency=False, refetch=True)
+            order3.filled_amount.assert_called_with(in_base_currency=False, refetch=True)
 
 
     def test_filled_amount(self):
@@ -189,16 +189,16 @@ class TradeTest(WebMockTestCase):
         trade.orders.append(order2)
 
         self.assertEqual(portfolio.Amount("ETH", "0.31"), trade.filled_amount())
-        order1.filled_amount.assert_called_with(in_base_currency=False)
-        order2.filled_amount.assert_called_with(in_base_currency=False)
+        order1.filled_amount.assert_called_with(in_base_currency=False, refetch=False)
+        order2.filled_amount.assert_called_with(in_base_currency=False, refetch=False)
 
         self.assertEqual(portfolio.Amount("ETH", "0.31"), trade.filled_amount(in_base_currency=False))
-        order1.filled_amount.assert_called_with(in_base_currency=False)
-        order2.filled_amount.assert_called_with(in_base_currency=False)
+        order1.filled_amount.assert_called_with(in_base_currency=False, refetch=False)
+        order2.filled_amount.assert_called_with(in_base_currency=False, refetch=False)
 
         self.assertEqual(portfolio.Amount("ETH", "0.31"), trade.filled_amount(in_base_currency=True))
-        order1.filled_amount.assert_called_with(in_base_currency=True)
-        order2.filled_amount.assert_called_with(in_base_currency=True)
+        order1.filled_amount.assert_called_with(in_base_currency=True, refetch=False)
+        order2.filled_amount.assert_called_with(in_base_currency=True, refetch=False)
 
     @mock.patch.object(portfolio.Computation, "compute_value")
     @mock.patch.object(portfolio.Trade, "filled_amount")
@@ -863,6 +863,8 @@ class OrderTest(WebMockTestCase):
         fetch.assert_not_called()
         order.status = "open"
         self.assertEqual(portfolio.Amount("ETH", 5), order.filled_amount(in_base_currency=False))
+        fetch.assert_not_called()
+        self.assertEqual(portfolio.Amount("ETH", 5), order.filled_amount(in_base_currency=False, refetch=True))
         fetch.assert_called_once()
         self.assertEqual(portfolio.Amount("BTC", "0.7"), order.filled_amount(in_base_currency=True))