()
| 1599 | |
| 1600 | #[tokio::test] |
| 1601 | async fn test_agent_context_on_turn_complete() { |
| 1602 | let mock_client = Arc::new(MockLlmClient::new(vec![MockLlmClient::text_response( |
| 1603 | "Final response", |
| 1604 | )])); |
| 1605 | |
| 1606 | let tool_executor = Arc::new(ToolExecutor::new("/tmp".to_string())); |
| 1607 | |
| 1608 | let provider = Arc::new(MockContextProvider::new("memory-provider")); |
| 1609 | let on_turn_calls = provider.on_turn_calls.clone(); |
| 1610 | |
| 1611 | let config = AgentConfig { |
| 1612 | context_providers: vec![provider], |
| 1613 | ..Default::default() |
| 1614 | }; |
| 1615 | |
| 1616 | let agent = AgentLoop::new(mock_client, tool_executor, test_tool_context(), config); |
| 1617 | |
| 1618 | // Execute with session ID |
| 1619 | let result = agent |
| 1620 | .execute_with_session(&[], "verify user prompt", Some("sess-123"), None, None) |
| 1621 | .await |
| 1622 | .unwrap(); |
| 1623 | |
| 1624 | assert_eq!(result.text, "Final response"); |
| 1625 | |
| 1626 | // Check on_turn_complete was called |
| 1627 | let calls = on_turn_calls.read().await; |
| 1628 | assert_eq!(calls.len(), 1); |
| 1629 | assert_eq!(calls[0].0, "sess-123"); |
| 1630 | assert_eq!(calls[0].1, "verify user prompt"); |
| 1631 | assert_eq!(calls[0].2, "Final response"); |
| 1632 | } |
| 1633 | |
| 1634 | #[tokio::test] |
| 1635 | async fn test_agent_context_on_turn_complete_no_session() { |
nothing calls this directly
no test coverage detected