]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - test.py
Add print_balances helper
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / test.py
diff --git a/test.py b/test.py
index 56167f4043c94207d532557542a31459ff591eb1..86411301e39c0af52bfebe7b806dc73ebfa788fb 100644 (file)
--- a/test.py
+++ b/test.py
@@ -820,6 +820,32 @@ class HelperTest(WebMockTestCase):
         print_all_with_order.assert_called()
         self.assertRegex(stdout_mock.getvalue(), "Balance")
 
+    @mock.patch.object(portfolio.BalanceStore, "fetch_balances")
+    @mock.patch.object(portfolio.BalanceStore, "in_currency")
+    @mock.patch('sys.stdout', new_callable=StringIO)
+    def test_print_balances(self, stdout_mock, in_currency, fetch_balances):
+        market = mock.Mock()
+        portfolio.BalanceStore.all = {
+                "BTC": portfolio.Balance("BTC", {
+                    "total": "0.65",
+                    "exchange_total":"0.65",
+                    "exchange_free": "0.35",
+                    "exchange_used": "0.30"}),
+                "ETH": portfolio.Balance("ETH", {
+                    "total": 3,
+                    "exchange_total": 3,
+                    "exchange_free": 3,
+                    "exchange_used": 0}),
+                }
+        in_currency.return_value = {
+                "BTC": portfolio.Amount("BTC", "0.65"),
+                "ETH": portfolio.Amount("BTC", "0.3"),
+        }
+        helper.print_balances(market)
+        fetch_balances.assert_called_with(market)
+        self.assertRegex(stdout_mock.getvalue(), "Balance")
+        self.assertRegex(stdout_mock.getvalue(), "0.95000000 BTC")
+
     @mock.patch.object(helper, "prepare_trades")
     @mock.patch.object(helper, "follow_orders")
     @mock.patch.object(portfolio.TradeStore, "prepare_orders")