diff --git a/tests/persistence/test_persistence.py b/tests/persistence/test_persistence.py index 0f0057d1e..ccb71b781 100644 --- a/tests/persistence/test_persistence.py +++ b/tests/persistence/test_persistence.py @@ -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")