Unit test
This commit is contained in:
		| @@ -397,6 +397,9 @@ def _balance(bot: Bot, update: Update) -> None: | |||||||
|         coin = currency['Currency'] |         coin = currency['Currency'] | ||||||
|         if coin == 'BTC': |         if coin == 'BTC': | ||||||
|             currency["Rate"] = 1.0 |             currency["Rate"] = 1.0 | ||||||
|  |         else: | ||||||
|  |             if coin == 'USDT': | ||||||
|  |                 currency["Rate"] = 1.0 / exchange.get_ticker('USDT_BTC', False)['bid'] | ||||||
|             else: |             else: | ||||||
|                 currency["Rate"] = exchange.get_ticker('BTC_' + coin, False)['bid'] |                 currency["Rate"] = exchange.get_ticker('BTC_' + coin, False)['bid'] | ||||||
|         currency['BTC'] = currency["Rate"] * currency["Balance"] |         currency['BTC'] = currency["Rate"] * currency["Balance"] | ||||||
|   | |||||||
| @@ -83,6 +83,15 @@ def ticker(): | |||||||
|     }) |     }) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @pytest.fixture | ||||||
|  | def ticker_usdt(): | ||||||
|  |     return MagicMock(return_value={ | ||||||
|  |         'bid': 10000.00, | ||||||
|  |         'ask': 10000.00, | ||||||
|  |         'last': 10000.00, | ||||||
|  |     }) | ||||||
|  |  | ||||||
|  |  | ||||||
| @pytest.fixture | @pytest.fixture | ||||||
| def ticker_sell_up(): | def ticker_sell_up(): | ||||||
|     return MagicMock(return_value={ |     return MagicMock(return_value={ | ||||||
|   | |||||||
| @@ -605,7 +605,7 @@ def test_stop_handle_already_stopped(default_conf, update, mocker): | |||||||
|     assert 'already stopped' in msg_mock.call_args_list[0][0][0] |     assert 'already stopped' in msg_mock.call_args_list[0][0][0] | ||||||
|  |  | ||||||
|  |  | ||||||
| def test_balance_handle(default_conf, update, mocker): | def test_balance_handle(default_conf, update, ticker_usdt, mocker): | ||||||
|     mock_balance = [{ |     mock_balance = [{ | ||||||
|         'Currency': 'BTC', |         'Currency': 'BTC', | ||||||
|         'Balance': 10.0, |         'Balance': 10.0, | ||||||
| @@ -618,6 +618,12 @@ def test_balance_handle(default_conf, update, mocker): | |||||||
|         'Available': 0.0, |         'Available': 0.0, | ||||||
|         'Pending': 0.0, |         'Pending': 0.0, | ||||||
|         'CryptoAddress': 'XXXX', |         'CryptoAddress': 'XXXX', | ||||||
|  |     }, { | ||||||
|  |         'Currency': 'USDT', | ||||||
|  |         'Balance': 10000.0, | ||||||
|  |         'Available': 0.0, | ||||||
|  |         'Pending': 0.0, | ||||||
|  |         'CryptoAddress': 'XXXX', | ||||||
|     }] |     }] | ||||||
|     mocker.patch.dict('freqtrade.main._CONF', default_conf) |     mocker.patch.dict('freqtrade.main._CONF', default_conf) | ||||||
|     msg_mock = MagicMock() |     msg_mock = MagicMock() | ||||||
| @@ -626,16 +632,21 @@ def test_balance_handle(default_conf, update, mocker): | |||||||
|                           init=MagicMock(), |                           init=MagicMock(), | ||||||
|                           send_msg=msg_mock) |                           send_msg=msg_mock) | ||||||
|     mocker.patch.multiple('freqtrade.main.exchange', |     mocker.patch.multiple('freqtrade.main.exchange', | ||||||
|                           get_balances=MagicMock(return_value=mock_balance)) |                           get_balances=MagicMock(return_value=mock_balance), | ||||||
|  |                           get_ticker=ticker_usdt) | ||||||
|     mocker.patch.multiple('freqtrade.fiat_convert.Pymarketcap', |     mocker.patch.multiple('freqtrade.fiat_convert.Pymarketcap', | ||||||
|                           ticker=MagicMock(return_value={'price_usd': 15000.0}), |                           ticker=MagicMock(return_value={'price_usd': 15000.0}), | ||||||
|                           _cache_symbols=MagicMock(return_value={'BTC': 1})) |                           _cache_symbols=MagicMock(return_value={'BTC': 1})) | ||||||
|  |  | ||||||
|     _balance(bot=MagicMock(), update=update) |     _balance(bot=MagicMock(), update=update) | ||||||
|  |     result = msg_mock.call_args_list[0][0][0] | ||||||
|     assert msg_mock.call_count == 1 |     assert msg_mock.call_count == 1 | ||||||
|     assert '*Currency*: BTC' in msg_mock.call_args_list[0][0][0] |     assert '*Currency*: BTC' in result | ||||||
|     assert 'Balance' in msg_mock.call_args_list[0][0][0] |     assert '*Currency*: ETH' not in result | ||||||
|     assert 'Est. BTC' in msg_mock.call_args_list[0][0][0] |     assert '*Currency*: USDT' in result | ||||||
|  |     assert 'Balance' in result | ||||||
|  |     assert 'Est. BTC' in result | ||||||
|  |     assert '*BTC*:  11.00000000' in result | ||||||
|  |  | ||||||
|  |  | ||||||
| def test_help_handle(default_conf, update, mocker): | def test_help_handle(default_conf, update, mocker): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user