diff --git a/src/main/java/mops/gruppen2/entities/Gruppe.java b/src/main/java/mops/gruppen2/entities/Gruppe.java index e609cbf..d83d2dc 100644 --- a/src/main/java/mops/gruppen2/entities/Gruppe.java +++ b/src/main/java/mops/gruppen2/entities/Gruppe.java @@ -3,6 +3,11 @@ 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; @@ -52,4 +57,13 @@ public class Gruppe extends Aggregat { 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; + } + } + } } diff --git a/src/main/java/mops/gruppen2/events/DeleteUserEvent.java b/src/main/java/mops/gruppen2/events/DeleteUserEvent.java new file mode 100644 index 0000000..2b925a2 --- /dev/null +++ b/src/main/java/mops/gruppen2/events/DeleteUserEvent.java @@ -0,0 +1,11 @@ +package mops.gruppen2.events; + +import lombok.Getter; + +@Getter +public class DeleteUserEvent extends Event{ + + public DeleteUserEvent(long id, long gruppe_id, long user_id) { + super(id, gruppe_id, user_id); + } +} diff --git a/src/main/java/mops/gruppen2/services/GruppenService.java b/src/main/java/mops/gruppen2/services/GruppenService.java index 5b1676f..9e72148 100644 --- a/src/main/java/mops/gruppen2/services/GruppenService.java +++ b/src/main/java/mops/gruppen2/services/GruppenService.java @@ -1,9 +1,8 @@ package mops.gruppen2.services; -import mops.gruppen2.entities.Gruppe; import mops.gruppen2.events.Event; +import mops.gruppen2.entities.Gruppe; import org.springframework.stereotype.Service; - import java.util.List; @Service diff --git a/src/test/java/mops/gruppen2/entities/GruppeTest.java b/src/test/java/mops/gruppen2/entities/GruppeTest.java index 7cd2ae9..62c7e4d 100644 --- a/src/test/java/mops/gruppen2/entities/GruppeTest.java +++ b/src/test/java/mops/gruppen2/entities/GruppeTest.java @@ -1,12 +1,51 @@ package mops.gruppen2.entities; +import mops.gruppen2.events.AddUser; +import mops.gruppen2.events.CreateGroupEvent; +import mops.gruppen2.events.Event; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import java.util.ArrayList; +import java.util.List; + import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.mock; 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,1L,"jens","bendi", "hi@gmail.com"); + createGroupEvent = new CreateGroupEvent(1L,1L,1L, "hi", "foo"); + + gruppe.applyEvent(createGroupEvent); + gruppe.applyEvent(addUser); + testGruppe.applyEvent(createGroupEvent); + teilnehmer.setId(1L); + teilnehmer.setVorname("jens"); + teilnehmer.setNachname("bendi"); + teilnehmer.setEmail("hi@gmail.com"); + List testTeil= new ArrayList<>(); + testTeil.add(teilnehmer); + testGruppe.setTeilnehmersList(testTeil); + + assertEquals(testGruppe,gruppe); + } } \ No newline at end of file