Spaces:
Sleeping
Sleeping
| from support_triage_openenv.env import SupportTriageEnv | |
| from support_triage_openenv.models import Action | |
| def test_reset_and_state_cycle(): | |
| env = SupportTriageEnv() | |
| obs = env.reset("easy_password_reset") | |
| assert obs.task_id == "easy_password_reset" | |
| assert obs.step_count == 0 | |
| state = env.state() | |
| assert state["done"] is False | |
| def test_easy_task_can_reach_high_score(): | |
| env = SupportTriageEnv() | |
| env.reset("easy_password_reset") | |
| env.step(Action(action_type="read_ticket", ticket_id="T-1001")) | |
| env.step( | |
| Action( | |
| action_type="classify_ticket", | |
| ticket_id="T-1001", | |
| priority="medium", | |
| category="account", | |
| needs_escalation=False, | |
| ) | |
| ) | |
| env.step( | |
| Action( | |
| action_type="draft_reply", | |
| message=( | |
| "We will send a reset link to your email. For security, please confirm the request " | |
| "from your device after receiving the reset link." | |
| ), | |
| ) | |
| ) | |
| _, reward, done, info = env.step(Action(action_type="resolve_ticket", ticket_id="T-1001")) | |
| assert done is True | |
| assert info["grader_score"] >= 0.9 | |
| assert reward.value >= 0.9 | |
| def test_invalid_ticket_penalty_and_done_guard(): | |
| env = SupportTriageEnv() | |
| env.reset("medium_billing_dispute") | |
| _, reward, _, info = env.step(Action(action_type="read_ticket", ticket_id="NOT-REAL")) | |
| assert reward.value < 0.5 | |
| assert info["penalties"] | |