This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
from apps.jobs.services.relevance import assess_it_relevance, profile_requires_it_focus
|
||||
|
||||
|
||||
def test_title_led_it_relevance_accepts_clear_it_roles():
|
||||
for title in (
|
||||
"Modern Workplace Engineer",
|
||||
"Product owner ICT (100%)",
|
||||
"Functioneel Analist",
|
||||
"Senior .Net Developer",
|
||||
"Senior Mobile Developer",
|
||||
"Deeltijds docent informatica, networking & security",
|
||||
):
|
||||
assessment = assess_it_relevance(title)
|
||||
assert assessment.relevant, title
|
||||
assert assessment.signals
|
||||
|
||||
|
||||
def test_title_led_it_relevance_rejects_non_it_and_ambiguous_roles():
|
||||
for title in (
|
||||
"Technieker Facilitaire Diensten",
|
||||
"Spontane sollicitatie - logopedist",
|
||||
"Doctoraatsbursaal trombo-inflammatie bij hemodialyse",
|
||||
"Stafmedewerker Onderwijs faculteit Rechten",
|
||||
"Project Manager",
|
||||
"Business Developer",
|
||||
"IT Recruitment Specialist",
|
||||
):
|
||||
assessment = assess_it_relevance(title)
|
||||
assert not assessment.relevant, title
|
||||
assert assessment.reason
|
||||
|
||||
|
||||
def test_active_it_profile_requires_deterministic_it_focus(profile):
|
||||
assert profile_requires_it_focus(profile)
|
||||
|
||||
profile.name = "Algemeen profiel"
|
||||
profile.desired_titles = ["verpleegkundige"]
|
||||
profile.desired_skills = []
|
||||
assert not profile_requires_it_focus(profile)
|
||||
@@ -63,6 +63,18 @@ def test_hard_title_exclusion_wins(matching_job, profile):
|
||||
assert any("sales" in reason.lower() for reason in result.hard_exclusions)
|
||||
|
||||
|
||||
def test_non_it_vacancy_is_hidden_for_it_profile(matching_job, profile):
|
||||
matching_job.original_title = "Spontane sollicitatie - logopedist"
|
||||
matching_job.normalized_title = "spontane sollicitatie logopedist"
|
||||
matching_job.description_text = "Werk met het digitale patiëntendossier in ons ziekenhuis."
|
||||
|
||||
result = calculate_score(matching_job, profile)
|
||||
|
||||
assert result.recommendation == ScoreRun.Recommendation.HIDDEN
|
||||
assert any("Geen aantoonbaar IT-signaal" in reason for reason in result.hard_exclusions)
|
||||
assert result.evidence["it_relevance"]["relevant"] is False
|
||||
|
||||
|
||||
def test_distance_boundary_inclusief(matching_job, profile, monkeypatch):
|
||||
profile.max_distance_km = 50
|
||||
profile.save(update_fields=["max_distance_km"])
|
||||
|
||||
Reference in New Issue
Block a user