code refactor
Some checks failed
CI / Check / Test (push) Has been cancelled

Reviewed-on: #26
This commit was merged in pull request #26.
This commit is contained in:
2026-10-26 09:36:23 +00:00
parent 2ce7db12c2
commit 017b58d6fa
804 changed files with 33423 additions and 28955 deletions

View File

@@ -0,0 +1,65 @@
use domain::events::DomainEvent;
use domain::value_objects::{FollowTarget, SocialIdentity, UserId};
#[test]
fn follow_accepted_matches() {
let uid = UserId::from_uuid(uuid::Uuid::new_v4());
let event = DomainEvent::FollowAccepted {
owner: uid.clone(),
requester: SocialIdentity::Remote {
actor_url: "https://remote.example/users/alice".to_string(),
},
};
let DomainEvent::FollowAccepted { requester, .. } = event else {
panic!("wrong variant");
};
assert_eq!(
requester,
SocialIdentity::Remote {
actor_url: "https://remote.example/users/alice".to_string()
}
);
}
#[test]
fn follow_requested_with_identity() {
let follower = UserId::from_uuid(uuid::Uuid::new_v4());
let target = UserId::from_uuid(uuid::Uuid::new_v4());
let event = DomainEvent::FollowRequested {
follower: follower.clone(),
target: FollowTarget::Identity(SocialIdentity::Local(target.clone())),
};
assert!(matches!(
event,
DomainEvent::FollowRequested {
target: FollowTarget::Identity(SocialIdentity::Local(_)),
..
}
));
}
#[test]
fn follow_requested_with_handle() {
let follower = UserId::from_uuid(uuid::Uuid::new_v4());
let event = DomainEvent::FollowRequested {
follower: follower.clone(),
target: FollowTarget::Handle("@alice@remote.example".into()),
};
assert!(matches!(
event,
DomainEvent::FollowRequested {
target: FollowTarget::Handle(_),
..
}
));
}
#[test]
fn retry_backoff_doubles_from_ten_seconds_and_caps_at_five_minutes() {
use domain::events::retry_backoff;
use std::time::Duration;
let secs: Vec<u64> = (1..=8).map(|n| retry_backoff(n).as_secs()).collect();
assert_eq!(secs, [10, 20, 40, 80, 160, 300, 300, 300]);
assert_eq!(retry_backoff(0), Duration::from_secs(5));
assert_eq!(retry_backoff(u32::MAX), Duration::from_secs(300));
}