diff --git a/src/main/java/mops/gruppen2/domain/Group.java b/src/main/java/mops/gruppen2/domain/Group.java index 26ed5a5..03eb2fb 100644 --- a/src/main/java/mops/gruppen2/domain/Group.java +++ b/src/main/java/mops/gruppen2/domain/Group.java @@ -68,12 +68,13 @@ public class Group extends Aggregate { this.description = event.getNewGroupDescription(); } - private void applyEvent(DeleteUserEvent event) { - for (User user : members) { - if (user.getUser_id().equals(event.getUser_id())) { - this.members.remove(user); - break; - } + private void applyEvent(DeleteUserEvent event) throws UserNotFoundException{ + User user = new User(event.getUser_id(), "","",""); + + if (this.members.contains(user)) { + this.members.remove(user); + } else { + throw new UserNotFoundException("Nutzer wurde nicht gefunden!"); } } } diff --git a/src/test/java/mops/gruppen2/domain/GroupTest.java b/src/test/java/mops/gruppen2/domain/GroupTest.java index c81e2cf..65906bc 100644 --- a/src/test/java/mops/gruppen2/domain/GroupTest.java +++ b/src/test/java/mops/gruppen2/domain/GroupTest.java @@ -66,7 +66,7 @@ class GroupTest { }); - //assertThat(group.getMembers().size()).isEqualTo(1); + assertThat(group.getMembers().size()).isEqualTo(1); } @Test @@ -84,6 +84,19 @@ class GroupTest { assertThat(group.getMembers().size()).isEqualTo(0); } + @Test + void deleteUserThatDoesNotExists() throws Exception{ + CreateGroupEvent createGroupEvent = new CreateGroupEvent(1, 2, "Prof", "Tolle Gruppe", "Tolle Beshreibung"); + Group group = new Group(); + group.applyEvent(createGroupEvent); + + DeleteUserEvent deleteUserEvent = new DeleteUserEvent(3, 2, "Prof"); + + Assertions.assertThrows(UserNotFoundException.class, () ->{ + group.applyEvent(deleteUserEvent); + }); + } + // Verwendet CreateGroupEvent und AddUserEvent @Test void updateRoleForExistingUser() throws Exception{