1

added Tests and fix addUserEvent

This commit is contained in:
Mahgs
2020-03-09 14:39:46 +01:00
parent 94193d4f50
commit 72c8d2b9b0
3 changed files with 41 additions and 2 deletions

View File

@ -52,8 +52,10 @@ public class Group extends Aggregate {
private void applyEvent(AddUserEvent event) { private void applyEvent(AddUserEvent event) {
User user = new User(event.getUser_id(), event.getGivenname(), event.getFamilyname(), event.getEmail()); User user = new User(event.getUser_id(), event.getGivenname(), event.getFamilyname(), event.getEmail());
if (!this.members.contains(user)){
this.members.add(user); this.members.add(user);
} }
}
private void applyEvent(UpdateGroupTitleEvent event) { private void applyEvent(UpdateGroupTitleEvent event) {
this.title = event.getNewGroupTitle(); this.title = event.getNewGroupTitle();

View File

@ -2,12 +2,16 @@ package mops.gruppen2.domain;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Value;
@Data @Value
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(exclude = {"givenname", "familyname", "email"})
public class User { public class User {
String user_id; String user_id;
String givenname; String givenname;
String familyname; String familyname;
String email; String email;

View File

@ -2,6 +2,7 @@ package mops.gruppen2.domain;
import mops.gruppen2.domain.event.AddUserEvent; import mops.gruppen2.domain.event.AddUserEvent;
import mops.gruppen2.domain.event.CreateGroupEvent; import mops.gruppen2.domain.event.CreateGroupEvent;
import mops.gruppen2.domain.event.DeleteUserEvent;
import mops.gruppen2.domain.event.UpdateRoleEvent; import mops.gruppen2.domain.event.UpdateRoleEvent;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Disabled;
@ -47,6 +48,38 @@ class GroupTest {
assertThat(group.getMembers().get(0)).isEqualTo(user); assertThat(group.getMembers().get(0)).isEqualTo(user);
} }
@Test
void addExistingUser() {
CreateGroupEvent createGroupEvent = new CreateGroupEvent(1,1,"prof1", "hi", "foo");
Group group = new Group();
group.applyEvent(createGroupEvent);
User user1 = new User("prof", "jens", "bendi", "hi@gmail.com");
AddUserEvent addUserEvent1 = new AddUserEvent(2,1, user1);
group.applyEvent(addUserEvent1);
User user2 = new User("prof", "olga", "bendi", "hi@gmail.com");
AddUserEvent addUserEvent2 = new AddUserEvent(3,1, user2);
group.applyEvent(addUserEvent2);
assertThat(group.getMembers().size()).isEqualTo(1);
}
@Test
void deleteSingleUser() {
CreateGroupEvent createGroupEvent = new CreateGroupEvent(1, 2, "Prof", "Tolle Gruppe", "Tolle Beshreibung");
User user = new User("Prof", "Pro", "fessor", "pro@fessor.de");
AddUserEvent addUserEvent = new AddUserEvent(2, 2, user);
Group group = new Group();
group.applyEvent(createGroupEvent);
group.applyEvent(addUserEvent);
DeleteUserEvent deleteUserEvent = new DeleteUserEvent(3, 2, "Prof");
group.applyEvent(deleteUserEvent);
assertThat(group.getMembers().size()).isEqualTo(0);
}
// Verwendet CreateGroupEvent und AddUserEvent // Verwendet CreateGroupEvent und AddUserEvent
@Test @Test
void updateRoleForExistingUser() { void updateRoleForExistingUser() {