use assert_cmd::prelude::*;
use predicates::prelude::*;
use std::process::Command;
fn tldr_cmd() -> Command {
Command::new(assert_cmd::cargo::cargo_bin!("tldr"))
}
#[test]
fn test_health_with_lang_flag_no_crash() {
let fixture = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/fixtures/simple.py");
let mut cmd = tldr_cmd();
cmd.args(["health", fixture, "-l", "python", "--format", "json"])
.assert()
.success()
.stdout(predicate::str::contains("overall_score").or(predicate::str::contains("health")));
}
#[test]
fn test_debt_with_lang_flag_no_crash() {
let fixture = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/fixtures/simple.py");
let mut cmd = tldr_cmd();
cmd.args(["debt", fixture, "-l", "python", "--format", "json"])
.assert()
.success()
.stdout(predicate::str::contains("total_debt").or(predicate::str::contains("debt")));
}
#[test]
fn test_health_without_lang_flag() {
let fixture = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/fixtures/simple.py");
let mut cmd = tldr_cmd();
cmd.args(["health", fixture, "--format", "json"])
.assert()
.success();
}
#[test]
fn test_debt_without_lang_flag() {
let fixture = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/fixtures/simple.py");
let mut cmd = tldr_cmd();
cmd.args(["debt", fixture, "--format", "json"])
.assert()
.success();
}