+ @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")
+