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):
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")
self.m.ccxt.is_dust_trade.return_value = True
order.mark_dust_amount_remaining_order()
+ self.assertEqual("pending", order.status)
+
+ order.status = "open"
+ order.mark_dust_amount_remaining_order()
self.assertEqual("closed_dust_remaining", order.status)
@mock.patch.object(portfolio.Order, "fetch")
with self.subTest(desc="no ticker for currency"):
self.m.get_ticker.return_value = None
- self.assertRaises(Exception, amount.in_currency, "ETH", self.m)
+ self.assertEqual(portfolio.Amount("ETH", 0), amount.in_currency("ETH", self.m))
with self.subTest(desc="nominal case"):
self.m.get_ticker.return_value = {