MCPcopy Create free account
hub / github.com/GraphLite-AI/GraphLite / test_dml_data_driven_cases

Function test_dml_data_driven_cases

graphlite/tests/dml_tests.rs:384–443  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

382
383#[test]
384fn test_dml_data_driven_cases() {
385 let test_suite = TestSuite {
386 name: "DML Operations Test Suite".to_string(),
387 fixture_type: FixtureType::Simple,
388 test_cases: vec![
389 // INSERT tests
390 TestCase {
391 name: "insert_single_node".to_string(),
392 description: "Insert a single node with properties".to_string(),
393 query: "INSERT (test:TestNode {name: 'DML Test', value: 42})".to_string(),
394 expected_rows: Some(1),
395 expected_values: None,
396 expected_error: None,
397 },
398 TestCase {
399 name: "insert_multiple_nodes".to_string(),
400 description: "Insert multiple nodes in one statement".to_string(),
401 query: "INSERT (a:NodeA {id: 1}), (b:NodeB {id: 2})".to_string(),
402 expected_rows: Some(1),
403 expected_values: None,
404 expected_error: None,
405 },
406 // SET tests
407 TestCase {
408 name: "set_property_value".to_string(),
409 description: "Set property values on existing nodes".to_string(),
410 query: "MATCH (n:TestNode) WHERE n.name = 'Node 1' SET n.updated = true, n.timestamp = '2024-01-01'".to_string(),
411 expected_rows: Some(1),
412 expected_values: None,
413 expected_error: None,
414 },
415 // REMOVE tests
416 TestCase {
417 name: "remove_property".to_string(),
418 description: "Remove property from node".to_string(),
419 query: "MATCH (n:TestNode) WHERE n.value = 1 REMOVE n.name".to_string(),
420 expected_rows: Some(1),
421 expected_values: None,
422 expected_error: None,
423 },
424 // DELETE tests
425 TestCase {
426 name: "delete_nodes_conditional".to_string(),
427 description: "Delete nodes based on condition".to_string(),
428 query: "MATCH (n:TestNode) WHERE n.value > 15 DELETE n".to_string(),
429 expected_rows: Some(1),
430 expected_values: None,
431 expected_error: None,
432 },
433 ],
434 };
435
436 let results = test_suite.run().expect("Failed to run DML test suite");
437 results.print_summary();
438
439 assert!(
440 results.passed >= 4,
441 "Should have at least 4 passing DML tests"

Callers

nothing calls this directly

Calls 2

runMethod · 0.80
print_summaryMethod · 0.80

Tested by

no test coverage detected