Add test and fix case where no trades were closed yet
This commit is contained in:
parent
0bad55637e
commit
0f18b2a0d4
@ -527,7 +527,8 @@ class Telegram(RPC):
|
|||||||
f'Profit ({stake_cur})',
|
f'Profit ({stake_cur})',
|
||||||
],
|
],
|
||||||
tablefmt='simple')
|
tablefmt='simple')
|
||||||
message = f'<b>{nrecent} recent trades</b>:\n<pre>{trades_tab}</pre>'
|
message = (f"<b>{min(trades['trades_count'], nrecent)} recent trades</b>:\n"
|
||||||
|
+ (f"<pre>{trades_tab}</pre>" if trades['trades_count'] > 0 else ''))
|
||||||
self._send_msg(message, parse_mode=ParseMode.HTML)
|
self._send_msg(message, parse_mode=ParseMode.HTML)
|
||||||
except RPCException as e:
|
except RPCException as e:
|
||||||
self._send_msg(str(e))
|
self._send_msg(str(e))
|
||||||
|
@ -21,8 +21,9 @@ from freqtrade.rpc import RPCMessageType
|
|||||||
from freqtrade.rpc.telegram import Telegram, authorized_only
|
from freqtrade.rpc.telegram import Telegram, authorized_only
|
||||||
from freqtrade.state import State
|
from freqtrade.state import State
|
||||||
from freqtrade.strategy.interface import SellType
|
from freqtrade.strategy.interface import SellType
|
||||||
from tests.conftest import (get_patched_freqtradebot, log_has, patch_exchange,
|
from tests.conftest import (create_mock_trades, get_patched_freqtradebot,
|
||||||
patch_get_signal, patch_whitelist)
|
log_has, patch_exchange, patch_get_signal,
|
||||||
|
patch_whitelist)
|
||||||
|
|
||||||
|
|
||||||
class DummyCls(Telegram):
|
class DummyCls(Telegram):
|
||||||
@ -1143,6 +1144,36 @@ def test_edge_enabled(edge_conf, update, mocker) -> None:
|
|||||||
assert 'Pair Winrate Expectancy Stoploss' in msg_mock.call_args_list[0][0][0]
|
assert 'Pair Winrate Expectancy Stoploss' in msg_mock.call_args_list[0][0][0]
|
||||||
|
|
||||||
|
|
||||||
|
def test_telegram_trades(mocker, update, default_conf, fee):
|
||||||
|
msg_mock = MagicMock()
|
||||||
|
mocker.patch.multiple(
|
||||||
|
'freqtrade.rpc.telegram.Telegram',
|
||||||
|
_init=MagicMock(),
|
||||||
|
_send_msg=msg_mock
|
||||||
|
)
|
||||||
|
|
||||||
|
freqtradebot = get_patched_freqtradebot(mocker, default_conf)
|
||||||
|
telegram = Telegram(freqtradebot)
|
||||||
|
context = MagicMock()
|
||||||
|
context.args = []
|
||||||
|
|
||||||
|
telegram._trades(update=update, context=context)
|
||||||
|
assert "<b>0 recent trades</b>:" in msg_mock.call_args_list[0][0][0]
|
||||||
|
assert "<pre>" not in msg_mock.call_args_list[0][0][0]
|
||||||
|
|
||||||
|
msg_mock.reset_mock()
|
||||||
|
create_mock_trades(fee)
|
||||||
|
|
||||||
|
context = MagicMock()
|
||||||
|
context.args = [5]
|
||||||
|
telegram._trades(update=update, context=context)
|
||||||
|
msg_mock.call_count == 1
|
||||||
|
assert "3 recent trades</b>:" in msg_mock.call_args_list[0][0][0]
|
||||||
|
assert "Profit (" in msg_mock.call_args_list[0][0][0]
|
||||||
|
assert "Open Date" in msg_mock.call_args_list[0][0][0]
|
||||||
|
assert "<pre>" in msg_mock.call_args_list[0][0][0]
|
||||||
|
|
||||||
|
|
||||||
def test_help_handle(default_conf, update, mocker) -> None:
|
def test_help_handle(default_conf, update, mocker) -> None:
|
||||||
msg_mock = MagicMock()
|
msg_mock = MagicMock()
|
||||||
mocker.patch.multiple(
|
mocker.patch.multiple(
|
||||||
|
Loading…
Reference in New Issue
Block a user