init
Some checks failed
CI / ci (push) Failing after 1m48s

This commit is contained in:
2026-08-25 23:24:36 +02:00
commit 95739892de
466 changed files with 33918 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
use domain::activity::{Activity, ActivityName, CategoryName};
use domain::errors::DomainError;
use domain::user::UserId;
#[test]
fn new_activity_is_not_archived() {
let category = CategoryName::new("hobbies").unwrap();
let activity = Activity::new(
UserId::generate(),
ActivityName::new("gaming").unwrap(),
Some(category.clone()),
);
assert!(!activity.is_archived());
assert_eq!(activity.name().value(), "gaming");
assert_eq!(activity.category().map(|c| c.value()), Some("hobbies"));
}
#[test]
fn archive_sets_archived_flag() {
let mut activity = Activity::new(
UserId::generate(),
ActivityName::new("gaming").unwrap(),
None,
);
activity.archive().unwrap();
assert!(activity.is_archived());
}
#[test]
fn archiving_already_archived_activity_fails() {
let mut activity = Activity::new(
UserId::generate(),
ActivityName::new("gaming").unwrap(),
None,
);
activity.archive().unwrap();
let result = activity.archive();
assert!(matches!(result, Err(DomainError::Conflict(_))));
}
#[test]
fn unarchive_clears_archived_flag() {
let mut activity = Activity::new(
UserId::generate(),
ActivityName::new("gaming").unwrap(),
None,
);
activity.archive().unwrap();
activity.unarchive().unwrap();
assert!(!activity.is_archived());
}
#[test]
fn unarchiving_active_activity_fails() {
let mut activity = Activity::new(
UserId::generate(),
ActivityName::new("gaming").unwrap(),
None,
);
let result = activity.unarchive();
assert!(matches!(result, Err(DomainError::Conflict(_))));
}
#[test]
fn rename_updates_name() {
let mut activity = Activity::new(
UserId::generate(),
ActivityName::new("gaming").unwrap(),
None,
);
activity.rename(ActivityName::new("video games").unwrap());
assert_eq!(activity.name().value(), "video games");
}
#[test]
fn set_category_updates_category() {
let mut activity = Activity::new(
UserId::generate(),
ActivityName::new("gaming").unwrap(),
None,
);
activity.set_category(Some(CategoryName::new("hobbies").unwrap()));
assert_eq!(activity.category().map(|c| c.value()), Some("hobbies"));
activity.set_category(None);
assert_eq!(activity.category(), None);
}