Improve test correctness

This commit is contained in:
Matthias
2023-09-12 07:01:05 +02:00
parent af1054fa70
commit a866b0a35e

View File

@@ -600,7 +600,9 @@ def test_calc_open_close_trade_price(
@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(
pair='ADA/USDT',
stake_amount=60.0,
@@ -609,7 +611,7 @@ def test_trade_close(fee):
is_open=True,
fee_open=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,
exchange='binance',
trading_mode=margin,
@@ -628,6 +630,7 @@ def test_trade_close(fee):
status="closed",
order_type="limit",
side=trade.entry_side,
order_filled_date=trade.open_date,
))
trade.orders.append(Order(
ft_order_side=trade.exit_side,
@@ -642,6 +645,7 @@ def test_trade_close(fee):
status="closed",
order_type="limit",
side=trade.exit_side,
order_filled_date=dt_now(),
))
assert trade.close_profit is None
assert trade.close_date is None
@@ -650,14 +654,15 @@ def test_trade_close(fee):
assert trade.is_open is False
assert pytest.approx(trade.close_profit) == 0.094513715
assert trade.close_date is not None
assert trade.close_date_utc == dt_now()
new_date = datetime(2020, 2, 2, 15, 6, 1),
assert trade.close_date != new_date
new_date = dt_now() + timedelta(minutes=5)
assert trade.close_date_utc != new_date
# Close should NOT update close_date if the trade has been closed already
assert trade.is_open is False
trade.close_date = new_date
trade.close(2.2)
assert trade.close_date == new_date
assert trade.close_date_utc == new_date
@pytest.mark.usefixtures("init_persistence")