use std::path::Path;
use serde::Serialize;
use crate::Engine;
pub fn assert_render<T, P>(fixture_path: P, engine: &mut Engine, template_name: &str, view: &T)
where
T: Serialize,
P: AsRef<Path>,
{
let path = fixture_path.as_ref();
let expected = std::fs::read_to_string(path)
.unwrap_or_else(|e| panic!("read golden fixture {}: {e}", path.display()));
let actual = engine
.render(template_name, view)
.unwrap_or_else(|e| panic!("render template `{template_name}`: {e}"));
pretty_assertions::assert_eq!(expected, actual, "golden mismatch at {}", path.display());
}