added tests for parsing ModdedInstance

This commit is contained in:
2026-03-15 17:33:22 +01:00
parent 41e261bb15
commit 74df0d1cc1
5 changed files with 249 additions and 2 deletions

View File

@@ -0,0 +1,53 @@
use std::path::PathBuf;
use fomod_manager::types::{Link, RootConfig};
fn get_parent() -> PathBuf {
PathBuf::from(file!()).parent().unwrap().to_owned()
}
fn load_root() -> RootConfig {
RootConfig::load_from_file(get_parent().join("data/root_config_complex.toml")).unwrap()
}
#[test]
fn parse_minimal() {
let root = load_root();
let inst = root.load_instance_by_id("instance_minimal");
assert!(inst.is_ok(), "Failed to load instance");
let unwraped = inst.expect("Asserted before");
assert_eq!(unwraped.game_id(), "sse");
assert!(unwraped.mods().is_empty());
assert!(unwraped.game_file_overrides().is_empty());
assert!(unwraped.load_order().is_empty());
}
#[test]
fn parse_complex() {
let root = load_root();
let inst = root.load_instance_by_id("instance_complex");
assert!(inst.is_ok(), "Failed to load instance");
let unwraped = inst.expect("Asserted before");
assert_eq!(unwraped.game_id(), "sse");
assert_eq!(unwraped.load_order().len(), 11);
assert_eq!(
unwraped.game_file_overrides().first().unwrap(),
&Link::new("skse64_loader.exe", "SkyrimSELauncher.exe")
);
assert_eq!(unwraped.mods().len(), 3);
let test_mod = unwraped.mods().iter().find(|e| e.mod_id() == "skyui");
assert!(test_mod.is_some());
assert_eq!(test_mod.unwrap().priority(), 0);
assert_eq!(test_mod.unwrap().files().len(), 2);
}