use chrono::Utc; use domain::value_objects::DateTimeStamp; #[test] fn now_is_recent() { let before = Utc::now(); let ts = DateTimeStamp::now(); let after = Utc::now(); assert!(*ts.as_datetime() >= before); assert!(*ts.as_datetime() <= after); } #[test] fn ordering() { let a = DateTimeStamp::from_datetime( chrono::DateTime::parse_from_rfc3339("2024-01-01T00:00:00Z").unwrap().into(), ); let b = DateTimeStamp::from_datetime( chrono::DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z").unwrap().into(), ); assert!(a < b); } #[test] fn serde_roundtrip() { let ts = DateTimeStamp::now(); let json = serde_json::to_string(&ts).unwrap(); let back: DateTimeStamp = serde_json::from_str(&json).unwrap(); assert_eq!(ts, back); }