#[path = "testutils/mod.rs"]
mod testutils;
use testutils::test_fixture::TestFixture;
#[test]
fn test_unknown_gql_procedure_error() {
let fixture = TestFixture::new().expect("Should create test fixture");
let result = fixture.query("CALL gql.nonexistent_procedure();");
assert!(result.is_err(), "Should fail for non-existent procedure");
let err = result.unwrap_err();
assert!(
err.contains("procedure not found") || err.contains("not supported"),
"Error should mention procedure not found, got: {}",
err
);
assert!(
!err.contains("No graph context"),
"Should not get graph context error for unknown procedure, got: {}",
err
);
assert!(
err.contains("Available system procedures"),
"Error should say 'Available system procedures', got: {}",
err
);
}
#[test]
fn test_list_available_procedures_in_error() {
let fixture = TestFixture::new().expect("Should create test fixture");
let result = fixture.query("CALL gql.bad_procedure_name();");
assert!(result.is_err(), "Should fail for non-existent procedure");
let err = result.unwrap_err();
assert!(
err.contains("list_schemas") || err.contains("list_graphs"),
"Error should list available procedures to help user, got: {}",
err
);
}