Add test for testing listing all entries with/out a certain tag
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
This commit is contained in:
parent
c5f0dc7b14
commit
734f889cdf
1 changed files with 48 additions and 0 deletions
|
@ -34,6 +34,14 @@ pub fn call(tmpdir: &TempDir, args: &[&str]) -> Vec<String> {
|
|||
crate::imag::stdout_of_command(binary)
|
||||
}
|
||||
|
||||
pub fn call_give_ids(tmpdir: &TempDir, args: &[&str]) -> Vec<String> {
|
||||
let mut binary = binary(tmpdir);
|
||||
binary.stdin(std::process::Stdio::inherit());
|
||||
binary.args(args);
|
||||
debug!("Command = {:?}", binary);
|
||||
crate::imag::stdout_of_command(binary)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_new_entry_has_no_tags() {
|
||||
crate::setup_logging();
|
||||
|
@ -94,3 +102,43 @@ fn test_adding_twice_does_not_add_twice() {
|
|||
assert_eq!(output[0], "tag");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_listing_entries_with_certain_tag() {
|
||||
crate::setup_logging();
|
||||
let imag_home = crate::imag::make_temphome();
|
||||
crate::imag_init::call(&imag_home);
|
||||
crate::imag_create::call(&imag_home, &["test1", "test2", "test3"]);
|
||||
let _ = call(&imag_home, &["test1", "add", "tag1"]);
|
||||
let _ = call(&imag_home, &["test2", "add", "tag2"]);
|
||||
let _ = call(&imag_home, &["test3", "add", "tag3"]);
|
||||
|
||||
let output = call_give_ids(&imag_home, &["present", "tag1"]);
|
||||
debug!("output = {:?}", output);
|
||||
|
||||
assert!(!output.is_empty());
|
||||
assert_eq!(output.len(), 1);
|
||||
assert!(output[0].contains("test1"));
|
||||
assert!(output.iter().all(|s| !s.contains("test2")));
|
||||
assert!(output.iter().all(|s| !s.contains("test3")));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_listing_entries_without_certain_tag() {
|
||||
crate::setup_logging();
|
||||
let imag_home = crate::imag::make_temphome();
|
||||
crate::imag_init::call(&imag_home);
|
||||
crate::imag_create::call(&imag_home, &["test1", "test2", "test3"]);
|
||||
let _ = call(&imag_home, &["test1", "add", "tag1"]);
|
||||
let _ = call(&imag_home, &["test2", "add", "tag2"]);
|
||||
let _ = call(&imag_home, &["test3", "add", "tag3"]);
|
||||
|
||||
let output = call_give_ids(&imag_home, &["missing", "tag1"]);
|
||||
debug!("output = {:?}", output);
|
||||
|
||||
assert!(!output.is_empty());
|
||||
assert_eq!(output.len(), 2);
|
||||
assert!(output.iter().any(|s| s.contains("test2")));
|
||||
assert!(output.iter().any(|s| s.contains("test3")));
|
||||
assert!(output.iter().all(|s| !s.contains("test1")));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue