31 lines
798 B
Rust
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);
|
|
}
|