added more add mod integration tests
This commit is contained in:
@@ -14,10 +14,12 @@ fn load_root() -> RootConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn add_simple_mod() -> Result<(), Box<dyn Error>> {
|
fn add_plain() -> Result<(), Box<dyn Error>> {
|
||||||
let root_config = load_root();
|
let root_config = load_root();
|
||||||
let mut instance = root_config.load_instance_by_id("instance_minimal")?;
|
let mut instance = root_config.load_instance_by_id("instance_minimal")?;
|
||||||
let mod_to_install = root_config.mod_by_id("add_test_1").expect("Mod not found");
|
let mod_to_install = root_config
|
||||||
|
.mod_by_id("add_test_plain")
|
||||||
|
.expect("Mod not found");
|
||||||
let files_to_add = files_to_install_mod(&root_config, &instance, &mod_to_install)?;
|
let files_to_add = files_to_install_mod(&root_config, &instance, &mod_to_install)?;
|
||||||
|
|
||||||
insert_mod_to_instance(&mut instance, &mod_to_install, &files_to_add, 0)?;
|
insert_mod_to_instance(&mut instance, &mod_to_install, &files_to_add, 0)?;
|
||||||
@@ -28,7 +30,7 @@ fn add_simple_mod() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
let the_mod = installed_mods.first().expect("Asserted before");
|
let the_mod = installed_mods.first().expect("Asserted before");
|
||||||
|
|
||||||
assert_eq!(the_mod.mod_id(), "add_test_1");
|
assert_eq!(the_mod.mod_id(), "add_test_plain");
|
||||||
assert_eq!(the_mod.priority(), 0);
|
assert_eq!(the_mod.priority(), 0);
|
||||||
|
|
||||||
let expected_files: HashSet<_> = [Link::new("plugin.esp", "Data/plugin.esp")]
|
let expected_files: HashSet<_> = [Link::new("plugin.esp", "Data/plugin.esp")]
|
||||||
@@ -43,3 +45,100 @@ fn add_simple_mod() -> Result<(), Box<dyn Error>> {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn add_nested() -> Result<(), Box<dyn Error>> {
|
||||||
|
let root_config = load_root();
|
||||||
|
let mut instance = root_config.load_instance_by_id("instance_minimal")?;
|
||||||
|
let mod_to_install = root_config
|
||||||
|
.mod_by_id("add_test_nested")
|
||||||
|
.expect("Mod not found");
|
||||||
|
let files_to_add = files_to_install_mod(&root_config, &instance, &mod_to_install)?;
|
||||||
|
|
||||||
|
insert_mod_to_instance(&mut instance, &mod_to_install, &files_to_add, 0)?;
|
||||||
|
|
||||||
|
let installed_mods = instance.mods();
|
||||||
|
|
||||||
|
assert_eq!(installed_mods.len(), 1);
|
||||||
|
|
||||||
|
let the_mod = installed_mods.first().expect("Asserted before");
|
||||||
|
|
||||||
|
assert_eq!(the_mod.mod_id(), "add_test_nested");
|
||||||
|
assert_eq!(the_mod.priority(), 0);
|
||||||
|
|
||||||
|
let expected_files: HashSet<_> = [Link::new("Data/plugin.esp", "Data/plugin.esp")]
|
||||||
|
.into_iter()
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
*the_mod.files(),
|
||||||
|
expected_files,
|
||||||
|
"Installed files missmatch"
|
||||||
|
);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn add_root() -> Result<(), Box<dyn Error>> {
|
||||||
|
let root_config = load_root();
|
||||||
|
let mut instance = root_config.load_instance_by_id("instance_minimal")?;
|
||||||
|
let mod_to_install = root_config
|
||||||
|
.mod_by_id("add_test_root")
|
||||||
|
.expect("Mod not found");
|
||||||
|
let files_to_add = files_to_install_mod(&root_config, &instance, &mod_to_install)?;
|
||||||
|
|
||||||
|
insert_mod_to_instance(&mut instance, &mod_to_install, &files_to_add, 0)?;
|
||||||
|
|
||||||
|
let installed_mods = instance.mods();
|
||||||
|
|
||||||
|
assert_eq!(installed_mods.len(), 1, "No mod was added");
|
||||||
|
|
||||||
|
let the_mod = installed_mods.first().expect("Asserted before");
|
||||||
|
|
||||||
|
assert_eq!(the_mod.mod_id(), "add_test_root");
|
||||||
|
assert_eq!(the_mod.priority(), 0);
|
||||||
|
|
||||||
|
let expected_files: HashSet<_> = [Link::new("skse.exe", "skse.exe")].into_iter().collect();
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
*the_mod.files(),
|
||||||
|
expected_files,
|
||||||
|
"Installed files missmatch"
|
||||||
|
);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn add_filter() -> Result<(), Box<dyn Error>> {
|
||||||
|
let root_config = load_root();
|
||||||
|
let mut instance = root_config.load_instance_by_id("instance_minimal")?;
|
||||||
|
let mod_to_install = root_config
|
||||||
|
.mod_by_id("add_test_filter")
|
||||||
|
.expect("Mod not found");
|
||||||
|
let files_to_add = files_to_install_mod(&root_config, &instance, &mod_to_install)?;
|
||||||
|
|
||||||
|
insert_mod_to_instance(&mut instance, &mod_to_install, &files_to_add, 0)?;
|
||||||
|
|
||||||
|
let installed_mods = instance.mods();
|
||||||
|
|
||||||
|
assert_eq!(installed_mods.len(), 1, "No mod was added");
|
||||||
|
|
||||||
|
let the_mod = installed_mods.first().expect("Asserted before");
|
||||||
|
|
||||||
|
assert_eq!(the_mod.mod_id(), "add_test_filter");
|
||||||
|
assert_eq!(the_mod.priority(), 0);
|
||||||
|
|
||||||
|
let expected_files: HashSet<_> = [Link::new("plugin.esp", "plugin.esp")]
|
||||||
|
.into_iter()
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
*the_mod.files(),
|
||||||
|
expected_files,
|
||||||
|
"Installed files missmatch"
|
||||||
|
);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
plugin.esl-add_test_1
|
|
||||||
1
tests/data/mods/add_test_filter/image.jpg
Normal file
1
tests/data/mods/add_test_filter/image.jpg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
image.jpg
|
||||||
1
tests/data/mods/add_test_filter/plugin.esp
Normal file
1
tests/data/mods/add_test_filter/plugin.esp
Normal file
@@ -0,0 +1 @@
|
|||||||
|
plugin.esp
|
||||||
1
tests/data/mods/add_test_filter/readme.txt
Normal file
1
tests/data/mods/add_test_filter/readme.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
readme.txt
|
||||||
1
tests/data/mods/add_test_filter/sub/extra.esp
Normal file
1
tests/data/mods/add_test_filter/sub/extra.esp
Normal file
@@ -0,0 +1 @@
|
|||||||
|
extra.esp
|
||||||
1
tests/data/mods/add_test_nested/Data/plugin.esp
Normal file
1
tests/data/mods/add_test_nested/Data/plugin.esp
Normal file
@@ -0,0 +1 @@
|
|||||||
|
plugin.esp-add_test_2
|
||||||
1
tests/data/mods/add_test_plain/plugin.esp
Normal file
1
tests/data/mods/add_test_plain/plugin.esp
Normal file
@@ -0,0 +1 @@
|
|||||||
|
plugin.esp-add_test_1
|
||||||
1
tests/data/mods/add_test_root/skse.exe
Normal file
1
tests/data/mods/add_test_root/skse.exe
Normal file
@@ -0,0 +1 @@
|
|||||||
|
skse.exe
|
||||||
@@ -29,5 +29,17 @@ path = "mod2"
|
|||||||
[mods.mod3]
|
[mods.mod3]
|
||||||
path = "mod3"
|
path = "mod3"
|
||||||
|
|
||||||
[mods.add_test_1]
|
[mods.add_test_plain]
|
||||||
path = "add_test_1"
|
path = "add_test_plain"
|
||||||
|
|
||||||
|
[mods.add_test_nested]
|
||||||
|
path = "add_test_nested"
|
||||||
|
|
||||||
|
[mods.add_test_root]
|
||||||
|
path = "add_test_root"
|
||||||
|
root_mod = true
|
||||||
|
|
||||||
|
[mods.add_test_filter]
|
||||||
|
path = "add_test_filter"
|
||||||
|
ignore = [ "*.txt", "image.jpg", "sub/*" ]
|
||||||
|
root_mod = true
|
||||||
|
|||||||
Reference in New Issue
Block a user