Files
k-photos/crates/domain/tests/entities/album.rs

28 lines
780 B
Rust

use domain::entities::Album;
use domain::errors::DomainError;
use domain::value_objects::SystemId;
#[test]
fn add_and_remove_asset() {
let mut album = Album::new("Vacation", SystemId::new());
let asset = SystemId::new();
let user = SystemId::new();
album.add_asset(asset.clone(), user.clone()).unwrap();
assert_eq!(album.asset_count(), 1);
album.remove_asset(&asset).unwrap();
assert_eq!(album.asset_count(), 0);
}
#[test]
fn cannot_add_duplicate() {
let mut album = Album::new("Vacation", SystemId::new());
let asset = SystemId::new();
let user = SystemId::new();
album.add_asset(asset.clone(), user.clone()).unwrap();
let result = album.add_asset(asset, user);
assert!(matches!(result, Err(DomainError::Conflict(_))));
}