33 lines
805 B
Rust
33 lines
805 B
Rust
use domain::errors::DomainError;
|
|
use domain::user::Email;
|
|
|
|
#[test]
|
|
fn valid_email_is_created() {
|
|
let email = Email::new("user@example.com").unwrap();
|
|
assert_eq!(email.value(), "user@example.com");
|
|
}
|
|
|
|
#[test]
|
|
fn email_is_lowercased() {
|
|
let email = Email::new("User@Example.COM").unwrap();
|
|
assert_eq!(email.value(), "user@example.com");
|
|
}
|
|
|
|
#[test]
|
|
fn email_trims_whitespace() {
|
|
let email = Email::new(" user@example.com ").unwrap();
|
|
assert_eq!(email.value(), "user@example.com");
|
|
}
|
|
|
|
#[test]
|
|
fn email_without_at_is_rejected() {
|
|
let result = Email::new("not-an-email");
|
|
assert!(matches!(result, Err(DomainError::InvalidInput(_))));
|
|
}
|
|
|
|
#[test]
|
|
fn empty_email_is_rejected() {
|
|
let result = Email::new("");
|
|
assert!(matches!(result, Err(DomainError::InvalidInput(_))));
|
|
}
|