use std::fs;
use std::io::{self, Write};
use assert_cmd::cargo;
use serial_test::file_serial;
use testresult::TestResult;
const NOVEL_NAME: &str = "转生精灵公主可以备受宠爱吗?";
#[test]
#[file_serial(download)]
fn download_pandoc() -> TestResult {
let mut cmd = cargo::cargo_bin_cmd!();
let output = cmd
.args([
"download",
"--source=sfacg",
"--format=pandoc",
"--skip-login",
"--backtrace=full",
"548678",
])
.output()?;
cmd.assert().success();
io::stderr().write_all(&output.stdout)?;
novel_cli::utils::ensure_pandoc_dir(NOVEL_NAME)?;
fs::remove_dir_all(NOVEL_NAME)?;
Ok(())
}
#[test]
#[file_serial(download)]
fn download_mdbook() -> TestResult {
let mut cmd = cargo::cargo_bin_cmd!();
let output = cmd
.args([
"download",
"--source=sfacg",
"--format=mdbook",
"--skip-login",
"--backtrace=full",
"548678",
])
.output()?;
cmd.assert().success();
io::stderr().write_all(&output.stdout)?;
novel_cli::utils::ensure_mdbook_dir(NOVEL_NAME)?;
fs::remove_dir_all(NOVEL_NAME)?;
Ok(())
}