]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - test.py
Add close trades action
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / test.py
diff --git a/test.py b/test.py
index 740921268cf35f01ee3a046752099cd8d3045ec1..78de76ecfc2433d7857eefe22aed0f0748194caa 100644 (file)
--- a/test.py
+++ b/test.py
@@ -991,9 +991,9 @@ class TradeStoreTest(WebMockTestCase):
         trade_mock2.prepare_order.return_value = 2
         trade_mock3.prepare_order.return_value = 3
 
-        trade_mock1.is_fullfiled = False
-        trade_mock2.is_fullfiled = False
-        trade_mock3.is_fullfiled = True
+        trade_mock1.pending = True
+        trade_mock2.pending = True
+        trade_mock3.pending = False
 
         trade_store.all.append(trade_mock1)
         trade_store.all.append(trade_mock2)
@@ -1100,13 +1100,30 @@ class TradeStoreTest(WebMockTestCase):
             order_mock2.get_status.assert_called()
             order_mock3.get_status.assert_called()
 
+    def test_close_trades(self):
+        trade_mock1 = mock.Mock()
+        trade_mock2 = mock.Mock()
+        trade_mock3 = mock.Mock()
+
+        trade_store = market.TradeStore(self.m)
+
+        trade_store.all.append(trade_mock1)
+        trade_store.all.append(trade_mock2)
+        trade_store.all.append(trade_mock3)
+
+        trade_store.close_trades()
+
+        trade_mock1.close.assert_called_once_with()
+        trade_mock2.close.assert_called_once_with()
+        trade_mock3.close.assert_called_once_with()
+
     def test_pending(self):
         trade_mock1 = mock.Mock()
-        trade_mock1.is_fullfiled = False
+        trade_mock1.pending = True
         trade_mock2 = mock.Mock()
-        trade_mock2.is_fullfiled = False
+        trade_mock2.pending = True
         trade_mock3 = mock.Mock()
-        trade_mock3.is_fullfiled = True
+        trade_mock3.pending = False
 
         trade_store = market.TradeStore(self.m)
 
@@ -1739,6 +1756,33 @@ class TradeTest(WebMockTestCase):
         self.assertEqual("\t\tMouvement 1", str(calls[3][1][0]))
         self.assertEqual("\t\tMouvement 2", str(calls[4][1][0]))
 
+    def test_close(self):
+        value_from = portfolio.Amount("BTC", "0.5")
+        value_from.linked_to = portfolio.Amount("ETH", "10.0")
+        value_to = portfolio.Amount("BTC", "1.0")
+        trade = portfolio.Trade(value_from, value_to, "ETH", self.m)
+
+        trade.close()
+
+        self.assertEqual(True, trade.closed)
+
+    def test_pending(self):
+        value_from = portfolio.Amount("BTC", "0.5")
+        value_from.linked_to = portfolio.Amount("ETH", "10.0")
+        value_to = portfolio.Amount("BTC", "1.0")
+        trade = portfolio.Trade(value_from, value_to, "ETH", self.m)
+
+        trade.closed = True
+        self.assertEqual(False, trade.pending)
+
+        trade.closed = False
+        self.assertEqual(True, trade.pending)
+
+        order1 = mock.Mock()
+        order1.filled_amount.return_value = portfolio.Amount("BTC", "0.5")
+        trade.orders.append(order1)
+        self.assertEqual(False, trade.pending)
+
     def test__repr(self):
         value_from = portfolio.Amount("BTC", "0.5")
         value_from.linked_to = portfolio.Amount("ETH", "10.0")