Files
k-photos/crates/domain/tests/common/value_objects/date_time_stamp.rs

31 lines
798 B
Rust

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);
}