tests: add some basic tests for rendering outputs

This commit is contained in:
Stevan Freeborn committed 2026-09-04 17:02:53 -05:00
1 parent 791e3a6c6d
commit fb0bbae1f0
3 files changed
+118 -1

No files matched your search

+46
View File
@@ -31,3 +31,49 @@ pub fn render_error(err: &CliError, pretty: bool) -> CliResult<String> {
render_json(&envelope, pretty)
}
#[cfg(test)]
mod tests {
use super::*;
use serde_json::json;
#[test]
fn render_json_when_called_without_pretty_it_should_print_value() {
let data = json!({
"name": "Stevan",
});
let result = render_json(&data, false);
let expected = Ok(String::from(r#"{"name":"Stevan"}"#));
assert_eq!(result, expected);
}
#[test]
fn render_json_when_called_with_pretty_it_should_pretty_print_value() {
let data = json!({
"name": "Stevan",
});
let result = render_json(&data, true);
let expected = Ok(String::from("{\n \"name\": \"Stevan\"\n}"));
assert_eq!(result, expected);
}
#[test]
fn render_error_when_called_with_error_it_should_render_properly() {
let error = CliError {
code: 1,
message: String::from("This is a test"),
};
let result = render_error(&error, false);
let expected = Ok(String::from(
r#"{"error":{"code":1,"message":"This is a test"}}"#,
));
assert_eq!(result, expected);
}
}