Some checks failed
CI / Check / Test (push) Failing after 1m24s
Hex arch + DDD, tree-sitter parsing, Mermaid/ASCII output. Supports Rust + Python. 92 tests. CI, diff, --check for staleness detection.
36 lines
1.0 KiB
Rust
36 lines
1.0 KiB
Rust
use std::fs;
|
|
|
|
use archlens_domain::{RenderOutput, RenderedFile, ports::OutputWriter};
|
|
use archlens_file_writer::FileOutputWriter;
|
|
|
|
#[test]
|
|
fn writes_single_file_to_directory() {
|
|
let dir = tempfile::tempdir().unwrap();
|
|
let writer = FileOutputWriter::new(dir.path().to_path_buf());
|
|
|
|
let file = RenderedFile::new("arch.mmd", "classDiagram").unwrap();
|
|
let output = RenderOutput::single(file);
|
|
|
|
writer.write(&output).unwrap();
|
|
|
|
let content = fs::read_to_string(dir.path().join("arch.mmd")).unwrap();
|
|
assert_eq!(content, "classDiagram");
|
|
}
|
|
|
|
#[test]
|
|
fn writes_multiple_files_to_directory() {
|
|
let dir = tempfile::tempdir().unwrap();
|
|
let writer = FileOutputWriter::new(dir.path().to_path_buf());
|
|
|
|
let files = vec![
|
|
RenderedFile::new("overview.mmd", "graph TD").unwrap(),
|
|
RenderedFile::new("orders.mmd", "classDiagram").unwrap(),
|
|
];
|
|
let output = RenderOutput::new(files);
|
|
|
|
writer.write(&output).unwrap();
|
|
|
|
assert!(dir.path().join("overview.mmd").exists());
|
|
assert!(dir.path().join("orders.mmd").exists());
|
|
}
|