mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-01-20 14:00:38 +00:00
Fix mock trade 1 status
This commit is contained in:
@@ -22,15 +22,15 @@ def mock_order_1(is_short: bool):
|
||||
return {
|
||||
'id': f'1234_{direc(is_short)}',
|
||||
'symbol': 'ETH/BTC',
|
||||
'status': 'closed',
|
||||
'status': 'open',
|
||||
'side': entry_side(is_short),
|
||||
'type': 'limit',
|
||||
'price': 0.123,
|
||||
'average': 0.123,
|
||||
'amount': 123.0,
|
||||
'filled': 123.0,
|
||||
'filled': 50.0,
|
||||
'cost': 15.129,
|
||||
'remaining': 0.0,
|
||||
'remaining': 123.0 - 50.0,
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1969,9 +1969,9 @@ def test_select_order(fee, is_short):
|
||||
|
||||
# Open buy order, no sell order
|
||||
order = trades[0].select_order(trades[0].entry_side, True)
|
||||
assert order is None
|
||||
order = trades[0].select_order(trades[0].entry_side, False)
|
||||
assert order is not None
|
||||
order = trades[0].select_order(trades[0].entry_side, False)
|
||||
assert order is None
|
||||
order = trades[0].select_order(trades[0].exit_side, None)
|
||||
assert order is None
|
||||
|
||||
@@ -2442,7 +2442,16 @@ def test_select_filled_orders(fee):
|
||||
|
||||
# Closed buy order, no sell order
|
||||
orders = trades[0].select_filled_orders('buy')
|
||||
assert isinstance(orders, list)
|
||||
assert len(orders) == 0
|
||||
|
||||
orders = trades[0].select_filled_orders('sell')
|
||||
assert orders is not None
|
||||
assert len(orders) == 0
|
||||
|
||||
# closed buy order, and closed sell order
|
||||
orders = trades[1].select_filled_orders('buy')
|
||||
assert isinstance(orders, list)
|
||||
assert len(orders) == 1
|
||||
order = orders[0]
|
||||
assert order.amount > 0
|
||||
@@ -2450,33 +2459,25 @@ def test_select_filled_orders(fee):
|
||||
assert order.side == 'buy'
|
||||
assert order.ft_order_side == 'buy'
|
||||
assert order.status == 'closed'
|
||||
orders = trades[0].select_filled_orders('sell')
|
||||
assert orders is not None
|
||||
assert len(orders) == 0
|
||||
|
||||
# closed buy order, and closed sell order
|
||||
orders = trades[1].select_filled_orders('buy')
|
||||
assert orders is not None
|
||||
assert len(orders) == 1
|
||||
|
||||
orders = trades[1].select_filled_orders('sell')
|
||||
assert orders is not None
|
||||
assert isinstance(orders, list)
|
||||
assert len(orders) == 1
|
||||
|
||||
# Has open buy order
|
||||
orders = trades[3].select_filled_orders('buy')
|
||||
assert orders is not None
|
||||
assert isinstance(orders, list)
|
||||
assert len(orders) == 0
|
||||
orders = trades[3].select_filled_orders('sell')
|
||||
assert orders is not None
|
||||
assert isinstance(orders, list)
|
||||
assert len(orders) == 0
|
||||
|
||||
# Open sell order
|
||||
orders = trades[4].select_filled_orders('buy')
|
||||
assert orders is not None
|
||||
assert isinstance(orders, list)
|
||||
assert len(orders) == 1
|
||||
orders = trades[4].select_filled_orders('sell')
|
||||
assert orders is not None
|
||||
assert isinstance(orders, list)
|
||||
assert len(orders) == 0
|
||||
|
||||
|
||||
|
||||
@@ -5387,7 +5387,7 @@ def test_startup_update_open_orders(mocker, default_conf_usdt, fee, caplog, is_s
|
||||
freqtrade.config['dry_run'] = False
|
||||
freqtrade.startup_update_open_orders()
|
||||
|
||||
assert len(Order.get_open_orders()) == 3
|
||||
assert len(Order.get_open_orders()) == 4
|
||||
matching_buy_order = mock_order_4(is_short=is_short)
|
||||
matching_buy_order.update({
|
||||
'status': 'closed',
|
||||
@@ -5395,7 +5395,7 @@ def test_startup_update_open_orders(mocker, default_conf_usdt, fee, caplog, is_s
|
||||
mocker.patch(f'{EXMS}.fetch_order', return_value=matching_buy_order)
|
||||
freqtrade.startup_update_open_orders()
|
||||
# Only stoploss and sell orders are kept open
|
||||
assert len(Order.get_open_orders()) == 2
|
||||
assert len(Order.get_open_orders()) == 3
|
||||
|
||||
caplog.clear()
|
||||
mocker.patch(f'{EXMS}.fetch_order', side_effect=ExchangeError)
|
||||
@@ -5407,7 +5407,7 @@ def test_startup_update_open_orders(mocker, default_conf_usdt, fee, caplog, is_s
|
||||
# Orders which are no longer found after X days should be assumed as canceled.
|
||||
freqtrade.startup_update_open_orders()
|
||||
assert log_has_re(r"Order is older than \d days.*", caplog)
|
||||
assert hto_mock.call_count == 2
|
||||
assert hto_mock.call_count == 3
|
||||
assert hto_mock.call_args_list[0][0][0]['status'] == 'canceled'
|
||||
assert hto_mock.call_args_list[1][0][0]['status'] == 'canceled'
|
||||
|
||||
@@ -5561,14 +5561,15 @@ def test_handle_insufficient_funds(mocker, default_conf_usdt, fee, is_short, cap
|
||||
caplog.clear()
|
||||
|
||||
# No open order
|
||||
trade = trades[0]
|
||||
trade = trades[1]
|
||||
reset_open_orders(trade)
|
||||
assert trade.open_order_id is None
|
||||
assert trade.stoploss_order_id is None
|
||||
|
||||
freqtrade.handle_insufficient_funds(trade)
|
||||
order = mock_order_1(is_short=is_short)
|
||||
assert log_has_re(r"Order Order(.*order_id=" + order['id'] + ".*) is no longer open.", caplog)
|
||||
order = trade.orders[0]
|
||||
assert log_has_re(r"Order Order(.*order_id=" + order.order_id + ".*) is no longer open.",
|
||||
caplog)
|
||||
assert mock_fo.call_count == 0
|
||||
assert mock_uts.call_count == 0
|
||||
# No change to orderid - as update_trade_state is mocked
|
||||
|
||||
Reference in New Issue
Block a user