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
+3 -2
View File
@@ -152,6 +152,7 @@ def seed_demo_environment(user) -> None:
profile.save(update_fields=["is_active"]) profile.save(update_fields=["is_active"])
now = timezone.now() now = timezone.now()
today = timezone.localdate(now)
workplace_map = { workplace_map = {
"hybrid": JobPosting.Workplace.HYBRID, "hybrid": JobPosting.Workplace.HYBRID,
"remote": JobPosting.Workplace.REMOTE, "remote": JobPosting.Workplace.REMOTE,
@@ -254,7 +255,7 @@ def seed_demo_environment(user) -> None:
defaults={ defaults={
"status": Application.Status.INTERVIEW, "status": Application.Status.INTERVIEW,
"applied_at": now - timedelta(days=6), "applied_at": now - timedelta(days=6),
"follow_up_date": (now + timedelta(days=2)).date(), "follow_up_date": today + timedelta(days=2),
"contact_name": "Sofie Vandael", "contact_name": "Sofie Vandael",
"contact_email": "sofie.vandael@cloudnexus.example", "contact_email": "sofie.vandael@cloudnexus.example",
"notes": "Eerste gesprek gepland. Demo-data.", "notes": "Eerste gesprek gepland. Demo-data.",
@@ -267,7 +268,7 @@ def seed_demo_environment(user) -> None:
defaults={ defaults={
"status": Application.Status.APPLIED, "status": Application.Status.APPLIED,
"applied_at": now - timedelta(days=2), "applied_at": now - timedelta(days=2),
"follow_up_date": (now + timedelta(days=5)).date(), "follow_up_date": today + timedelta(days=5),
"notes": "Sollicitatie verstuurd. Demo-data.", "notes": "Sollicitatie verstuurd. Demo-data.",
}, },
) )
+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") assert "minstens één import actief" in sources.content.decode("utf-8")
def test_demo_login_is_idempotent(client): def test_demo_login_is_idempotent(client, monkeypatch):
from datetime import timedelta from datetime import UTC, datetime, timedelta
from django.utils import timezone from django.utils import timezone
from apps.jobs.models import Application, JobPosting from apps.jobs.models import Application, JobPosting
from apps.jobs.services import demo_seed
from apps.profiles.models import SearchProfile from apps.profiles.models import SearchProfile
from apps.sources.models import MailboxConnection, Source 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")) client.post(reverse("demo-login"))
first = JobPosting.objects.count() first = JobPosting.objects.count()
demo_user = get_user_model().objects.get(username=settings.DEMO_USERNAME) 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() job.refresh_from_db()
application.refresh_from_db() application.refresh_from_db()
assert job.status == JobPosting.Status.ACTIVE assert job.status == JobPosting.Status.ACTIVE
assert job.last_seen.date() == timezone.localdate() assert timezone.localdate(job.last_seen) == expected_local_day
assert application.follow_up_date > timezone.localdate() assert application.follow_up_date > expected_local_day
assert profile.scores.count() == 6 assert profile.scores.count() == 6
assert MailboxConnection.objects.filter(user=demo_user, enabled=True).count() == 9 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 assert Source.objects.filter(source_type=Source.Type.EMAIL, failure_count=0).count() >= 9