mod common;
#[cfg(test)]
mod cli_tests {
#[cfg(test)]
mod generate {
use crate::common::prdoc_bin;
use std::fs;
#[test]
fn it_generate_fails_without_number() {
let mut cmd = prdoc_bin();
let assert = cmd.arg("generate").assert();
assert.failure().code(2);
}
#[test]
fn it_generate_with_number() {
let mut cmd = prdoc_bin();
let assert = cmd.args(["generate", "--dry-run", "42"]).assert();
assert.success().code(exitcode::OK);
}
#[test]
fn it_does_not_overwrite() {
let _ = fs::remove_file("/tmp/pr_9999.prdoc");
let mut cmd = prdoc_bin();
let assert = cmd.args(["generate", "--output-dir", "/tmp", "9999"]).assert();
assert.success().code(exitcode::OK);
let mut cmd = prdoc_bin();
let assert = cmd.args(["generate", "--output-dir", "/tmp", "9999"]).assert();
assert.failure().code(exitcode::IOERR);
}
#[test]
fn it_should_not_fail() {
let _ = fs::remove_file("/tmp/prdoc/pr_9998.prdoc");
let mut cmd = prdoc_bin();
let assert = cmd.args(["generate", "-d", "/tmp/prdoc/", "9998"]).assert();
assert.success().code(exitcode::OK);
}
}
}