40
crates/domain/tests/user/display_name_test.rs
Normal file
40
crates/domain/tests/user/display_name_test.rs
Normal file
@@ -0,0 +1,40 @@
|
||||
use domain::errors::DomainError;
|
||||
use domain::user::DisplayName;
|
||||
|
||||
#[test]
|
||||
fn valid_display_name_is_created() {
|
||||
let name = DisplayName::new("Alice").unwrap();
|
||||
assert_eq!(name.value(), "Alice");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn display_name_trims_whitespace() {
|
||||
let name = DisplayName::new(" Bob ").unwrap();
|
||||
assert_eq!(name.value(), "Bob");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn empty_display_name_is_rejected() {
|
||||
let result = DisplayName::new("");
|
||||
assert!(matches!(result, Err(DomainError::InvalidInput(_))));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn whitespace_only_display_name_is_rejected() {
|
||||
let result = DisplayName::new(" ");
|
||||
assert!(matches!(result, Err(DomainError::InvalidInput(_))));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn display_name_over_100_chars_is_rejected() {
|
||||
let long = "a".repeat(101);
|
||||
let result = DisplayName::new(long);
|
||||
assert!(matches!(result, Err(DomainError::InvalidInput(_))));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn display_name_at_100_chars_is_valid() {
|
||||
let exact = "a".repeat(100);
|
||||
let name = DisplayName::new(exact).unwrap();
|
||||
assert_eq!(name.value().len(), 100);
|
||||
}
|
||||
Reference in New Issue
Block a user