squad-quest/tests/io.rs
2025-11-29 14:46:42 +03:00

29 lines
755 B
Rust

use squad_quest::{config::Config,quest::{error::{QuestError}, 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<(), QuestError> {
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(())
}