Improve cancel_stop test
This commit is contained in:
@@ -3122,25 +3122,28 @@ def test_cancel_stoploss_order(default_conf, mocker, exchange_name):
|
|||||||
@pytest.mark.parametrize("exchange_name", EXCHANGES)
|
@pytest.mark.parametrize("exchange_name", EXCHANGES)
|
||||||
def test_cancel_stoploss_order_with_result(default_conf, mocker, exchange_name):
|
def test_cancel_stoploss_order_with_result(default_conf, mocker, exchange_name):
|
||||||
default_conf['dry_run'] = False
|
default_conf['dry_run'] = False
|
||||||
|
mock_prefix = 'freqtrade.exchange.gate.Gate'
|
||||||
|
if exchange_name == 'okx':
|
||||||
|
mock_prefix = 'freqtrade.exchange.okx.Okx'
|
||||||
mocker.patch(f'{EXMS}.fetch_stoploss_order', return_value={'for': 123})
|
mocker.patch(f'{EXMS}.fetch_stoploss_order', return_value={'for': 123})
|
||||||
mocker.patch('freqtrade.exchange.gate.Gate.fetch_stoploss_order', return_value={'for': 123})
|
mocker.patch(f'{mock_prefix}.fetch_stoploss_order', return_value={'for': 123})
|
||||||
exchange = get_patched_exchange(mocker, default_conf, id=exchange_name)
|
exchange = get_patched_exchange(mocker, default_conf, id=exchange_name)
|
||||||
|
|
||||||
res = {'fee': {}, 'status': 'canceled', 'amount': 1234}
|
res = {'fee': {}, 'status': 'canceled', 'amount': 1234}
|
||||||
mocker.patch(f'{EXMS}.cancel_stoploss_order', return_value=res)
|
mocker.patch(f'{EXMS}.cancel_stoploss_order', return_value=res)
|
||||||
mocker.patch('freqtrade.exchange.gate.Gate.cancel_stoploss_order', return_value=res)
|
mocker.patch(f'{mock_prefix}.cancel_stoploss_order', return_value=res)
|
||||||
co = exchange.cancel_stoploss_order_with_result(order_id='_', pair='TKN/BTC', amount=555)
|
co = exchange.cancel_stoploss_order_with_result(order_id='_', pair='TKN/BTC', amount=555)
|
||||||
assert co == res
|
assert co == res
|
||||||
|
|
||||||
mocker.patch(f'{EXMS}.cancel_stoploss_order', return_value='canceled')
|
mocker.patch(f'{EXMS}.cancel_stoploss_order', return_value='canceled')
|
||||||
mocker.patch('freqtrade.exchange.gate.Gate.cancel_stoploss_order', return_value='canceled')
|
mocker.patch(f'{mock_prefix}.cancel_stoploss_order', return_value='canceled')
|
||||||
# Fall back to fetch_stoploss_order
|
# Fall back to fetch_stoploss_order
|
||||||
co = exchange.cancel_stoploss_order_with_result(order_id='_', pair='TKN/BTC', amount=555)
|
co = exchange.cancel_stoploss_order_with_result(order_id='_', pair='TKN/BTC', amount=555)
|
||||||
assert co == {'for': 123}
|
assert co == {'for': 123}
|
||||||
|
|
||||||
exc = InvalidOrderException("")
|
exc = InvalidOrderException("")
|
||||||
mocker.patch(f'{EXMS}.fetch_stoploss_order', side_effect=exc)
|
mocker.patch(f'{EXMS}.fetch_stoploss_order', side_effect=exc)
|
||||||
mocker.patch('freqtrade.exchange.gate.Gate.fetch_stoploss_order', side_effect=exc)
|
mocker.patch(f'{mock_prefix}.fetch_stoploss_order', side_effect=exc)
|
||||||
co = exchange.cancel_stoploss_order_with_result(order_id='_', pair='TKN/BTC', amount=555)
|
co = exchange.cancel_stoploss_order_with_result(order_id='_', pair='TKN/BTC', amount=555)
|
||||||
assert co['amount'] == 555
|
assert co['amount'] == 555
|
||||||
assert co == {'fee': {}, 'status': 'canceled', 'amount': 555, 'info': {}}
|
assert co == {'fee': {}, 'status': 'canceled', 'amount': 555, 'info': {}}
|
||||||
@@ -3148,7 +3151,7 @@ def test_cancel_stoploss_order_with_result(default_conf, mocker, exchange_name):
|
|||||||
with pytest.raises(InvalidOrderException):
|
with pytest.raises(InvalidOrderException):
|
||||||
exc = InvalidOrderException("Did not find order")
|
exc = InvalidOrderException("Did not find order")
|
||||||
mocker.patch(f'{EXMS}.cancel_stoploss_order', side_effect=exc)
|
mocker.patch(f'{EXMS}.cancel_stoploss_order', side_effect=exc)
|
||||||
mocker.patch('freqtrade.exchange.gate.Gate.cancel_stoploss_order', side_effect=exc)
|
mocker.patch(f'{mock_prefix}.cancel_stoploss_order', side_effect=exc)
|
||||||
exchange = get_patched_exchange(mocker, default_conf, id=exchange_name)
|
exchange = get_patched_exchange(mocker, default_conf, id=exchange_name)
|
||||||
exchange.cancel_stoploss_order_with_result(order_id='_', pair='TKN/BTC', amount=123)
|
exchange.cancel_stoploss_order_with_result(order_id='_', pair='TKN/BTC', amount=123)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user