File size: 1,027 Bytes
eeff6a0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import Session

from app.core.database import Base
from app.models.department import Department
from app.services.routing_service import match_department


@pytest.mark.parametrize("include_finance", [False, True])
def test_unmatched_query_without_admin_stays_unassigned(include_finance):
    engine = create_engine("sqlite+pysqlite:///:memory:")
    try:
        Base.metadata.create_all(engine)
        with Session(engine) as db:
            if include_finance:
                db.add(Department(
                    name="Finance",
                    code="FIN",
                    keywords="tuition, fee, refund",
                    query="Sir i want refund my fee",
                ))
                db.commit()

            result = match_department(
                db,
                "I have updated the syllabus. Please review the course outline.",
            )

            assert result == (None, 0)
    finally:
        engine.dispose()