telegram refactor 2/

move out rpc_trade_status
This commit is contained in:
kryofly
2018-01-17 07:23:25 +01:00
parent 23b75aadf0
commit b7a6487533
3 changed files with 87 additions and 42 deletions

View File

@@ -3,6 +3,10 @@ from copy import deepcopy
from unittest.mock import MagicMock
from freqtrade.rpc import init, cleanup, send_msg
from sqlalchemy import create_engine
import freqtrade.main as main
import freqtrade.misc as misc
import freqtrade.rpc as rpc
def test_init_telegram_enabled(default_conf, mocker):
@@ -55,3 +59,32 @@ def test_send_msg_telegram_disabled(mocker):
telegram_mock = mocker.patch('freqtrade.rpc.telegram.send_msg', MagicMock())
send_msg('test')
assert telegram_mock.call_count == 0
def test_rpc_trade_status(default_conf, update, ticker, mocker):
mocker.patch.dict('freqtrade.main._CONF', default_conf)
mocker.patch('freqtrade.main.get_signal', side_effect=lambda s, t: True)
mocker.patch('freqtrade.main.rpc.send_msg', MagicMock())
mocker.patch.multiple('freqtrade.rpc.telegram',
_CONF=default_conf,
init=MagicMock())
mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(),
get_ticker=ticker)
main.init(default_conf, create_engine('sqlite://'))
misc.update_state(misc.State.STOPPED)
(error, result) = rpc.rpc_trade_status()
assert error
assert result.find('trader is not running') >= 0
misc.update_state(misc.State.RUNNING)
(error, result) = rpc.rpc_trade_status()
assert error
assert result.find('no active trade') >= 0
main.create_trade(0.001)
(error, result) = rpc.rpc_trade_status()
assert not error
trade = result[0]
assert trade.find('[BTC_ETH]') >= 0