refactor: restructure domain crate by bounded context
This commit is contained in:
30
crates/domain/tests/common/value_objects/date_time_stamp.rs
Normal file
30
crates/domain/tests/common/value_objects/date_time_stamp.rs
Normal file
@@ -0,0 +1,30 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user