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()); }