squad-quest/tests/io.rs
2ndbeam 0e8cdde697 feat!: Account features
- Bump version to 0.2.0
- Added trait SquadObject
- Implemented SquadObject for Quest and Account
- Implemented Config::load_accounts
- Removed src/quest/error.rs
- Added account tests in tests/main.rs

BREAKING CHANGE: Quest::{load,delete,save} are now provided by
SquadObject trait
2025-12-02 14:33:38 +03:00

29 lines
755 B
Rust

use squad_quest::{SquadObject, 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(())
}