#![cfg(feature = "test-utils")]
use chrono::prelude::*;
use timestudy::{test_utils, *};
#[test]
fn edit_success() {
test_utils::timed_activities();
let new_time = Utc.with_ymd_and_hms(2022, 7, 19, 1, 45, 0).unwrap();
let description = Some("Some things were done.".to_string());
let activity_to_edit = Activity::get(3).unwrap();
activity_to_edit
.edit(
new_time,
Some(Utc.with_ymd_and_hms(2022, 7, 19, 2, 30, 0).unwrap()),
vec![],
description.clone(),
)
.unwrap();
let activities = activities().unwrap();
assert_eq!(Activity::get(3).unwrap().start, new_time);
assert_eq!(Activity::get(3).unwrap().description, description);
assert_eq!(activities.len(), 4)
}
#[test]
fn edit_removing_description_succeeds() {
test_utils::clean_up();
let description = "Some things were done".to_string();
Activity::start(None, vec![], Some(description.clone())).unwrap();
let activity = Activity::get(0).unwrap();
assert_eq!(activity.description.clone().unwrap(), description);
let (start, end, tags) = (
activity.start.clone(),
activity.end.clone(),
activity.tags.clone(),
);
activity.edit(start, end, tags, None).unwrap();
let activity_edited = Activity::get(0).unwrap();
assert_eq!(activity_edited.description, None)
}