mirror of
https://github.com/PR0M3TH3AN/Marlin.git
synced 2025-09-10 08:08:43 +00:00
Add unit tests for CLI run functions
This commit is contained in:
27
cli-bin/tests/cli_view_unit.rs
Normal file
27
cli-bin/tests/cli_view_unit.rs
Normal file
@@ -0,0 +1,27 @@
|
||||
mod cli {
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub enum Format { Text, Json }
|
||||
}
|
||||
|
||||
#[path = "../src/cli/view.rs"]
|
||||
mod view;
|
||||
|
||||
use libmarlin::db;
|
||||
|
||||
#[test]
|
||||
fn view_run_save_and_exec() {
|
||||
let mut conn = db::open(":memory:").unwrap();
|
||||
conn.execute("INSERT INTO files(path,size,mtime) VALUES ('TODO.txt',0,0)", []).unwrap();
|
||||
|
||||
let save = view::ViewCmd::Save(view::ArgsSave { view_name: "tasks".into(), query: "TODO".into() });
|
||||
view::run(&save, &mut conn, cli::Format::Text).unwrap();
|
||||
|
||||
let stored: String = conn.query_row("SELECT query FROM views WHERE name='tasks'", [], |r| r.get(0)).unwrap();
|
||||
assert_eq!(stored, "TODO");
|
||||
|
||||
let list = view::ViewCmd::List;
|
||||
view::run(&list, &mut conn, cli::Format::Text).unwrap();
|
||||
|
||||
let exec = view::ViewCmd::Exec(view::ArgsExec { view_name: "tasks".into() });
|
||||
view::run(&exec, &mut conn, cli::Format::Text).unwrap();
|
||||
}
|
Reference in New Issue
Block a user