feat: enhance orders_emulate to include canceled orders
This commit is contained in:
@@ -1896,6 +1896,9 @@ class Exchange:
|
|||||||
orders = []
|
orders = []
|
||||||
if self.exchange_has("fetchClosedOrders"):
|
if self.exchange_has("fetchClosedOrders"):
|
||||||
orders = self._api.fetch_closed_orders(pair, since=since_ms)
|
orders = self._api.fetch_closed_orders(pair, since=since_ms)
|
||||||
|
if self.exchange_has("fetchCanceledOrders"):
|
||||||
|
orders_canceled = self._api.fetch_canceled_orders(pair, since=since_ms)
|
||||||
|
orders.extend(orders_canceled)
|
||||||
if self.exchange_has("fetchOpenOrders"):
|
if self.exchange_has("fetchOpenOrders"):
|
||||||
orders_open = self._api.fetch_open_orders(pair, since=since_ms)
|
orders_open = self._api.fetch_open_orders(pair, since=since_ms)
|
||||||
orders.extend(orders_open)
|
orders.extend(orders_open)
|
||||||
|
|||||||
@@ -1968,6 +1968,7 @@ def test_fetch_orders(default_conf, mocker, exchange_name, limit_order):
|
|||||||
|
|
||||||
api_mock.fetch_orders = MagicMock(side_effect=return_value)
|
api_mock.fetch_orders = MagicMock(side_effect=return_value)
|
||||||
api_mock.fetch_open_orders = MagicMock(return_value=[limit_order["buy"]])
|
api_mock.fetch_open_orders = MagicMock(return_value=[limit_order["buy"]])
|
||||||
|
api_mock.fetch_canceled_orders = MagicMock(return_value=[])
|
||||||
api_mock.fetch_closed_orders = MagicMock(return_value=[limit_order["buy"]])
|
api_mock.fetch_closed_orders = MagicMock(return_value=[limit_order["buy"]])
|
||||||
|
|
||||||
mocker.patch(f"{EXMS}.exchange_has", return_value=True)
|
mocker.patch(f"{EXMS}.exchange_has", return_value=True)
|
||||||
@@ -2000,6 +2001,8 @@ def test_fetch_orders(default_conf, mocker, exchange_name, limit_order):
|
|||||||
return True
|
return True
|
||||||
if endpoint == "fetchOpenOrders":
|
if endpoint == "fetchOpenOrders":
|
||||||
return True
|
return True
|
||||||
|
if endpoint == "fetchCanceledOrders":
|
||||||
|
return True
|
||||||
|
|
||||||
if exchange_name == "okx":
|
if exchange_name == "okx":
|
||||||
# Special OKX case is tested separately
|
# Special OKX case is tested separately
|
||||||
@@ -2012,6 +2015,7 @@ def test_fetch_orders(default_conf, mocker, exchange_name, limit_order):
|
|||||||
assert api_mock.fetch_orders.call_count == 0
|
assert api_mock.fetch_orders.call_count == 0
|
||||||
assert api_mock.fetch_open_orders.call_count == expected
|
assert api_mock.fetch_open_orders.call_count == expected
|
||||||
assert api_mock.fetch_closed_orders.call_count == expected
|
assert api_mock.fetch_closed_orders.call_count == expected
|
||||||
|
assert api_mock.fetch_canceled_orders.call_count == expected
|
||||||
|
|
||||||
mocker.patch(f"{EXMS}.exchange_has", return_value=True)
|
mocker.patch(f"{EXMS}.exchange_has", return_value=True)
|
||||||
|
|
||||||
@@ -2031,12 +2035,14 @@ def test_fetch_orders(default_conf, mocker, exchange_name, limit_order):
|
|||||||
api_mock.fetch_orders = MagicMock(side_effect=ccxt.NotSupported())
|
api_mock.fetch_orders = MagicMock(side_effect=ccxt.NotSupported())
|
||||||
api_mock.fetch_open_orders.reset_mock()
|
api_mock.fetch_open_orders.reset_mock()
|
||||||
api_mock.fetch_closed_orders.reset_mock()
|
api_mock.fetch_closed_orders.reset_mock()
|
||||||
|
api_mock.fetch_canceled_orders.reset_mock()
|
||||||
|
|
||||||
exchange.fetch_orders("mocked", start_time)
|
exchange.fetch_orders("mocked", start_time)
|
||||||
|
|
||||||
assert api_mock.fetch_orders.call_count == expected
|
assert api_mock.fetch_orders.call_count == expected
|
||||||
assert api_mock.fetch_open_orders.call_count == expected
|
assert api_mock.fetch_open_orders.call_count == expected
|
||||||
assert api_mock.fetch_closed_orders.call_count == expected
|
assert api_mock.fetch_closed_orders.call_count == expected
|
||||||
|
assert api_mock.fetch_canceled_orders.call_count == expected
|
||||||
|
|
||||||
|
|
||||||
def test_fetch_trading_fees(default_conf, mocker):
|
def test_fetch_trading_fees(default_conf, mocker):
|
||||||
|
|||||||
Reference in New Issue
Block a user