added Tests and fix addUserEvent
This commit is contained in:
@ -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();
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user