Improve test correctness
This commit is contained in:
@@ -600,7 +600,9 @@ def test_calc_open_close_trade_price(
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("init_persistence")
|
@pytest.mark.usefixtures("init_persistence")
|
||||||
def test_trade_close(fee):
|
def test_trade_close(fee, time_machine):
|
||||||
|
time_machine.move_to("2022-09-01 05:00:00 +00:00", tick=False)
|
||||||
|
|
||||||
trade = Trade(
|
trade = Trade(
|
||||||
pair='ADA/USDT',
|
pair='ADA/USDT',
|
||||||
stake_amount=60.0,
|
stake_amount=60.0,
|
||||||
@@ -609,7 +611,7 @@ def test_trade_close(fee):
|
|||||||
is_open=True,
|
is_open=True,
|
||||||
fee_open=fee.return_value,
|
fee_open=fee.return_value,
|
||||||
fee_close=fee.return_value,
|
fee_close=fee.return_value,
|
||||||
open_date=datetime.now(tz=timezone.utc) - timedelta(minutes=10),
|
open_date=dt_now() - timedelta(minutes=10),
|
||||||
interest_rate=0.0005,
|
interest_rate=0.0005,
|
||||||
exchange='binance',
|
exchange='binance',
|
||||||
trading_mode=margin,
|
trading_mode=margin,
|
||||||
@@ -628,6 +630,7 @@ def test_trade_close(fee):
|
|||||||
status="closed",
|
status="closed",
|
||||||
order_type="limit",
|
order_type="limit",
|
||||||
side=trade.entry_side,
|
side=trade.entry_side,
|
||||||
|
order_filled_date=trade.open_date,
|
||||||
))
|
))
|
||||||
trade.orders.append(Order(
|
trade.orders.append(Order(
|
||||||
ft_order_side=trade.exit_side,
|
ft_order_side=trade.exit_side,
|
||||||
@@ -642,6 +645,7 @@ def test_trade_close(fee):
|
|||||||
status="closed",
|
status="closed",
|
||||||
order_type="limit",
|
order_type="limit",
|
||||||
side=trade.exit_side,
|
side=trade.exit_side,
|
||||||
|
order_filled_date=dt_now(),
|
||||||
))
|
))
|
||||||
assert trade.close_profit is None
|
assert trade.close_profit is None
|
||||||
assert trade.close_date is None
|
assert trade.close_date is None
|
||||||
@@ -650,14 +654,15 @@ def test_trade_close(fee):
|
|||||||
assert trade.is_open is False
|
assert trade.is_open is False
|
||||||
assert pytest.approx(trade.close_profit) == 0.094513715
|
assert pytest.approx(trade.close_profit) == 0.094513715
|
||||||
assert trade.close_date is not None
|
assert trade.close_date is not None
|
||||||
|
assert trade.close_date_utc == dt_now()
|
||||||
|
|
||||||
new_date = datetime(2020, 2, 2, 15, 6, 1),
|
new_date = dt_now() + timedelta(minutes=5)
|
||||||
assert trade.close_date != new_date
|
assert trade.close_date_utc != new_date
|
||||||
# Close should NOT update close_date if the trade has been closed already
|
# Close should NOT update close_date if the trade has been closed already
|
||||||
assert trade.is_open is False
|
assert trade.is_open is False
|
||||||
trade.close_date = new_date
|
trade.close_date = new_date
|
||||||
trade.close(2.2)
|
trade.close(2.2)
|
||||||
assert trade.close_date == new_date
|
assert trade.close_date_utc == new_date
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("init_persistence")
|
@pytest.mark.usefixtures("init_persistence")
|
||||||
|
|||||||
Reference in New Issue
Block a user