[2ff88f42] multiplikation vorbereitet
multiplikation vorbereitet
This commit is contained in:
47
company-explorer/backend/scripts/test_mapping_logic.py
Normal file
47
company-explorer/backend/scripts/test_mapping_logic.py
Normal file
@@ -0,0 +1,47 @@
|
||||
|
||||
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)
|
||||
Reference in New Issue
Block a user