Files
k-mood/crates/domain/tests/user/display_name_test.rs
Gabriel Kaszewski 95739892de
Some checks failed
CI / ci (push) Failing after 1m48s
init
2026-08-25 23:24:36 +02:00

41 lines
1.0 KiB
Rust

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);
}