]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - tests/test_portfolio.py
Merge branch 'dev'
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / tests / test_portfolio.py
index bc69921fe01f58b649492ccbafdcb500eebcb0ce..d4e5ab93ea31b41a6c6c941122cffac374395e9d 100644 (file)
@@ -26,6 +26,12 @@ class ComputationTest(WebMockTestCase):
         portfolio.Computation.compute_value("foo", "bid", compute_value="test")
         compute.assert_called_with("foo", "bid")
 
+    def test_eat_several(self):
+        self.m.ccxt.fetch_nth_order_book.return_value = D("0.00001275")
+
+        self.assertEqual(D("0.00001275"), portfolio.Computation.eat_several(self.m)({ "symbol": "BTC/HUC" }, "ask"))
+
+
 @unittest.skipUnless("unit" in limits, "Unit skipped")
 class TradeTest(WebMockTestCase):
 
@@ -506,6 +512,25 @@ class TradeTest(WebMockTestCase):
             trade.orders = []
             self.m.report.log_order.reset_mock()
 
+        with self.subTest(tick=22):
+            trade.update_order(order_mock, 22)
+            order_mock.cancel.assert_called()
+            new_order_mock.run.assert_called()
+            prepare_order.assert_called_with(compute_value=mock.ANY)
+            self.m.report.log_order.assert_called()
+            self.assertEqual(2, self.m.report.log_order.call_count)
+            calls = [
+                    mock.call(order_mock, 22, update="market_adjust_eat",
+                        compute_value=mock.ANY,
+                        new_order=new_order_mock),
+                    mock.call(order_mock, 22, new_order=new_order_mock),
+                    ]
+            self.m.report.log_order.assert_has_calls(calls)
+
+        order_mock.reset_mock()
+        new_order_mock.reset_mock()
+        trade.orders = []
+        self.m.report.log_order.reset_mock()
 
     def test_print_with_order(self):
         value_from = portfolio.Amount("BTC", "0.5")