29 lines
740 B
Rust
29 lines
740 B
Rust
use squad_quest::{config::Config,error::Error,quest::Quest};
|
|
use std::path::PathBuf;
|
|
|
|
const CONFIG_PATH: &str = "tests/io/config.toml";
|
|
|
|
// Note: Quest::delete uses Quest::load underneath,
|
|
// and Quest::save can override files,
|
|
// so this test covers full quest CRUD
|
|
#[test]
|
|
fn quest_crud() -> Result<(), Error> {
|
|
let config = Config::load(CONFIG_PATH.into());
|
|
|
|
let mut quests_path = PathBuf::from(CONFIG_PATH).parent().unwrap().to_owned();
|
|
quests_path.push(config.quests_path);
|
|
|
|
let quest = Quest::default();
|
|
|
|
println!("{:?}", quests_path.clone());
|
|
|
|
quest.save(quests_path.clone())?;
|
|
|
|
let filename = format!("{}.toml", quest.id);
|
|
|
|
quests_path.push(filename);
|
|
|
|
Quest::delete(quests_path)?;
|
|
|
|
Ok(())
|
|
}
|