slight changes to package structure + naming
This commit is contained in:
@ -14,7 +14,7 @@ endif::[]
|
||||
== Gruppenbildung
|
||||
|
||||
Für das Abschlussprojekt bilden Sie bitte eine Gruppe im GitHub Classroom, die
|
||||
aus 7 bis 9 Personen besteht und laden eine entsprechende `gruppe.yml` in AUAS
|
||||
aus 7 bis 9 Personen besteht und laden eine entsprechende `group.yml` in AUAS
|
||||
hoch. Im Gegensatz zu den normalen Blättern haben Sie volle
|
||||
Administrationsrechte und alle Projekte sind öffentlich um den Austausch mit
|
||||
anderen Gruppen bei Integrationen zwischen Anwendungen einfacher zu gestalten.
|
||||
@ -22,18 +22,18 @@ anderen Gruppen bei Integrationen zwischen Anwendungen einfacher zu gestalten.
|
||||
IMPORTANT: Bitte entfernen Sie nicht die Organisatoren aus Ihrem Projekt.
|
||||
|
||||
NOTE: Sie finden neben dieser README eine
|
||||
link:gruppe.yml[Beispiel-Gruppe-YML-Datei]. Füllen Sie diese aus, checken Sie
|
||||
link:group.yml[Beispiel-Gruppe-YML-Datei]. Füllen Sie diese aus, checken Sie
|
||||
sie ein.
|
||||
|
||||
IMPORTANT: Erstellen Sie direkt eine Abgabe in AUAS. Diese ist *essentiell* für
|
||||
die Teilnahme am Praktikum. Diesmal muss die Abgabe eine ZIP-Datei sein. Die
|
||||
ZIP-Datei soll die `gruppe.yml` und eine _optionale_ Beschreibung eines eigenen
|
||||
ZIP-Datei soll die `group.yml` und eine _optionale_ Beschreibung eines eigenen
|
||||
Systems für MOPS beinhalten. Sie können natürlich auch einfach die
|
||||
vorgeschlagenen Systeme wählen und müssen keine eigenen Systeme entwerfen.
|
||||
|
||||
== Systeme
|
||||
|
||||
*Die folgenden Beschreibungen sind keine Spezifikationen, die den Funktionsumfang der Projekte festlegen,* sondern nur ein "Braindump" von den Ideen, die mir zu dem entsprechenden System gekommen sind. Die Beschreibungen sollen Ihnen primär helfen, Systeme auszusuchen, die Sie umsetzen möchten. Wenn Sie einen eigenen Vorschlag für ein System haben, können Sie das auch gerne vorschlagen. Sie müssen dann zusammen mit der `gruppe.yml` Datei einen kurzen Pitch (in etwa wie in diesem Dokument) einreichen, damit wir uns vorstellen können, was Sie machen wollen und den Umfang begutachten.
|
||||
*Die folgenden Beschreibungen sind keine Spezifikationen, die den Funktionsumfang der Projekte festlegen,* sondern nur ein "Braindump" von den Ideen, die mir zu dem entsprechenden System gekommen sind. Die Beschreibungen sollen Ihnen primär helfen, Systeme auszusuchen, die Sie umsetzen möchten. Wenn Sie einen eigenen Vorschlag für ein System haben, können Sie das auch gerne vorschlagen. Sie müssen dann zusammen mit der `group.yml` Datei einen kurzen Pitch (in etwa wie in diesem Dokument) einreichen, damit wir uns vorstellen können, was Sie machen wollen und den Umfang begutachten.
|
||||
|
||||
=== Online Modulhandbuch
|
||||
Im Modulhandbuch werden die Beschreibungen für Veranstaltungen angegeben. Die Beschreibungen werden von den Dozierenden angelegt und werden von einer Verantwortlichen geprüft und dann freigeschaltet.
|
||||
|
@ -1,13 +1,11 @@
|
||||
package mops.gruppen2.controllers;
|
||||
package mops.gruppen2.controller;
|
||||
|
||||
import mops.gruppen2.services.KeyCloakService;
|
||||
import mops.gruppen2.service.KeyCloakService;
|
||||
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.context.annotation.SessionScope;
|
||||
|
||||
import javax.annotation.security.RolesAllowed;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package mops.gruppen2.controllers;
|
||||
package mops.gruppen2.controller;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
4
src/main/java/mops/gruppen2/domain/Admin.java
Normal file
4
src/main/java/mops/gruppen2/domain/Admin.java
Normal file
@ -0,0 +1,4 @@
|
||||
package mops.gruppen2.domain;
|
||||
|
||||
public class Admin extends Role {
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
package mops.gruppen2.entities;
|
||||
package mops.gruppen2.domain;
|
||||
|
||||
import mops.gruppen2.events.Event;
|
||||
import mops.gruppen2.domain.event.Event;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public abstract class Aggregat {
|
||||
public abstract class Aggregate {
|
||||
|
||||
/**
|
||||
* Ruft die spezifische applyEvent-Methode im entsprechenden Aggregat auf.
|
69
src/main/java/mops/gruppen2/domain/Group.java
Normal file
69
src/main/java/mops/gruppen2/domain/Group.java
Normal file
@ -0,0 +1,69 @@
|
||||
package mops.gruppen2.domain;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import mops.gruppen2.domain.event.*;
|
||||
import mops.gruppen2.domain.event.AddUserEvent;
|
||||
import mops.gruppen2.domain.event.CreateGroupEvent;
|
||||
import mops.gruppen2.domain.event.UpdateGroupDescriptionEvent;
|
||||
import mops.gruppen2.domain.event.UpdateGroupTitleEvent;
|
||||
import mops.gruppen2.domain.event.DeleteUserEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Data
|
||||
public class Group extends Aggregate {
|
||||
long id;
|
||||
String titel;
|
||||
String beschreibung;
|
||||
List<User> teilnehmersList;
|
||||
Map<User, Role> rollenList;
|
||||
|
||||
public void applyEvent(CreateGroupEvent event){
|
||||
this.id = event.getGruppe_id();
|
||||
this.titel = event.getTitel();
|
||||
this.beschreibung = event.getBeschreibung();
|
||||
this.teilnehmersList = new ArrayList<>();
|
||||
this.rollenList = new HashMap<>();
|
||||
}
|
||||
|
||||
public void applyEvent(UpdateRoleEvent event) {
|
||||
teilnehmersList.stream()
|
||||
.filter(user -> user.getId().equals(event.getUser_id()))
|
||||
.findFirst()
|
||||
.ifPresentOrElse(user -> rollenList.put(user, event.getRole()),
|
||||
() -> System.out.println("UserNotFoundException"));
|
||||
}
|
||||
|
||||
public void applyEvent(AddUserEvent event){
|
||||
User user = new User();
|
||||
|
||||
user.setId(event.getUser_id());
|
||||
user.setVorname(event.getVorname());
|
||||
user.setNachname(event.getNachname());
|
||||
user.setEmail(event.getEmail());
|
||||
|
||||
this.teilnehmersList.add(user);
|
||||
}
|
||||
|
||||
public void applyEvent(UpdateGroupTitleEvent event) {
|
||||
this.titel = event.getTitel();
|
||||
}
|
||||
|
||||
public void applyEvent(UpdateGroupDescriptionEvent event) {
|
||||
this.beschreibung = event.getBeschreibung();
|
||||
}
|
||||
|
||||
public void applyEvent(DeleteUserEvent event) {
|
||||
for (User user : teilnehmersList) {
|
||||
if (user.getId().equals(event.getUser_id())) {
|
||||
this.teilnehmersList.remove(user);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
4
src/main/java/mops/gruppen2/domain/Org.java
Normal file
4
src/main/java/mops/gruppen2/domain/Org.java
Normal file
@ -0,0 +1,4 @@
|
||||
package mops.gruppen2.domain;
|
||||
|
||||
public class Org extends Role {
|
||||
}
|
5
src/main/java/mops/gruppen2/domain/Role.java
Normal file
5
src/main/java/mops/gruppen2/domain/Role.java
Normal file
@ -0,0 +1,5 @@
|
||||
package mops.gruppen2.domain;
|
||||
|
||||
public class Role {
|
||||
|
||||
}
|
@ -1,14 +1,14 @@
|
||||
package mops.gruppen2.entities;
|
||||
package mops.gruppen2.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Teilnehmer {
|
||||
public class User {
|
||||
String id;
|
||||
String vorname;
|
||||
String nachname;
|
||||
String email;
|
||||
List<Gruppe> Gruppen;
|
||||
List<Group> gruppen;
|
||||
}
|
15
src/main/java/mops/gruppen2/domain/event/AddUserEvent.java
Normal file
15
src/main/java/mops/gruppen2/domain/event/AddUserEvent.java
Normal file
@ -0,0 +1,15 @@
|
||||
package mops.gruppen2.domain.event;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class AddUserEvent extends Event{
|
||||
String vorname, nachname, email;
|
||||
|
||||
public AddUserEvent(long id, long gruppe_id, String user_id, String vorname, String nachname, String email) {
|
||||
super(id, gruppe_id, user_id);
|
||||
this.vorname = vorname;
|
||||
this.nachname = nachname;
|
||||
this.email = email;
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package mops.gruppen2.events;
|
||||
package mops.gruppen2.domain.event;
|
||||
|
||||
import lombok.Getter;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package mops.gruppen2.events;
|
||||
package mops.gruppen2.domain.event;
|
||||
|
||||
import lombok.Getter;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package mops.gruppen2.events;
|
||||
package mops.gruppen2.domain.event;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
@ -1,4 +1,4 @@
|
||||
package mops.gruppen2.events;
|
||||
package mops.gruppen2.domain.event;
|
||||
|
||||
import lombok.Getter;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package mops.gruppen2.events;
|
||||
package mops.gruppen2.domain.event;
|
||||
|
||||
import lombok.Getter;
|
||||
|
@ -1,14 +1,14 @@
|
||||
package mops.gruppen2.events;
|
||||
package mops.gruppen2.domain.event;
|
||||
|
||||
import lombok.Getter;
|
||||
import mops.gruppen2.entities.Rolle;
|
||||
import mops.gruppen2.domain.Role;
|
||||
|
||||
@Getter
|
||||
public class UpdateRoleEvent extends Event {
|
||||
|
||||
private final Rolle role;
|
||||
private final Role role;
|
||||
|
||||
public UpdateRoleEvent(long id, long gruppe_id, String user_id, Rolle newRole) {
|
||||
public UpdateRoleEvent(long id, long gruppe_id, String user_id, Role newRole) {
|
||||
super(id, gruppe_id, user_id);
|
||||
|
||||
this.role = newRole;
|
@ -1,4 +0,0 @@
|
||||
package mops.gruppen2.entities;
|
||||
|
||||
public class Admin extends Rolle {
|
||||
}
|
@ -1,69 +0,0 @@
|
||||
package mops.gruppen2.entities;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import mops.gruppen2.events.*;
|
||||
import mops.gruppen2.events.AddUser;
|
||||
import mops.gruppen2.events.CreateGroupEvent;
|
||||
import mops.gruppen2.events.UpdateGroupDescriptionEvent;
|
||||
import mops.gruppen2.events.UpdateGroupTitleEvent;
|
||||
import mops.gruppen2.events.DeleteUserEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Data
|
||||
public class Gruppe extends Aggregat {
|
||||
long id;
|
||||
String titel;
|
||||
String beschreibung;
|
||||
List<Teilnehmer> teilnehmersList;
|
||||
Map<Teilnehmer, Rolle> rollenList;
|
||||
|
||||
public void applyEvent(CreateGroupEvent event){
|
||||
this.id = event.getGruppe_id();
|
||||
this.titel = event.getTitel();
|
||||
this.beschreibung = event.getBeschreibung();
|
||||
this.teilnehmersList = new ArrayList<>();
|
||||
this.rollenList = new HashMap<>();
|
||||
}
|
||||
|
||||
public void applyEvent(UpdateRoleEvent event) {
|
||||
teilnehmersList.stream()
|
||||
.filter(teilnehmer -> teilnehmer.getId().equals(event.getUser_id()))
|
||||
.findFirst()
|
||||
.ifPresentOrElse(teilnehmer -> rollenList.put(teilnehmer, event.getRole()),
|
||||
() -> System.out.println("UserNotFoundException"));
|
||||
}
|
||||
|
||||
public void applyEvent(AddUser event){
|
||||
Teilnehmer teilnehmer = new Teilnehmer();
|
||||
|
||||
teilnehmer.setId(event.getUser_id());
|
||||
teilnehmer.setVorname(event.getVorname());
|
||||
teilnehmer.setNachname(event.getNachname());
|
||||
teilnehmer.setEmail(event.getEmail());
|
||||
|
||||
this.teilnehmersList.add(teilnehmer);
|
||||
}
|
||||
|
||||
public void applyEvent(UpdateGroupTitleEvent event) {
|
||||
this.titel = event.getTitel();
|
||||
}
|
||||
|
||||
public void applyEvent(UpdateGroupDescriptionEvent event) {
|
||||
this.beschreibung = event.getBeschreibung();
|
||||
}
|
||||
|
||||
public void applyEvent(DeleteUserEvent event) {
|
||||
for (Teilnehmer teilnehmer: teilnehmersList) {
|
||||
if (teilnehmer.getId().equals(event.getUser_id())) {
|
||||
this.teilnehmersList.remove(teilnehmer);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
package mops.gruppen2.entities;
|
||||
|
||||
public class Orga extends Rolle {
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
package mops.gruppen2.entities;
|
||||
|
||||
public class Rolle {
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
package mops.gruppen2.events;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class AddUser extends Event{
|
||||
String vorname, nachname, email;
|
||||
|
||||
public AddUser(long id, long gruppe_id, String user_id, String vorname, String nachname, String email) {
|
||||
super(id, gruppe_id, user_id);
|
||||
this.vorname = vorname;
|
||||
this.nachname = nachname;
|
||||
this.email = email;
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package mops.gruppen2.repositories;
|
||||
package mops.gruppen2.repository;
|
||||
|
||||
import mops.gruppen2.events.Event;
|
||||
import mops.gruppen2.domain.event.Event;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface EventRepository extends CrudRepository<Event, Long> {
|
16
src/main/java/mops/gruppen2/service/GroupService.java
Normal file
16
src/main/java/mops/gruppen2/service/GroupService.java
Normal file
@ -0,0 +1,16 @@
|
||||
package mops.gruppen2.service;
|
||||
|
||||
import mops.gruppen2.domain.Group;
|
||||
import mops.gruppen2.domain.event.Event;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GroupService {
|
||||
|
||||
Group buildGroup(List<Event> eventList){
|
||||
Group newGroup = new Group();
|
||||
eventList.forEach(newGroup::applyEvent);
|
||||
return newGroup;
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package mops.gruppen2.services;
|
||||
package mops.gruppen2.service;
|
||||
|
||||
import mops.gruppen2.security.Account;
|
||||
import org.keycloak.KeycloakPrincipal;
|
@ -1,4 +1,4 @@
|
||||
package mops.gruppen2.services;
|
||||
package mops.gruppen2.service;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -1,16 +0,0 @@
|
||||
package mops.gruppen2.services;
|
||||
|
||||
import mops.gruppen2.events.Event;
|
||||
import mops.gruppen2.entities.Gruppe;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GruppenService {
|
||||
|
||||
Gruppe buildGroup(List<Event> eventList){
|
||||
Gruppe newGroup = new Gruppe();
|
||||
eventList.forEach(newGroup::applyEvent);
|
||||
return newGroup;
|
||||
}
|
||||
}
|
90
src/test/java/mops/gruppen2/domain/GroupTest.java
Normal file
90
src/test/java/mops/gruppen2/domain/GroupTest.java
Normal file
@ -0,0 +1,90 @@
|
||||
package mops.gruppen2.domain;
|
||||
|
||||
import mops.gruppen2.domain.event.AddUserEvent;
|
||||
import mops.gruppen2.domain.event.CreateGroupEvent;
|
||||
import mops.gruppen2.domain.event.UpdateRoleEvent;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
class GroupTest {
|
||||
|
||||
AddUserEvent addUserEvent;
|
||||
CreateGroupEvent createGroupEvent;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void applyEvent() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void applyAddUserEvent(){
|
||||
Group group = new Group();
|
||||
Group testGroup = new Group();
|
||||
User user = new User();
|
||||
addUserEvent = new AddUserEvent(1L,1L,"prof","jens","bendi", "hi@gmail.com");
|
||||
createGroupEvent = new CreateGroupEvent(1L,1L,"prof1", "hi", "foo");
|
||||
|
||||
group.applyEvent(createGroupEvent);
|
||||
group.applyEvent(addUserEvent);
|
||||
testGroup.applyEvent(createGroupEvent);
|
||||
user.setId("prof");
|
||||
user.setVorname("jens");
|
||||
user.setNachname("bendi");
|
||||
user.setEmail("hi@gmail.com");
|
||||
List<User> testTeil= new ArrayList<>();
|
||||
testTeil.add(user);
|
||||
testGroup.setTeilnehmersList(testTeil);
|
||||
|
||||
assertEquals(testGroup, group);
|
||||
}
|
||||
|
||||
// Verwendet CreateGroupEvent und AddUserEvent
|
||||
@Test
|
||||
void updateRoleForExistingUser() {
|
||||
// Arrange
|
||||
Group group = new Group();
|
||||
Org org = new Org();
|
||||
|
||||
group.applyEvent(new CreateGroupEvent(1L, 1L, "1L", "gruppe1", "Eine Testgruppe"));
|
||||
group.applyEvent(new AddUserEvent(1L, 1L, "5L", "Peter", "Pan", "123@mail.de"));
|
||||
|
||||
// Act
|
||||
group.applyEvent(new UpdateRoleEvent(1L, 1L, "5L", org));
|
||||
|
||||
// Assert
|
||||
assertThat(group.getRollenList())
|
||||
.containsOnlyKeys(group.getTeilnehmersList().get(0))
|
||||
.containsValue(org);
|
||||
}
|
||||
|
||||
@Test
|
||||
void applyCreteGroupEvent() {
|
||||
String userId = "asd";
|
||||
CreateGroupEvent event = new CreateGroupEvent(1L,2,userId, "hello", "foo");
|
||||
|
||||
Group group1 = new Group();
|
||||
group1.applyEvent(event);
|
||||
|
||||
Group group2 = new Group();
|
||||
group2.id = 2L;
|
||||
group2.titel = "hello";
|
||||
group2.beschreibung = "foo";
|
||||
group2.teilnehmersList = new ArrayList<>();
|
||||
group2.rollenList = new HashMap<>();
|
||||
|
||||
assertEquals(group2, group1);
|
||||
}
|
||||
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
package mops.gruppen2.entities;
|
||||
|
||||
import mops.gruppen2.events.AddUser;
|
||||
import mops.gruppen2.events.CreateGroupEvent;
|
||||
import mops.gruppen2.events.UpdateRoleEvent;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
class GruppeTest {
|
||||
|
||||
AddUser addUser;
|
||||
CreateGroupEvent createGroupEvent;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void applyEvent() {
|
||||
}
|
||||
|
||||
@Test
|
||||
void applyAddUserEvent(){
|
||||
Gruppe gruppe = new Gruppe();
|
||||
Gruppe testGruppe = new Gruppe();
|
||||
Teilnehmer teilnehmer = new Teilnehmer();
|
||||
addUser = new AddUser(1L,1L,"prof","jens","bendi", "hi@gmail.com");
|
||||
createGroupEvent = new CreateGroupEvent(1L,1L,"prof1", "hi", "foo");
|
||||
|
||||
gruppe.applyEvent(createGroupEvent);
|
||||
gruppe.applyEvent(addUser);
|
||||
testGruppe.applyEvent(createGroupEvent);
|
||||
teilnehmer.setId("prof");
|
||||
teilnehmer.setVorname("jens");
|
||||
teilnehmer.setNachname("bendi");
|
||||
teilnehmer.setEmail("hi@gmail.com");
|
||||
List<Teilnehmer> testTeil= new ArrayList<>();
|
||||
testTeil.add(teilnehmer);
|
||||
testGruppe.setTeilnehmersList(testTeil);
|
||||
|
||||
assertEquals(testGruppe,gruppe);
|
||||
}
|
||||
|
||||
// Verwendet CreateGroupEvent und AddUserEvent
|
||||
@Test
|
||||
void updateRoleForExistingUser() {
|
||||
// Arrange
|
||||
Gruppe gruppe = new Gruppe();
|
||||
Orga orga = new Orga();
|
||||
|
||||
gruppe.applyEvent(new CreateGroupEvent(1L, 1L, "1L", "gruppe1", "Eine Testgruppe"));
|
||||
gruppe.applyEvent(new AddUser(1L, 1L, "5L", "Peter", "Pan", "123@mail.de"));
|
||||
|
||||
// Act
|
||||
gruppe.applyEvent(new UpdateRoleEvent(1L, 1L, "5L", orga));
|
||||
|
||||
// Assert
|
||||
assertThat(gruppe.getRollenList())
|
||||
.containsOnlyKeys(gruppe.getTeilnehmersList().get(0))
|
||||
.containsValue(orga);
|
||||
}
|
||||
|
||||
@Test
|
||||
void applyCreteGroupEvent() {
|
||||
String userId = "asd";
|
||||
CreateGroupEvent event = new CreateGroupEvent(1L,2,userId, "hello", "foo");
|
||||
|
||||
Gruppe gruppe1 = new Gruppe();
|
||||
gruppe1.applyEvent(event);
|
||||
|
||||
Gruppe gruppe2 = new Gruppe();
|
||||
gruppe2.id = 2L;
|
||||
gruppe2.titel = "hello";
|
||||
gruppe2.beschreibung = "foo";
|
||||
gruppe2.teilnehmersList = new ArrayList<>();
|
||||
gruppe2.rollenList = new HashMap<>();
|
||||
|
||||
assertEquals(gruppe2, gruppe1);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user