feature: add MIEM employees parser service with admin UI and MCP
This commit is contained in:
34
tests/test_crawler.py
Normal file
34
tests/test_crawler.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from datetime import datetime, timezone
|
||||
|
||||
from app.models import Employee
|
||||
from app.services.crawler import _mark_dismissed
|
||||
|
||||
|
||||
def test_mark_dismissed_only_marks_missing_active_employees(db_session):
|
||||
db_session.add(
|
||||
Employee(
|
||||
profile_key="staff:kept",
|
||||
canonical_url="https://www.hse.ru/staff/kept",
|
||||
status="active",
|
||||
first_seen_at=datetime.now(timezone.utc),
|
||||
last_seen_at=datetime.now(timezone.utc),
|
||||
)
|
||||
)
|
||||
db_session.add(
|
||||
Employee(
|
||||
profile_key="staff:gone",
|
||||
canonical_url="https://www.hse.ru/staff/gone",
|
||||
status="active",
|
||||
first_seen_at=datetime.now(timezone.utc),
|
||||
last_seen_at=datetime.now(timezone.utc),
|
||||
)
|
||||
)
|
||||
db_session.commit()
|
||||
|
||||
dismissed = _mark_dismissed(db_session, {"staff:kept"})
|
||||
|
||||
assert dismissed == 1
|
||||
assert db_session.query(Employee).filter_by(profile_key="staff:kept").one().status == "active"
|
||||
gone = db_session.query(Employee).filter_by(profile_key="staff:gone").one()
|
||||
assert gone.status == "dismissed"
|
||||
assert gone.dismissed_at is not None
|
||||
Reference in New Issue
Block a user