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

33 lines
807 B
Rust

use domain::errors::DomainError;
use domain::user::Timezone;
#[test]
fn valid_timezone_is_created() {
let tz = Timezone::new("Europe/Warsaw").unwrap();
assert_eq!(tz.value(), "Europe/Warsaw");
}
#[test]
fn timezone_trims_whitespace() {
let tz = Timezone::new(" America/New_York ").unwrap();
assert_eq!(tz.value(), "America/New_York");
}
#[test]
fn empty_timezone_is_rejected() {
let result = Timezone::new("");
assert!(matches!(result, Err(DomainError::InvalidInput(_))));
}
#[test]
fn timezone_without_slash_is_rejected() {
let result = Timezone::new("UTC");
assert!(matches!(result, Err(DomainError::InvalidInput(_))));
}
#[test]
fn from_persistence_bypasses_validation() {
let tz = Timezone::from_persistence("UTC".into());
assert_eq!(tz.value(), "UTC");
}