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)
|
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]
|
#[test]
|
||||||
fn test_new_entry_has_no_tags() {
|
fn test_new_entry_has_no_tags() {
|
||||||
crate::setup_logging();
|
crate::setup_logging();
|
||||||
|
@ -94,3 +102,43 @@ fn test_adding_twice_does_not_add_twice() {
|
||||||
assert_eq!(output[0], "tag");
|
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