#![allow(
clippy::unwrap_used,
clippy::expect_used,
reason = "test code — panics are acceptable failures"
)]
use cognee_graph::GraphDBTrait;
use cognee_graph::MockGraphDB;
use cognee_visualization::render;
#[tokio::test]
async fn rendered_html_uses_entity_color_for_entity_nodes() {
let db = MockGraphDB::new();
db.add_node_raw(serde_json::json!({
"id": "n1",
"type": "Entity",
"name": "Alice",
}))
.await
.expect("MockGraphDB accepts valid node JSON");
let html = render(&db).await.expect("render succeeds");
assert!(html.contains("\"color\":\"#6510F4\""));
}
#[tokio::test]
async fn rendered_html_uses_ontology_override() {
let db = MockGraphDB::new();
db.add_node_raw(serde_json::json!({
"id": "n2",
"type": "Entity",
"ontology_valid": true,
}))
.await
.expect("MockGraphDB accepts valid node JSON");
let html = render(&db).await.expect("render succeeds");
assert!(html.contains("\"color\":\"#D8D8D8\""));
assert!(!html.contains("\"color\":\"#6510F4\""));
}
#[tokio::test]
async fn rendered_html_contains_provenance_color_maps_block() {
let db = MockGraphDB::new();
let html = render(&db).await.expect("render succeeds");
for placeholder in [
"__TASK_COLORS__",
"__PIPELINE_COLORS__",
"__NODESET_COLORS__",
"__USER_COLORS__",
] {
assert!(
!html.contains(placeholder),
"placeholder {placeholder} still present"
);
}
assert!(html.contains("{}"));
}