Files
Brancheneinstufung2/company-explorer/backend/scripts/test_mapping_logic.py
Floke a54d8b9c4e [2ff88f42] multiplikation vorbereitet
multiplikation vorbereitet
2026-02-19 20:59:04 +00:00

48 lines
1.3 KiB
Python

import sys
import os
# Setup Environment
sys.path.append(os.path.join(os.path.dirname(__file__), "../../"))
from backend.database import SessionLocal, JobRoleMapping, Persona
def test_mapping(job_title):
db = SessionLocal()
print(f"\n--- Testing Mapping for '{job_title}' ---")
# 1. Find Role Name via JobRoleMapping
role_name = None
mappings = db.query(JobRoleMapping).all()
for m in mappings:
pattern_clean = m.pattern.replace("%", "").lower()
if pattern_clean in job_title.lower():
role_name = m.role
print(f" -> Matched Pattern: '{m.pattern}' => Role: '{role_name}'")
break
if not role_name:
print(" -> No Pattern Matched.")
return
# 2. Find Persona via Role Name
persona = db.query(Persona).filter(Persona.name == role_name).first()
if persona:
print(f" -> Found Persona ID: {persona.id} (Name: {persona.name})")
else:
print(f" -> ERROR: Persona '{role_name}' not found in DB!")
db.close()
if __name__ == "__main__":
test_titles = [
"Leiter Hauswirtschaft",
"CTO",
"Geschäftsführer",
"Head of Marketing",
"Einkaufsleiter"
]
for t in test_titles:
test_mapping(t)