From ff3b3b69d9398da33dcc51c92cb5cb16f0c30532 Mon Sep 17 00:00:00 2001 From: Orchaldir Date: Wed, 22 Nov 2023 21:56:50 +0100 Subject: [PATCH] [#112] Add test --- rpg_tools_core/src/usecase/delete/character.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/rpg_tools_core/src/usecase/delete/character.rs b/rpg_tools_core/src/usecase/delete/character.rs index 90abff0..2297986 100644 --- a/rpg_tools_core/src/usecase/delete/character.rs +++ b/rpg_tools_core/src/usecase/delete/character.rs @@ -28,8 +28,14 @@ pub fn delete_character(data: &mut RpgData, id: CharacterId) -> DeleteResult { #[cfg(test)] mod tests { use super::*; + use crate::model::character::relation::relationship::Relationship::Friend; use DeleteResult::*; + const RESULT: DeleteResult = Blocked(BlockingReason { + characters: vec![], + relations: 1, + }); + #[test] fn test_not_found() { let mut data = RpgData::default(); @@ -47,4 +53,15 @@ mod tests { assert_eq!(Ok, delete_character(&mut data, id)); } + + #[test] + fn test_blocked_by_relationship() { + let mut data = RpgData::default(); + let id0 = data.character_manager.create(); + let id1 = data.character_manager.create(); + data.relations.relationships.add(id0, id1, Friend); + + assert_eq!(RESULT, delete_character(&mut data, id0)); + assert_eq!(RESULT, delete_character(&mut data, id1)); + } }