fix: use local calendar dates in demo seed
Managed validation / full (pull_request) Successful in 3m2s

This commit is contained in:
NuklearRabbit
2026-09-03 01:11:07 +02:00
parent c855253072
commit 7c4652ac49
2 changed files with 14 additions and 6 deletions
+11 -4
View File
@@ -145,15 +145,22 @@ def test_demo_login_logs_in_and_seeds_environment(client):
assert "minstens één import actief" in sources.content.decode("utf-8")
def test_demo_login_is_idempotent(client):
from datetime import timedelta
def test_demo_login_is_idempotent(client, monkeypatch):
from datetime import UTC, datetime, timedelta
from django.utils import timezone
from apps.jobs.models import Application, JobPosting
from apps.jobs.services import demo_seed
from apps.profiles.models import SearchProfile
from apps.sources.models import MailboxConnection, Source
# 22:30 UTC is already the following calendar day in Europe/Brussels.
# Freezing this boundary prevents UTC `.date()` calls from creeping back in.
near_local_midnight = datetime(2026, 9, 2, 22, 30, tzinfo=UTC)
monkeypatch.setattr(demo_seed.timezone, "now", lambda: near_local_midnight)
expected_local_day = timezone.localdate(near_local_midnight)
client.post(reverse("demo-login"))
first = JobPosting.objects.count()
demo_user = get_user_model().objects.get(username=settings.DEMO_USERNAME)
@@ -172,8 +179,8 @@ def test_demo_login_is_idempotent(client):
job.refresh_from_db()
application.refresh_from_db()
assert job.status == JobPosting.Status.ACTIVE
assert job.last_seen.date() == timezone.localdate()
assert application.follow_up_date > timezone.localdate()
assert timezone.localdate(job.last_seen) == expected_local_day
assert application.follow_up_date > expected_local_day
assert profile.scores.count() == 6
assert MailboxConnection.objects.filter(user=demo_user, enabled=True).count() == 9
assert Source.objects.filter(source_type=Source.Type.EMAIL, failure_count=0).count() >= 9