Files
g3/crates/g3-computer-control/tests/integration_test.rs
Dhanji R. Prasanna 26e26cf367 test fixes
2025-11-05 14:11:59 +11:00

32 lines
1.2 KiB
Rust

use g3_computer_control::*;
#[tokio::test]
async fn test_screenshot() {
let controller = create_controller().expect("Failed to create controller");
// Test that screenshot without window_id fails with appropriate error
let path = "/tmp/test_screenshot.png";
let result = controller.take_screenshot(path, None, None).await;
assert!(result.is_err(), "Expected error when window_id is not provided");
let error_msg = result.unwrap_err().to_string();
assert!(error_msg.contains("window_id is required"),
"Expected error message about window_id being required, got: {}", error_msg);
}
#[tokio::test]
async fn test_screenshot_with_window() {
let controller = create_controller().expect("Failed to create controller");
// Take screenshot of Finder (should always be available on macOS)
let path = "/tmp/test_screenshot_finder.png";
let result = controller.take_screenshot(path, None, Some("Finder")).await;
// This test may fail if Finder is not running, so we just check it doesn't panic
// and returns a proper Result
let _ = result; // Don't assert success since Finder might not be visible
// Clean up
let _ = std::fs::remove_file(path);
}