26 lines
688 B
Rust
26 lines
688 B
Rust
use domain::entities::{LinkAccessLevel, ShareLink};
|
|
use domain::value_objects::SystemId;
|
|
|
|
#[test]
|
|
fn new_link_is_valid() {
|
|
let link = ShareLink::new(SystemId::new(), "tok123", LinkAccessLevel::ViewOnly);
|
|
assert!(link.is_valid());
|
|
assert_eq!(link.use_count, 0);
|
|
}
|
|
|
|
#[test]
|
|
fn deactivated_invalid() {
|
|
let mut link = ShareLink::new(SystemId::new(), "tok123", LinkAccessLevel::ViewOnly);
|
|
link.deactivate();
|
|
assert!(!link.is_valid());
|
|
}
|
|
|
|
#[test]
|
|
fn max_uses_exhausted() {
|
|
let mut link = ShareLink::new(SystemId::new(), "tok123", LinkAccessLevel::ViewOnly);
|
|
link.max_uses = Some(2);
|
|
link.record_use();
|
|
link.record_use();
|
|
assert!(!link.is_valid());
|
|
}
|