test: add test for bitget stoploss canceling
This commit is contained in:
@@ -5,7 +5,7 @@ from unittest.mock import MagicMock, PropertyMock
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from freqtrade.enums import CandleType, MarginMode, RunMode, TradingMode
|
from freqtrade.enums import CandleType, MarginMode, RunMode, TradingMode
|
||||||
from freqtrade.exceptions import OperationalException, RetryableOrderError
|
from freqtrade.exceptions import InvalidOrderException, OperationalException, RetryableOrderError
|
||||||
from freqtrade.exchange.common import API_RETRY_COUNT
|
from freqtrade.exchange.common import API_RETRY_COUNT
|
||||||
from freqtrade.util import dt_now, dt_ts, dt_utc
|
from freqtrade.util import dt_now, dt_ts, dt_utc
|
||||||
from tests.conftest import EXMS, get_patched_exchange
|
from tests.conftest import EXMS, get_patched_exchange
|
||||||
@@ -77,6 +77,41 @@ def test_fetch_stoploss_order_bitget_exceptions(default_conf_usdt, mocker):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.usefixtures("init_persistence")
|
||||||
|
def test_cancel_stoploss_order_bitget(default_conf_usdt, mocker):
|
||||||
|
default_conf_usdt["dry_run"] = False
|
||||||
|
api_mock = MagicMock()
|
||||||
|
|
||||||
|
exchange = get_patched_exchange(mocker, default_conf_usdt, api_mock, exchange="bitget")
|
||||||
|
|
||||||
|
# Spot scenario
|
||||||
|
exchange.cancel_order = MagicMock(return_value={"id": "1234"})
|
||||||
|
assert exchange.cancel_stoploss_order("1234", "ETH/USDT", {}) == {"id": "1234"}
|
||||||
|
assert exchange.cancel_order.call_count == 1
|
||||||
|
exchange.cancel_order.assert_called_once_with("1234", "ETH/USDT", {"stop": True})
|
||||||
|
|
||||||
|
# Futures scenario
|
||||||
|
default_conf_usdt["trading_mode"] = TradingMode.FUTURES
|
||||||
|
default_conf_usdt["margin_mode"] = MarginMode.ISOLATED
|
||||||
|
exchange = get_patched_exchange(mocker, default_conf_usdt, api_mock, exchange="bitget")
|
||||||
|
exchange.cancel_order = MagicMock(return_value={"id": "1234"})
|
||||||
|
assert exchange.cancel_stoploss_order("1234", "ETH/USDT:USDT", {}) == {"id": "1234"}
|
||||||
|
assert exchange.cancel_order.call_count == 1
|
||||||
|
exchange.cancel_order.assert_called_once_with(
|
||||||
|
"1234", "ETH/USDT:USDT", {"stop": True, "planType": "pos_loss"}
|
||||||
|
)
|
||||||
|
|
||||||
|
exchange.cancel_order = MagicMock(
|
||||||
|
side_effect=[InvalidOrderException("API error"), {"id": "1234"}]
|
||||||
|
)
|
||||||
|
assert exchange.cancel_stoploss_order("1234", "ETH/USDT:USDT", {}) == {"id": "1234"}
|
||||||
|
assert exchange.cancel_order.call_count == 2
|
||||||
|
exchange.cancel_order.assert_any_call(
|
||||||
|
"1234", "ETH/USDT:USDT", {"stop": True, "planType": "pos_loss"}
|
||||||
|
)
|
||||||
|
exchange.cancel_order.assert_any_call("1234", "ETH/USDT:USDT", {"stop": True})
|
||||||
|
|
||||||
|
|
||||||
def test_bitget_ohlcv_candle_limit(mocker, default_conf_usdt):
|
def test_bitget_ohlcv_candle_limit(mocker, default_conf_usdt):
|
||||||
# This test is also a live test - so we're sure our limits are correct.
|
# This test is also a live test - so we're sure our limits are correct.
|
||||||
api_mock = MagicMock()
|
api_mock = MagicMock()
|
||||||
|
|||||||
Reference in New Issue
Block a user