- 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
29 lines
755 B
Rust
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(())
|
|
}
|