use domain::entities::{DerivativeAsset, DerivativeProfile, GenerationStatus}; use domain::value_objects::SystemId; #[test] fn lifecycle() { let mut d = DerivativeAsset::new_pending( SystemId::new(), DerivativeProfile::ThumbnailSquare, "/thumbs/abc.webp", ); assert_eq!(d.generation_status, GenerationStatus::Pending); assert_eq!(d.file_size, 0); assert_eq!(d.dimensions, (0, 0)); d.mark_ready("image/webp", 4096, (256, 256)); assert_eq!(d.generation_status, GenerationStatus::Ready); assert_eq!(d.mime_type, "image/webp"); assert_eq!(d.file_size, 4096); assert_eq!(d.dimensions, (256, 256)); }