X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FTrader.git;a=blobdiff_plain;f=tests%2Ftest_portfolio.py;fp=tests%2Ftest_portfolio.py;h=d4e5ab93ea31b41a6c6c941122cffac374395e9d;hp=bc69921fe01f58b649492ccbafdcb500eebcb0ce;hb=f0001495538945af15ae0c28a07e4de4cc18cbf1;hpb=5f721612111af5c56b5757cb2f21da5f2fa388bf diff --git a/tests/test_portfolio.py b/tests/test_portfolio.py index bc69921..d4e5ab9 100644 --- a/tests/test_portfolio.py +++ b/tests/test_portfolio.py @@ -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")