use cupido::collector::config::Collect;
use cupido::collector::config::{get_collector, Config};
#[test]
fn graph_query() {
let collector = get_collector();
let graph = collector.walk(Config::default());
let file_name = String::from("src/server/app.rs");
let issues_result = graph.file_related_issues(&file_name);
assert!(
issues_result.is_ok(),
"File-related issues query should succeed"
);
let issues = issues_result.unwrap_or_default();
assert!(
!issues.is_empty(),
"File should be related to at least one issue"
);
let issue_name = &issues[0];
let files_result = graph.issue_related_files(issue_name);
assert!(
files_result.is_ok(),
"Issue-related files query should succeed"
);
let files = files_result.unwrap_or_default();
assert!(
!files.is_empty(),
"Issue should be related to at least one file"
);
println!("File: {}", file_name);
println!("File-related issues: {:?}", issues);
println!("Issue: {}", issue_name);
println!("Issue-related files: {:?}", files);
}
#[test]
fn graph_export() {
let mut config = Config::default();
config.repo_path = ".".parse().unwrap();
let collector = get_collector();
let graph = collector.walk(config);
graph.export_dot("a.dot");
}