X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2Ftest_portfolio.py;h=4d789965673b9090c0df2ac7d74c0cd81e46d4ce;hb=c5ca26b83ca9f120fb39f1e61265216342f8a4db;hp=a1b95bf03958bf6aa2074df6ec5ee8462bf11449;hpb=c682bdf4a02a45312ef1aadf8aa26136cf308414;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FTrader.git diff --git a/tests/test_portfolio.py b/tests/test_portfolio.py index a1b95bf..4d78996 100644 --- a/tests/test_portfolio.py +++ b/tests/test_portfolio.py @@ -220,6 +220,26 @@ class TradeTest(WebMockTestCase): self.assertEqual(0, len(trade.orders)) Order.assert_not_called() + self.m.get_ticker.return_value = None + with self.subTest(desc="Unknown ticker"): + filled_amount.return_value = portfolio.Amount("BTC", "3") + compute_value.return_value = D("0.125") + + value_from = portfolio.Amount("BTC", "1") + value_from.rate = D("0.1") + value_from.linked_to = portfolio.Amount("FOO", "10") + value_to = portfolio.Amount("BTC", "10") + trade = portfolio.Trade(value_from, value_to, "FOO", self.m) + + trade.prepare_order() + + filled_amount.assert_not_called() + compute_value.assert_not_called() + self.assertEqual(0, len(trade.orders)) + Order.assert_not_called() + self.m.report.log_error.assert_called_once_with('prepare_order', + message='Unknown ticker FOO/BTC') + self.m.get_ticker.return_value = { "inverted": False } with self.subTest(desc="Already filled"): filled_amount.return_value = portfolio.Amount("FOO", "100") @@ -1742,7 +1762,7 @@ class MouvementTest(WebMockTestCase): self.assertEqual(42, mouvement.id) self.assertEqual("buy", mouvement.action) self.assertEqual(D("0.0015"), mouvement.fee_rate) - self.assertEqual(portfolio.datetime(2017, 12, 30, 12, 0, 12), mouvement.date) + self.assertEqual(portfolio.datetime.datetime(2017, 12, 30, 12, 0, 12), mouvement.date) self.assertEqual(D("0.1"), mouvement.rate) self.assertEqual(portfolio.Amount("ETH", "10"), mouvement.total) self.assertEqual(portfolio.Amount("BTC", "1"), mouvement.total_in_base) @@ -1780,7 +1800,7 @@ class MouvementTest(WebMockTestCase): as_json = mouvement.as_json() self.assertEqual(D("0.0015"), as_json["fee_rate"]) - self.assertEqual(portfolio.datetime(2017, 12, 30, 12, 0, 12), as_json["date"]) + self.assertEqual(portfolio.datetime.datetime(2017, 12, 30, 12, 0, 12), as_json["date"]) self.assertEqual("buy", as_json["action"]) self.assertEqual(D("10"), as_json["total"]) self.assertEqual(D("1"), as_json["total_in_base"])