Export schedule: Fix computation of start time on same day

This commit is contained in:
Raphael Michel
2023-01-19 14:34:15 +01:00
parent 4d75438a11
commit 8b74f791f4
4 changed files with 19 additions and 4 deletions

View File

@@ -42,6 +42,7 @@ def event():
date_from=datetime(2023, 1, 19, 2, 30, 0, tzinfo=pytz.UTC),
plugins='pretix.plugins.banktransfer'
)
o.settings.timezone = "Europe/Berlin"
with scope(organizer=o):
yield event
@@ -191,7 +192,7 @@ def test_event_ok(event, user, team):
@pytest.mark.django_db
@freeze_time("2023-01-18 03:00:00+01:00")
def test_organizer_run_sets_new_time(event, user):
s = ScheduledOrganizerExport(organizer=event.organizer, owner=user)
s = ScheduledOrganizerExport(organizer=event.organizer, owner=user, timezone="Europe/Berlin")
s.schedule_rrule = "DTSTART:20230118T000000\nRRULE:FREQ=DAILY;INTERVAL=1;WKST=MO"
s.schedule_rrule_time = time(2, 30, 0)
s.schedule_next_run = now() - timedelta(minutes=5)

View File

@@ -2791,6 +2791,14 @@ class ScheduledExportTestCase(TestCase):
s.compute_next_run()
assert s.schedule_next_run == self.event.timezone.localize(datetime.datetime(2023, 1, 19, 6, 30, 0))
with freeze_time("2023-01-19 06:28:00+01:00"):
s.compute_next_run()
assert s.schedule_next_run == self.event.timezone.localize(datetime.datetime(2023, 1, 19, 6, 30, 0))
with freeze_time("2023-01-19 06:30:00+01:00"):
s.compute_next_run()
assert s.schedule_next_run == self.event.timezone.localize(datetime.datetime(2023, 1, 24, 6, 30, 0))
with freeze_time("2024-01-18 15:08:00+01:00"):
s.compute_next_run()
assert s.schedule_next_run is None