From 02456e9a880a79d7c7149411c5d028b978edda17 Mon Sep 17 00:00:00 2001 From: Mahgs Date: Fri, 6 Mar 2020 15:52:15 +0100 Subject: [PATCH 1/2] added DeleteUserEvent --- src/main/java/mops/gruppen2/entities/Gruppe.java | 11 +++++++++++ .../java/mops/gruppen2/events/DeleteUserEvent.java | 11 +++++++++++ .../java/mops/gruppen2/services/GruppenService.java | 4 +++- 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/main/java/mops/gruppen2/events/DeleteUserEvent.java diff --git a/src/main/java/mops/gruppen2/entities/Gruppe.java b/src/main/java/mops/gruppen2/entities/Gruppe.java index 6b3ddf9..c0f1d12 100644 --- a/src/main/java/mops/gruppen2/entities/Gruppe.java +++ b/src/main/java/mops/gruppen2/entities/Gruppe.java @@ -5,6 +5,7 @@ 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.List; @@ -40,5 +41,15 @@ public class Gruppe extends Aggregat { public void applyEvent(UpdateGroupDescriptionEvent event) { this.beschreibung = event.getBeschreibung(); + this.teilnehmersList = new ArrayList<>(); + } + + 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 bf5ac67..40e6a56 100644 --- a/src/main/java/mops/gruppen2/services/GruppenService.java +++ b/src/main/java/mops/gruppen2/services/GruppenService.java @@ -2,6 +2,7 @@ package mops.gruppen2.services; import mops.gruppen2.events.AddUser; import mops.gruppen2.events.CreateGroupEvent; +import mops.gruppen2.events.DeleteUserEvent; import mops.gruppen2.events.Event; import mops.gruppen2.entities.Gruppe; import org.springframework.stereotype.Service; @@ -14,13 +15,14 @@ public class GruppenService { CreateGroupEvent createGroupEvent = new CreateGroupEvent(1L,1L,1L,"hello", "foo"); AddUser addUser = new AddUser(1L, 1L, 1L, "jens","bendiest","jb@gmail.ru"); + DeleteUserEvent deleteUserEvent = new DeleteUserEvent(1L, 1L, 1L); public GruppenService(){ List eventList = new ArrayList<>(); eventList.add(createGroupEvent); eventList.add(addUser); + eventList.add(deleteUserEvent); Gruppe newGroup = buildGroup(eventList); - System.out.println(newGroup.toString()); } Gruppe buildGroup(List eventList){ From 991287527e6b3c1e2e8e085b3074b6e423120b9a Mon Sep 17 00:00:00 2001 From: killerber4t Date: Fri, 6 Mar 2020 15:58:12 +0100 Subject: [PATCH 2/2] add test to addUser-Event --- .../mops/gruppen2/entities/GruppeTest.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) 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