Tests for balance
This commit is contained in:
parent
70a3c2c648
commit
6b426e78f6
@ -970,3 +970,39 @@ def edge_conf(default_conf):
|
|||||||
}
|
}
|
||||||
|
|
||||||
return default_conf
|
return default_conf
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def rpc_balance():
|
||||||
|
return {
|
||||||
|
'BTC': {
|
||||||
|
'total': 12.0,
|
||||||
|
'free': 12.0,
|
||||||
|
'used': 0.0
|
||||||
|
},
|
||||||
|
'ETH': {
|
||||||
|
'total': 0.0,
|
||||||
|
'free': 0.0,
|
||||||
|
'used': 0.0
|
||||||
|
},
|
||||||
|
'USDT': {
|
||||||
|
'total': 10000.0,
|
||||||
|
'free': 10000.0,
|
||||||
|
'used': 0.0
|
||||||
|
},
|
||||||
|
'LTC': {
|
||||||
|
'total': 10.0,
|
||||||
|
'free': 10.0,
|
||||||
|
'used': 0.0
|
||||||
|
},
|
||||||
|
'XRP': {
|
||||||
|
'total': 1.0,
|
||||||
|
'free': 1.0,
|
||||||
|
'used': 0.0
|
||||||
|
},
|
||||||
|
'EUR': {
|
||||||
|
'total': 10.0,
|
||||||
|
'free': 10.0,
|
||||||
|
'used': 0.0
|
||||||
|
},
|
||||||
|
}
|
||||||
|
@ -77,3 +77,40 @@ def test_api_stopbuy(botclient):
|
|||||||
response_success_assert(rc)
|
response_success_assert(rc)
|
||||||
assert rc.json == {'status': 'No more buy will occur from now. Run /reload_conf to reset.'}
|
assert rc.json == {'status': 'No more buy will occur from now. Run /reload_conf to reset.'}
|
||||||
assert ftbot.config['max_open_trades'] == 0
|
assert ftbot.config['max_open_trades'] == 0
|
||||||
|
|
||||||
|
|
||||||
|
def test_api_balance(botclient, mocker, rpc_balance):
|
||||||
|
ftbot, client = botclient
|
||||||
|
|
||||||
|
def mock_ticker(symbol, refresh):
|
||||||
|
if symbol == 'BTC/USDT':
|
||||||
|
return {
|
||||||
|
'bid': 10000.00,
|
||||||
|
'ask': 10000.00,
|
||||||
|
'last': 10000.00,
|
||||||
|
}
|
||||||
|
elif symbol == 'XRP/BTC':
|
||||||
|
return {
|
||||||
|
'bid': 0.00001,
|
||||||
|
'ask': 0.00001,
|
||||||
|
'last': 0.00001,
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
'bid': 0.1,
|
||||||
|
'ask': 0.1,
|
||||||
|
'last': 0.1,
|
||||||
|
}
|
||||||
|
mocker.patch('freqtrade.exchange.Exchange.get_balances', return_value=rpc_balance)
|
||||||
|
mocker.patch('freqtrade.exchange.Exchange.get_ticker', side_effect=mock_ticker)
|
||||||
|
|
||||||
|
rc = client.get("/balance")
|
||||||
|
response_success_assert(rc)
|
||||||
|
assert "currencies" in rc.json
|
||||||
|
assert len(rc.json["currencies"]) == 5
|
||||||
|
assert rc.json['currencies'][0] == {
|
||||||
|
'currency': 'BTC',
|
||||||
|
'available': 12.0,
|
||||||
|
'balance': 12.0,
|
||||||
|
'pending': 0.0,
|
||||||
|
'est_btc': 12.0,
|
||||||
|
}
|
||||||
|
@ -496,39 +496,7 @@ def test_profit_handle(default_conf, update, ticker, ticker_sell_up, fee,
|
|||||||
assert '*Best Performing:* `ETH/BTC: 6.20%`' in msg_mock.call_args_list[-1][0][0]
|
assert '*Best Performing:* `ETH/BTC: 6.20%`' in msg_mock.call_args_list[-1][0][0]
|
||||||
|
|
||||||
|
|
||||||
def test_telegram_balance_handle(default_conf, update, mocker) -> None:
|
def test_telegram_balance_handle(default_conf, update, mocker, rpc_balance) -> None:
|
||||||
mock_balance = {
|
|
||||||
'BTC': {
|
|
||||||
'total': 12.0,
|
|
||||||
'free': 12.0,
|
|
||||||
'used': 0.0
|
|
||||||
},
|
|
||||||
'ETH': {
|
|
||||||
'total': 0.0,
|
|
||||||
'free': 0.0,
|
|
||||||
'used': 0.0
|
|
||||||
},
|
|
||||||
'USDT': {
|
|
||||||
'total': 10000.0,
|
|
||||||
'free': 10000.0,
|
|
||||||
'used': 0.0
|
|
||||||
},
|
|
||||||
'LTC': {
|
|
||||||
'total': 10.0,
|
|
||||||
'free': 10.0,
|
|
||||||
'used': 0.0
|
|
||||||
},
|
|
||||||
'XRP': {
|
|
||||||
'total': 1.0,
|
|
||||||
'free': 1.0,
|
|
||||||
'used': 0.0
|
|
||||||
},
|
|
||||||
'EUR': {
|
|
||||||
'total': 10.0,
|
|
||||||
'free': 10.0,
|
|
||||||
'used': 0.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def mock_ticker(symbol, refresh):
|
def mock_ticker(symbol, refresh):
|
||||||
if symbol == 'BTC/USDT':
|
if symbol == 'BTC/USDT':
|
||||||
@ -549,7 +517,7 @@ def test_telegram_balance_handle(default_conf, update, mocker) -> None:
|
|||||||
'last': 0.1,
|
'last': 0.1,
|
||||||
}
|
}
|
||||||
|
|
||||||
mocker.patch('freqtrade.exchange.Exchange.get_balances', return_value=mock_balance)
|
mocker.patch('freqtrade.exchange.Exchange.get_balances', return_value=rpc_balance)
|
||||||
mocker.patch('freqtrade.exchange.Exchange.get_ticker', side_effect=mock_ticker)
|
mocker.patch('freqtrade.exchange.Exchange.get_ticker', side_effect=mock_ticker)
|
||||||
|
|
||||||
msg_mock = MagicMock()
|
msg_mock = MagicMock()
|
||||||
|
Loading…
Reference in New Issue
Block a user