Display all trade info in buttons
First step to fix tests for changed forcesell code
This commit is contained in:
parent
29d6725fb7
commit
3ed7f3f2df
@ -919,7 +919,7 @@ class Telegram(RPCHandler):
|
|||||||
|
|
||||||
trades = []
|
trades = []
|
||||||
for trade in statlist:
|
for trade in statlist:
|
||||||
trades.append(f"{trade[0]} {trade[1]} {trade[3]}")
|
trades.append(f"{trade[0]} {trade[1]} {trade[2]} {trade[3]}")
|
||||||
|
|
||||||
trade_buttons = [
|
trade_buttons = [
|
||||||
InlineKeyboardButton(text=trade, callback_data=trade) for trade in trades]
|
InlineKeyboardButton(text=trade, callback_data=trade) for trade in trades]
|
||||||
@ -994,7 +994,7 @@ class Telegram(RPCHandler):
|
|||||||
|
|
||||||
buttons_aligned.append([InlineKeyboardButton(text='Cancel', callback_data='cancel')])
|
buttons_aligned.append([InlineKeyboardButton(text='Cancel', callback_data='cancel')])
|
||||||
self._send_msg(msg="Which pair?",
|
self._send_msg(msg="Which pair?",
|
||||||
keyboard=buttons_aligned)
|
keyboard=buttons_aligned)
|
||||||
|
|
||||||
@authorized_only
|
@authorized_only
|
||||||
def _trades(self, update: Update, context: CallbackContext) -> None:
|
def _trades(self, update: Update, context: CallbackContext) -> None:
|
||||||
|
@ -1188,15 +1188,6 @@ def test_forcesell_handle_invalid(default_conf, update, mocker) -> None:
|
|||||||
assert msg_mock.call_count == 1
|
assert msg_mock.call_count == 1
|
||||||
assert 'not running' in msg_mock.call_args_list[0][0][0]
|
assert 'not running' in msg_mock.call_args_list[0][0][0]
|
||||||
|
|
||||||
# No argument
|
|
||||||
msg_mock.reset_mock()
|
|
||||||
freqtradebot.state = State.RUNNING
|
|
||||||
context = MagicMock()
|
|
||||||
context.args = []
|
|
||||||
telegram._forcesell(update=update, context=context)
|
|
||||||
assert msg_mock.call_count == 1
|
|
||||||
assert "You must specify a trade-id or 'all'." in msg_mock.call_args_list[0][0][0]
|
|
||||||
|
|
||||||
# Invalid argument
|
# Invalid argument
|
||||||
msg_mock.reset_mock()
|
msg_mock.reset_mock()
|
||||||
freqtradebot.state = State.RUNNING
|
freqtradebot.state = State.RUNNING
|
||||||
@ -1208,6 +1199,33 @@ def test_forcesell_handle_invalid(default_conf, update, mocker) -> None:
|
|||||||
assert 'invalid argument' in msg_mock.call_args_list[0][0][0]
|
assert 'invalid argument' in msg_mock.call_args_list[0][0][0]
|
||||||
|
|
||||||
|
|
||||||
|
def test_forcesell_no_tradeid(default_conf, update, mocker) -> None:
|
||||||
|
|
||||||
|
fsell_mock = MagicMock(return_value=None)
|
||||||
|
mocker.patch('freqtrade.rpc.RPC._rpc_forcesell', fsell_mock)
|
||||||
|
|
||||||
|
telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf)
|
||||||
|
|
||||||
|
patch_get_signal(freqtradebot)
|
||||||
|
|
||||||
|
context = MagicMock()
|
||||||
|
context.args = []
|
||||||
|
telegram._forcesell(update=update, context=context)
|
||||||
|
|
||||||
|
assert fsell_mock.call_count == 0
|
||||||
|
assert msg_mock.call_count == 1
|
||||||
|
assert msg_mock.call_args_list[0][1]['msg'] == 'Which trade?'
|
||||||
|
# assert msg_mock.call_args_list[0][1]['callback_query_handler'] == 'forcesell'
|
||||||
|
keyboard = msg_mock.call_args_list[0][1]['keyboard']
|
||||||
|
# One additional button - cancel
|
||||||
|
assert reduce(lambda acc, x: acc + len(x), keyboard, 0) == 5
|
||||||
|
update = MagicMock()
|
||||||
|
update.callback_query = MagicMock()
|
||||||
|
update.callback_query.data = '1 XRP/USDT 1h 2.20% (1.20)'
|
||||||
|
telegram._forcsell_inline(update, None)
|
||||||
|
assert fsell_mock.call_count == 1
|
||||||
|
|
||||||
|
|
||||||
def test_forcebuy_handle(default_conf, update, mocker) -> None:
|
def test_forcebuy_handle(default_conf, update, mocker) -> None:
|
||||||
mocker.patch('freqtrade.rpc.rpc.CryptoToFiatConverter._find_price', return_value=15000.0)
|
mocker.patch('freqtrade.rpc.rpc.CryptoToFiatConverter._find_price', return_value=15000.0)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user