Fix router test to match intentional job creation patterns

The test expected "Can you create a website for me?" to route as CreateJob,
but the extract_intent logic intentionally requires explicit job creation
patterns (containing both "create" and "job") to avoid capturing general
conversation as job requests.

Updated test to verify:
- "create job: ..." routes to CreateJob
- Messages with both "create" and "job" route to CreateJob
- General requests without explicit "job" fall through to Chat

Co-Authored-By: Claude Opus 4.5 <[email protected]>
This commit is contained in:
Illia Polosukhin
2026-02-04 22:09:52 -08:00
co-authored by Claude Opus 4.5
parent a39f5aa1a4
commit 27ffc12f6c
+16 -2
View File
@@ -239,10 +239,24 @@ mod tests {
fn test_natural_language_routing() { fn test_natural_language_routing() {
let router = Router::new(); let router = Router::new();
let msg = IncomingMessage::new("test", "user", "Can you create a website for me?"); // Explicit job creation with "create job" phrase
let msg = IncomingMessage::new("test", "user", "create job: build a website for me");
let intent = router.route(&msg); let intent = router.route(&msg);
assert!(matches!(intent, MessageIntent::CreateJob { .. })); assert!(matches!(intent, MessageIntent::CreateJob { .. }));
// Also matches when both "create" and "job" are present
let msg2 = IncomingMessage::new(
"test",
"user",
"I need to create a new job to build a website",
);
let intent2 = router.route(&msg2);
assert!(matches!(intent2, MessageIntent::CreateJob { .. }));
// General requests without explicit "job" fall through to Chat
let msg3 = IncomingMessage::new("test", "user", "Can you create a website for me?");
let intent3 = router.route(&msg3);
assert!(matches!(intent3, MessageIntent::Chat { .. }));
} }
#[test] #[test]