improve RPC testcase to cover open orders
This commit is contained in:
parent
019577f73d
commit
097af973d2
@ -33,6 +33,7 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
|
|||||||
'freqtrade.exchange.Exchange',
|
'freqtrade.exchange.Exchange',
|
||||||
fetch_ticker=ticker,
|
fetch_ticker=ticker,
|
||||||
get_fee=fee,
|
get_fee=fee,
|
||||||
|
_is_dry_limit_order_filled=MagicMock(side_effect=[False, True]),
|
||||||
)
|
)
|
||||||
|
|
||||||
freqtradebot = get_patched_freqtradebot(mocker, default_conf)
|
freqtradebot = get_patched_freqtradebot(mocker, default_conf)
|
||||||
@ -44,6 +45,91 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
|
|||||||
rpc._rpc_trade_status()
|
rpc._rpc_trade_status()
|
||||||
|
|
||||||
freqtradebot.enter_positions()
|
freqtradebot.enter_positions()
|
||||||
|
|
||||||
|
# Open order...
|
||||||
|
results = rpc._rpc_trade_status()
|
||||||
|
assert results[0] == {
|
||||||
|
'trade_id': 1,
|
||||||
|
'pair': 'ETH/BTC',
|
||||||
|
'base_currency': 'ETH',
|
||||||
|
'quote_currency': 'BTC',
|
||||||
|
'open_date': ANY,
|
||||||
|
'open_timestamp': ANY,
|
||||||
|
'is_open': ANY,
|
||||||
|
'fee_open': ANY,
|
||||||
|
'fee_open_cost': ANY,
|
||||||
|
'fee_open_currency': ANY,
|
||||||
|
'fee_close': fee.return_value,
|
||||||
|
'fee_close_cost': ANY,
|
||||||
|
'fee_close_currency': ANY,
|
||||||
|
'open_rate_requested': ANY,
|
||||||
|
'open_trade_value': 0.0010025,
|
||||||
|
'close_rate_requested': ANY,
|
||||||
|
'sell_reason': ANY,
|
||||||
|
'exit_reason': ANY,
|
||||||
|
'exit_order_status': ANY,
|
||||||
|
'min_rate': ANY,
|
||||||
|
'max_rate': ANY,
|
||||||
|
'strategy': ANY,
|
||||||
|
'buy_tag': ANY,
|
||||||
|
'enter_tag': ANY,
|
||||||
|
'timeframe': 5,
|
||||||
|
'open_order_id': ANY,
|
||||||
|
'close_date': None,
|
||||||
|
'close_timestamp': None,
|
||||||
|
'open_rate': 1.098e-05,
|
||||||
|
'close_rate': None,
|
||||||
|
'current_rate': 1.099e-05,
|
||||||
|
'amount': 91.07468124,
|
||||||
|
'amount_requested': 91.07468124,
|
||||||
|
'stake_amount': 0.001,
|
||||||
|
'trade_duration': None,
|
||||||
|
'trade_duration_s': None,
|
||||||
|
'close_profit': None,
|
||||||
|
'close_profit_pct': None,
|
||||||
|
'close_profit_abs': None,
|
||||||
|
'current_profit': 0.0,
|
||||||
|
'current_profit_pct': 0.0,
|
||||||
|
'current_profit_abs': 0.0,
|
||||||
|
'profit_ratio': 0.0,
|
||||||
|
'profit_pct': 0.0,
|
||||||
|
'profit_abs': 0.0,
|
||||||
|
'profit_fiat': ANY,
|
||||||
|
'stop_loss_abs': 0.0,
|
||||||
|
'stop_loss_pct': None,
|
||||||
|
'stop_loss_ratio': None,
|
||||||
|
'stoploss_order_id': None,
|
||||||
|
'stoploss_last_update': ANY,
|
||||||
|
'stoploss_last_update_timestamp': ANY,
|
||||||
|
'initial_stop_loss_abs': 0.0,
|
||||||
|
'initial_stop_loss_pct': None,
|
||||||
|
'initial_stop_loss_ratio': None,
|
||||||
|
'stoploss_current_dist': -1.099e-05,
|
||||||
|
'stoploss_current_dist_ratio': -1.0,
|
||||||
|
'stoploss_current_dist_pct': pytest.approx(-100.0),
|
||||||
|
'stoploss_entry_dist': -0.0010025,
|
||||||
|
'stoploss_entry_dist_ratio': -1.0,
|
||||||
|
'open_order': '(limit buy rem=91.07468123)',
|
||||||
|
'realized_profit': 0.0,
|
||||||
|
'exchange': 'binance',
|
||||||
|
'leverage': 1.0,
|
||||||
|
'interest_rate': 0.0,
|
||||||
|
'liquidation_price': None,
|
||||||
|
'is_short': False,
|
||||||
|
'funding_fees': 0.0,
|
||||||
|
'trading_mode': TradingMode.SPOT,
|
||||||
|
'orders': [{
|
||||||
|
'amount': 91.07468123, 'average': 1.098e-05, 'safe_price': 1.098e-05,
|
||||||
|
'cost': 0.0009999999999054, 'filled': 0.0, 'ft_order_side': 'buy',
|
||||||
|
'order_date': ANY, 'order_timestamp': ANY, 'order_filled_date': ANY,
|
||||||
|
'order_filled_timestamp': ANY, 'order_type': 'limit', 'price': 1.098e-05,
|
||||||
|
'is_open': True, 'pair': 'ETH/BTC', 'order_id': ANY,
|
||||||
|
'remaining': 91.07468123, 'status': ANY, 'ft_is_entry': True,
|
||||||
|
}],
|
||||||
|
}
|
||||||
|
|
||||||
|
# Fill open order ...
|
||||||
|
freqtradebot.manage_open_orders()
|
||||||
trades = Trade.get_open_trades()
|
trades = Trade.get_open_trades()
|
||||||
freqtradebot.exit_positions(trades)
|
freqtradebot.exit_positions(trades)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user