feat: personalize scoring and add skills radar

This commit is contained in:
Jens
2026-07-22 19:33:29 +02:00
parent 029df89265
commit a30ecbc553
33 changed files with 1529 additions and 114 deletions
+36 -1
View File
@@ -1,4 +1,11 @@
from apps.jobs.services.relevance import assess_it_relevance, profile_requires_it_focus
import pytest
from apps.jobs.models import JobPosting
from apps.jobs.services.relevance import (
assess_it_relevance,
it_relevance_query,
profile_requires_it_focus,
)
def test_title_led_it_relevance_accepts_clear_it_roles():
@@ -30,6 +37,34 @@ def test_title_led_it_relevance_rejects_non_it_and_ambiguous_roles():
assert assessment.reason
def test_ambiguous_field_role_requires_strong_it_context():
accepted = assess_it_relevance(
"Field Service Engineer",
"Installatie van Microsoft 365, Windows Server en netwerkswitches bij klanten.",
)
rejected = assess_it_relevance(
"Field Service Engineer",
"Onderhoud en herstelling van industriële HVAC- en koelinstallaties.",
)
assert accepted.relevant
assert "vacaturetekst" in accepted.reason
assert not rejected.relevant
assert "Ambigue technische functietitel" in rejected.reason
@pytest.mark.django_db
def test_database_it_query_matches_contextual_assessment(job):
job.original_title = "Field Service Engineer"
job.description_text = "Implementeer Intune, Windows Server en VPN-oplossingen bij klanten."
job.save(update_fields=["original_title", "description_text"])
assert JobPosting.objects.filter(it_relevance_query(), pk=job.pk).exists()
job.description_text = "Onderhoud industriële pompen en productielijnen."
job.save(update_fields=["description_text"])
assert not JobPosting.objects.filter(it_relevance_query(), pk=job.pk).exists()
def test_active_it_profile_requires_deterministic_it_focus(profile):
assert profile_requires_it_focus(profile)