use std::fs; use tasks::error::TaskError; use tasks::store::Store; use tasks::task::Status; use crate::common::{temp_path, three_tasks}; mod common; #[test] fn completing_task_that_are_done_is_not_an_error() -> Result<(), TaskError> { let mut m = three_tasks(); m.complete(1)?; let t = m.find(1).unwrap(); assert_eq!(t.status, Status::Done); Ok(()) } #[test] fn reload_saved_working() -> Result<(), TaskError> { let mut m = three_tasks(); let p = temp_path(); m.remove_completed(); m.save(&p)?; let m2 = Store::load(&p)?; assert_eq!(m2, m); Ok(()) } #[test] fn smaller_store_smaller_saved_files() -> Result<(), TaskError> { let mut m = three_tasks(); let p = temp_path(); m.save(&p)?; m.remove_completed(); m.save(&p)?; let s = fs::read_to_string(p)?; assert_eq!(s.lines().count(), 2); Ok(()) }