]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - tests/test_portfolio.py
Fix ccxt switching currency codes
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / tests / test_portfolio.py
index 2a42d0cd5507dc453ba76ff4fa54585bc47404cf..14dc9954f63679c03a12a087c2f69102c3109705 100644 (file)
@@ -218,6 +218,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")