- |
+ |
Mitglied
Admin
@@ -113,8 +114,7 @@
diff --git a/src/main/resources/templates/search.html b/src/main/resources/templates/search.html
index f98ef29..e90a8dd 100644
--- a/src/main/resources/templates/search.html
+++ b/src/main/resources/templates/search.html
@@ -35,23 +35,24 @@
Gruppensuche
diff --git a/src/test/java/mops/gruppen2/TestBuilder.java b/src/test/java/mops/gruppen2/TestBuilder.java
index 903bd93..d79f850 100644
--- a/src/test/java/mops/gruppen2/TestBuilder.java
+++ b/src/test/java/mops/gruppen2/TestBuilder.java
@@ -1,6 +1,7 @@
package mops.gruppen2;
import com.github.javafaker.Faker;
+import mops.gruppen2.domain.Account;
import mops.gruppen2.domain.Group;
import mops.gruppen2.domain.GroupType;
import mops.gruppen2.domain.Role;
@@ -13,7 +14,6 @@ import mops.gruppen2.domain.event.Event;
import mops.gruppen2.domain.event.UpdateGroupDescriptionEvent;
import mops.gruppen2.domain.event.UpdateGroupTitleEvent;
import mops.gruppen2.domain.event.UpdateRoleEvent;
-import mops.gruppen2.security.Account;
import java.util.ArrayList;
import java.util.Collection;
@@ -29,11 +29,11 @@ public class TestBuilder {
public static Account account(String name) {
return new Account(name,
- "",
- "",
- "",
- "",
- null);
+ "",
+ "",
+ "",
+ "",
+ null);
}
public static Group apply(Group group, Event... events) {
@@ -52,12 +52,14 @@ public class TestBuilder {
* Baut eine UUID.
*
* @param id Integer id
+ *
* @return UUID
*/
- public static UUID uuidFromInt(int id) {
+ public static UUID uuidMock(int id) {
+ String idString = String.valueOf(Math.abs(id + 1));
return UUID.fromString("00000000-0000-0000-0000-"
- + "0".repeat(11 - String.valueOf(id).length())
- + id);
+ + "0".repeat(11 - idString.length())
+ + idString);
}
/**
@@ -65,22 +67,23 @@ public class TestBuilder {
*
* @param count Gruppenanzahl
* @param membercount Mitgliederanzahl pro Gruppe
+ *
* @return Eventliste
*/
public static List completePublicGroups(int count, int membercount) {
return IntStream.range(0, count)
- .parallel()
- .mapToObj(i -> completePublicGroup(membercount))
- .flatMap(Collection::stream)
- .collect(Collectors.toList());
+ .parallel()
+ .mapToObj(i -> completePublicGroup(membercount))
+ .flatMap(Collection::stream)
+ .collect(Collectors.toList());
}
public static List completePrivateGroups(int count, int membercount) {
return IntStream.range(0, count)
- .parallel()
- .mapToObj(i -> completePrivateGroup(membercount))
- .flatMap(Collection::stream)
- .collect(Collectors.toList());
+ .parallel()
+ .mapToObj(i -> completePrivateGroup(membercount))
+ .flatMap(Collection::stream)
+ .collect(Collectors.toList());
}
public static List completePublicGroup(int membercount) {
@@ -119,29 +122,30 @@ public class TestBuilder {
* Generiert mehrere CreateGroupEvents, 1 <= groupId <= count.
*
* @param count Anzahl der verschiedenen Gruppen
+ *
* @return Eventliste
*/
public static List createPublicGroupEvents(int count) {
return IntStream.range(0, count)
- .parallel()
- .mapToObj(i -> createPublicGroupEvent())
- .collect(Collectors.toList());
+ .parallel()
+ .mapToObj(i -> createPublicGroupEvent())
+ .collect(Collectors.toList());
}
public static List createPrivateGroupEvents(int count) {
return IntStream.range(0, count)
- .parallel()
- .mapToObj(i -> createPublicGroupEvent())
- .collect(Collectors.toList());
+ .parallel()
+ .mapToObj(i -> createPublicGroupEvent())
+ .collect(Collectors.toList());
}
public static List createMixedGroupEvents(int count) {
return IntStream.range(0, count)
- .parallel()
- .mapToObj(i -> faker.random().nextInt(0, 1) > 0.5
- ? createPublicGroupEvent()
- : createPrivateGroupEvent())
- .collect(Collectors.toList());
+ .parallel()
+ .mapToObj(i -> faker.random().nextInt(0, 1) > 0.5
+ ? createPublicGroupEvent()
+ : createPrivateGroupEvent())
+ .collect(Collectors.toList());
}
public static Event createPrivateGroupEvent(UUID groupId) {
@@ -191,13 +195,14 @@ public class TestBuilder {
*
* @param count Anzahl der Mitglieder
* @param groupId Gruppe, zu welcher geaddet wird
+ *
* @return Eventliste
*/
public static List addUserEvents(int count, UUID groupId) {
return IntStream.range(0, count)
- .parallel()
- .mapToObj(i -> addUserEvent(groupId, String.valueOf(i)))
- .collect(Collectors.toList());
+ .parallel()
+ .mapToObj(i -> addUserEvent(groupId, String.valueOf(i)))
+ .collect(Collectors.toList());
}
public static Event addUserEvent(UUID groupId, String userId) {
@@ -221,8 +226,8 @@ public class TestBuilder {
public static List deleteUserEvents(int count, List eventList) {
List removeEvents = new ArrayList<>();
List shuffle = eventList.parallelStream()
- .filter(event -> event instanceof AddUserEvent)
- .collect(Collectors.toList());
+ .filter(event -> event instanceof AddUserEvent)
+ .collect(Collectors.toList());
Collections.shuffle(shuffle);
@@ -241,12 +246,13 @@ public class TestBuilder {
* Erzeugt mehrere DeleteUserEvents, sodass eine Gruppe komplett geleert wird.
*
* @param group Gruppe welche geleert wird
+ *
* @return Eventliste
*/
public static List deleteUserEvents(Group group) {
return group.getMembers().parallelStream()
- .map(user -> deleteUserEvent(group.getId(), user.getId()))
- .collect(Collectors.toList());
+ .map(user -> deleteUserEvent(group.getId(), user.getId()))
+ .collect(Collectors.toList());
}
public static Event deleteUserEvent(UUID groupId, String userId) {
diff --git a/src/test/java/mops/gruppen2/architecture/LayeredArchitectureTest.java b/src/test/java/mops/gruppen2/architecture/LayeredArchitectureTest.java
index fca3740..2596a1d 100644
--- a/src/test/java/mops/gruppen2/architecture/LayeredArchitectureTest.java
+++ b/src/test/java/mops/gruppen2/architecture/LayeredArchitectureTest.java
@@ -14,18 +14,17 @@ public class LayeredArchitectureTest {
.layer("Domain").definedBy("..domain..")
.layer("Service").definedBy("..service")
.layer("Controller").definedBy("..controller..")
- .layer("Repository").definedBy("..repository..")
- .layer("Config").definedBy("..config..");
+ .layer("Repository").definedBy("..repository..");
@ArchTest
public static final ArchRule domainLayerShouldOnlyBeAccessedByServiceAndControllerLayer = layeredArchitecture
.whereLayer("Domain")
- .mayOnlyBeAccessedByLayers("Service", "Controller", "Config");
+ .mayOnlyBeAccessedByLayers("Service", "Controller");
@ArchTest
public static final ArchRule serviceLayerShouldOnlyBeAccessedByControllerLayer = layeredArchitecture
.whereLayer("Service")
- .mayOnlyBeAccessedByLayers("Controller", "Config");
+ .mayOnlyBeAccessedByLayers("Controller");
@ArchTest
public static final ArchRule repositoryLayerShouldOnlyBeAccessedByServiceLayer = layeredArchitecture
diff --git a/src/test/java/mops/gruppen2/controller/APIControllerTest.java b/src/test/java/mops/gruppen2/controller/APIControllerTest.java
new file mode 100644
index 0000000..a04386b
--- /dev/null
+++ b/src/test/java/mops/gruppen2/controller/APIControllerTest.java
@@ -0,0 +1,167 @@
+package mops.gruppen2.controller;
+
+import mops.gruppen2.Gruppen2Application;
+import mops.gruppen2.repository.EventRepository;
+import mops.gruppen2.service.EventService;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.security.test.context.support.WithMockUser;
+import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+import org.springframework.transaction.annotation.Transactional;
+
+import static mops.gruppen2.TestBuilder.addUserEvent;
+import static mops.gruppen2.TestBuilder.createPrivateGroupEvent;
+import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
+import static mops.gruppen2.TestBuilder.deleteGroupEvent;
+import static mops.gruppen2.TestBuilder.deleteUserEvent;
+import static mops.gruppen2.TestBuilder.updateGroupTitleEvent;
+import static mops.gruppen2.TestBuilder.uuidMock;
+import static org.assertj.core.api.Assertions.assertThat;
+
+@ExtendWith(SpringExtension.class)
+@SpringBootTest(classes = Gruppen2Application.class)
+@Transactional
+@Rollback
+class APIControllerTest {
+
+ @Autowired
+ private EventRepository eventRepository;
+ @Autowired
+ private APIController apiController;
+ private EventService eventService;
+ @Autowired
+ private JdbcTemplate template;
+
+ @BeforeEach
+ void setUp() {
+ eventService = new EventService(eventRepository);
+ eventRepository.deleteAll();
+ //noinspection SqlResolve
+ template.execute("ALTER TABLE event ALTER COLUMN event_id RESTART WITH 1");
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void updateGroup_noGroup() {
+ assertThat(apiController.updateGroups(0L).getGroupList()).hasSize(0);
+ assertThat(apiController.updateGroups(4L).getGroupList()).hasSize(0);
+ assertThat(apiController.updateGroups(10L).getGroupList()).hasSize(0);
+ assertThat(apiController.updateGroups(0L).getStatus()).isEqualTo(0);
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void updateGroup_singleGroup() {
+ eventService.saveAll(createPublicGroupEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0)));
+
+ assertThat(apiController.updateGroups(0L).getGroupList()).hasSize(1);
+ assertThat(apiController.updateGroups(4L).getGroupList()).hasSize(1);
+ assertThat(apiController.updateGroups(10L).getGroupList()).hasSize(0);
+ assertThat(apiController.updateGroups(0L).getStatus()).isEqualTo(5);
+ }
+
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void updateGroup_multipleGroups() {
+ eventService.saveAll(createPublicGroupEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0)),
+ createPrivateGroupEvent(uuidMock(1)),
+ addUserEvent(uuidMock(1)),
+ addUserEvent(uuidMock(1)),
+ addUserEvent(uuidMock(1)));
+
+ assertThat(apiController.updateGroups(0L).getGroupList()).hasSize(2);
+ assertThat(apiController.updateGroups(4L).getGroupList()).hasSize(1);
+ assertThat(apiController.updateGroups(6L).getGroupList()).hasSize(1);
+ assertThat(apiController.updateGroups(7L).getGroupList()).hasSize(0);
+ assertThat(apiController.updateGroups(0L).getStatus()).isEqualTo(7);
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void getGroupsOfUser_noGroup() {
+ assertThat(apiController.getGroupIdsOfUser("A")).isEmpty();
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void getGroupsOfUser_singleGroup() {
+ eventService.saveAll(createPrivateGroupEvent(uuidMock(0)),
+ createPrivateGroupEvent(uuidMock(1)),
+ createPrivateGroupEvent(uuidMock(2)),
+ addUserEvent(uuidMock(0), "A"));
+
+ assertThat(apiController.getGroupIdsOfUser("A")).hasSize(1);
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void getGroupsOfUser_singleGroupDeletedUser() {
+ eventService.saveAll(createPrivateGroupEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0), "A"),
+ deleteUserEvent(uuidMock(0), "A"));
+
+ assertThat(apiController.getGroupIdsOfUser("A")).isEmpty();
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void getGroupsOfUser_singleDeletedGroup() {
+ eventService.saveAll(createPrivateGroupEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0), "A"),
+ deleteGroupEvent(uuidMock(0)));
+
+ assertThat(apiController.getGroupIdsOfUser("A")).isEmpty();
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void getGroupsOfUser_multipleGroups() {
+ eventService.saveAll(createPrivateGroupEvent(uuidMock(0)),
+ createPrivateGroupEvent(uuidMock(1)),
+ createPrivateGroupEvent(uuidMock(2)),
+ addUserEvent(uuidMock(0), "A"),
+ addUserEvent(uuidMock(0), "B"),
+ addUserEvent(uuidMock(1), "A"),
+ addUserEvent(uuidMock(2), "A"),
+ addUserEvent(uuidMock(2), "B"));
+
+ assertThat(apiController.getGroupIdsOfUser("A")).hasSize(3);
+ assertThat(apiController.getGroupIdsOfUser("B")).hasSize(2);
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void getGroupFromId_noGroup() {
+ assertThat(apiController.getGroupById(uuidMock(0).toString())).isEqualTo(null);
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void getGroupFromId_singleGroup() {
+ eventService.saveAll(createPrivateGroupEvent(uuidMock(0)));
+
+ assertThat(apiController.getGroupById(uuidMock(0).toString()).getId()).isEqualTo(uuidMock(0));
+ }
+
+ @Test
+ @WithMockUser(username = "api_user", roles = "api_user")
+ void getGroupFromId_deletedGroup() {
+ eventService.saveAll(createPrivateGroupEvent(uuidMock(0)),
+ updateGroupTitleEvent(uuidMock(0)),
+ deleteGroupEvent(uuidMock(0)));
+
+ assertThat(apiController.getGroupById(uuidMock(0).toString()).getTitle()).isEqualTo(null);
+ }
+}
diff --git a/src/test/java/mops/gruppen2/domain/event/AddUserEventTest.java b/src/test/java/mops/gruppen2/domain/event/AddUserEventTest.java
index 81472a6..050c1ff 100644
--- a/src/test/java/mops/gruppen2/domain/event/AddUserEventTest.java
+++ b/src/test/java/mops/gruppen2/domain/event/AddUserEventTest.java
@@ -1,35 +1,57 @@
package mops.gruppen2.domain.event;
import mops.gruppen2.domain.Group;
-import mops.gruppen2.domain.User;
-import mops.gruppen2.domain.exception.EventException;
+import mops.gruppen2.domain.exception.GroupFullException;
import mops.gruppen2.domain.exception.UserAlreadyExistsException;
import org.junit.jupiter.api.Test;
-import java.util.UUID;
-
+import static mops.gruppen2.TestBuilder.addUserEvent;
+import static mops.gruppen2.TestBuilder.apply;
+import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
+import static mops.gruppen2.TestBuilder.uuidMock;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
class AddUserEventTest {
@Test
- void userAlreadyExistExeption() throws EventException {
- Group group = new Group();
- User user = new User("user1", "Stein", "Speck", "@sdasd");
- group.getMembers().add(user);
- group.setUserMaximum(10L);
- UUID id = UUID.randomUUID();
- Event event1 = new AddUserEvent(id, "user2", "Rock", "Roll", "and");
- event1.apply(group);
+ void applyEvent() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event addEvent = new AddUserEvent(uuidMock(0), "A", "Thomas", "Tom", "tho@mail.de");
- Event event2 = new AddUserEvent(id, "user1", "Rock", "Roll", "and");
+ Group group = apply(createEvent, addEvent);
- assertThrows(UserAlreadyExistsException.class, () ->
- event2.apply(group)
- );
- assertThat(group.getMembers().size()).isEqualTo(2);
+ assertThat(group.getMembers()).hasSize(1);
+ assertThat(group.getMembers().get(0).getGivenname()).isEqualTo("Thomas");
+ assertThat(group.getMembers().get(0).getFamilyname()).isEqualTo("Tom");
+ assertThat(group.getMembers().get(0).getEmail()).isEqualTo("tho@mail.de");
}
+ @Test
+ void applyEvent_userAlreadyExists() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event addEventA = addUserEvent(uuidMock(0), "A");
+ Event addEventB = addUserEvent(uuidMock(0), "B");
+ Event addEventC = addUserEvent(uuidMock(0), "A");
+ Group group = apply(createEvent, addEventA, addEventB);
+
+ assertThrows(UserAlreadyExistsException.class, () -> addEventA.apply(group));
+ assertThrows(UserAlreadyExistsException.class, () -> addEventC.apply(group));
+ assertThat(group.getMembers()).hasSize(2);
+ }
+
+ @Test
+ void applyEvent_groupFull() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event maxSizeEvent = new UpdateUserMaxEvent(uuidMock(0), "A", 2L);
+ Event addEventA = addUserEvent(uuidMock(0), "A");
+ Event addEventB = addUserEvent(uuidMock(0), "B");
+ Event addEventC = addUserEvent(uuidMock(0), "C");
+
+ Group group = apply(createEvent, maxSizeEvent, addEventA, addEventB);
+
+ assertThrows(GroupFullException.class, () -> addEventC.apply(group));
+ assertThat(group.getMembers()).hasSize(2);
+ }
}
diff --git a/src/test/java/mops/gruppen2/domain/event/CreateGroupEventTest.java b/src/test/java/mops/gruppen2/domain/event/CreateGroupEventTest.java
new file mode 100644
index 0000000..cdbbeea
--- /dev/null
+++ b/src/test/java/mops/gruppen2/domain/event/CreateGroupEventTest.java
@@ -0,0 +1,32 @@
+package mops.gruppen2.domain.event;
+
+import mops.gruppen2.TestBuilder;
+import mops.gruppen2.domain.Group;
+import mops.gruppen2.domain.GroupType;
+import mops.gruppen2.domain.Visibility;
+import org.junit.jupiter.api.Test;
+
+import static mops.gruppen2.TestBuilder.uuidMock;
+import static org.assertj.core.api.Assertions.assertThat;
+
+class CreateGroupEventTest {
+
+ @Test
+ void applyEvent() {
+ Event createEvent = new CreateGroupEvent(uuidMock(0),
+ "A",
+ uuidMock(1),
+ GroupType.SIMPLE,
+ Visibility.PUBLIC,
+ 100L);
+
+ Group group = TestBuilder.apply(createEvent);
+
+ assertThat(group.getMembers()).hasSize(0);
+ assertThat(group.getType()).isEqualTo(GroupType.SIMPLE);
+ assertThat(group.getVisibility()).isEqualTo(Visibility.PUBLIC);
+ assertThat(group.getUserMaximum()).isEqualTo(100);
+ assertThat(group.getId()).isEqualTo(uuidMock(0));
+ assertThat(group.getParent()).isEqualTo(uuidMock(1));
+ }
+}
diff --git a/src/test/java/mops/gruppen2/domain/event/DeleteGroupEventTest.java b/src/test/java/mops/gruppen2/domain/event/DeleteGroupEventTest.java
new file mode 100644
index 0000000..67090f2
--- /dev/null
+++ b/src/test/java/mops/gruppen2/domain/event/DeleteGroupEventTest.java
@@ -0,0 +1,33 @@
+package mops.gruppen2.domain.event;
+
+import mops.gruppen2.TestBuilder;
+import mops.gruppen2.domain.Group;
+import mops.gruppen2.domain.GroupType;
+import mops.gruppen2.domain.Visibility;
+import org.junit.jupiter.api.Test;
+
+import static mops.gruppen2.TestBuilder.uuidMock;
+import static org.assertj.core.api.Assertions.assertThat;
+
+class DeleteGroupEventTest {
+
+ @Test
+ void applyEvent() {
+ Event createEvent = new CreateGroupEvent(uuidMock(0),
+ "A",
+ uuidMock(1),
+ GroupType.SIMPLE,
+ Visibility.PUBLIC,
+ 100L);
+ Event deleteEvent = new DeleteGroupEvent(uuidMock(0), "A");
+
+ Group group = TestBuilder.apply(createEvent, deleteEvent);
+
+ assertThat(group.getMembers()).isEmpty();
+ assertThat(group.getType()).isEqualTo(null);
+ assertThat(group.getVisibility()).isEqualTo(null);
+ assertThat(group.getUserMaximum()).isEqualTo(0);
+ assertThat(group.getId()).isEqualTo(uuidMock(0));
+ assertThat(group.getParent()).isEqualTo(null);
+ }
+}
diff --git a/src/test/java/mops/gruppen2/domain/event/DeleteUserEventTest.java b/src/test/java/mops/gruppen2/domain/event/DeleteUserEventTest.java
index dad27f5..ecee94a 100644
--- a/src/test/java/mops/gruppen2/domain/event/DeleteUserEventTest.java
+++ b/src/test/java/mops/gruppen2/domain/event/DeleteUserEventTest.java
@@ -1,48 +1,38 @@
package mops.gruppen2.domain.event;
+import mops.gruppen2.TestBuilder;
import mops.gruppen2.domain.Group;
-import mops.gruppen2.domain.User;
-import mops.gruppen2.domain.exception.EventException;
import mops.gruppen2.domain.exception.UserNotFoundException;
import org.junit.jupiter.api.Test;
-import java.util.UUID;
-
-import static mops.gruppen2.domain.Role.MEMBER;
+import static mops.gruppen2.TestBuilder.addUserEvent;
+import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
+import static mops.gruppen2.TestBuilder.uuidMock;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
class DeleteUserEventTest {
@Test
- void applyDeleteUser() throws EventException {
- Group group = new Group();
- User user = new User("user1", "Stein", "Speck", "@sdasd");
- group.getMembers().add(user);
- group.getRoles().put("user1", MEMBER);
- User user2 = new User("user2", "Rock", "Roll", "and");
- group.getMembers().add(user2);
- group.getRoles().put("user2", MEMBER);
+ void applyEvent() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event addEvent = addUserEvent(uuidMock(0), "A");
+ Event deleteEvent = new DeleteUserEvent(uuidMock(0), "A");
- Event event = new DeleteUserEvent(UUID.randomUUID(), "user1");
- event.apply(group);
-
- assertThat(group.getMembers().size()).isEqualTo(1);
- assertThat(group.getRoles().size()).isEqualTo(1);
+ Group group = TestBuilder.apply(createEvent, addEvent, deleteEvent);
+ assertThat(group.getMembers()).hasSize(0);
}
@Test
- void userDoesNotExistExeption() {
- Group group = new Group();
- User user = new User("user1", "Stein", "Speck", "@sdasd");
- group.getMembers().add(user);
- group.getRoles().put("user1", MEMBER);
+ void applyEvent_userNotFound() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event addEvent = addUserEvent(uuidMock(0), "A");
+ Event deleteEvent = new DeleteUserEvent(uuidMock(0), "B");
- Event event = new DeleteUserEvent(UUID.randomUUID(), "user5");
- assertThrows(UserNotFoundException.class, () ->
- event.apply(group)
- );
- assertThat(group.getMembers().size()).isEqualTo(1);
+ Group group = TestBuilder.apply(createEvent, addEvent);
+
+ assertThrows(UserNotFoundException.class, () -> deleteEvent.apply(group));
+ assertThat(group.getMembers()).hasSize(1);
}
}
diff --git a/src/test/java/mops/gruppen2/domain/event/EventTest.java b/src/test/java/mops/gruppen2/domain/event/EventTest.java
new file mode 100644
index 0000000..dd906fb
--- /dev/null
+++ b/src/test/java/mops/gruppen2/domain/event/EventTest.java
@@ -0,0 +1,24 @@
+package mops.gruppen2.domain.event;
+
+import mops.gruppen2.TestBuilder;
+import mops.gruppen2.domain.Group;
+import mops.gruppen2.domain.exception.GroupIdMismatchException;
+import org.junit.jupiter.api.Test;
+
+import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
+import static mops.gruppen2.TestBuilder.uuidMock;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+class EventTest {
+
+ @Test
+ void apply() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event addEvent = TestBuilder.addUserEvent(uuidMock(1));
+
+ Group group = TestBuilder.apply(createEvent);
+
+ assertThrows(GroupIdMismatchException.class, () -> addEvent.apply(group));
+ }
+
+}
diff --git a/src/test/java/mops/gruppen2/domain/event/UpdateGroupDescriptionEventTest.java b/src/test/java/mops/gruppen2/domain/event/UpdateGroupDescriptionEventTest.java
new file mode 100644
index 0000000..8a8d53b
--- /dev/null
+++ b/src/test/java/mops/gruppen2/domain/event/UpdateGroupDescriptionEventTest.java
@@ -0,0 +1,36 @@
+package mops.gruppen2.domain.event;
+
+import mops.gruppen2.TestBuilder;
+import mops.gruppen2.domain.Group;
+import mops.gruppen2.domain.exception.BadParameterException;
+import org.junit.jupiter.api.Test;
+
+import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
+import static mops.gruppen2.TestBuilder.uuidMock;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+class UpdateGroupDescriptionEventTest {
+
+ @Test
+ void applyEvent() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event updateEvent = new UpdateGroupDescriptionEvent(uuidMock(0), "A", "desc.");
+
+ Group group = TestBuilder.apply(createEvent, updateEvent);
+
+ assertThat(group.getDescription()).isEqualTo("desc.");
+ }
+
+ @Test
+ void applyEvent_badDescription() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event updateEventA = new UpdateGroupDescriptionEvent(uuidMock(0), "A", "");
+ Event updateEventB = new UpdateGroupDescriptionEvent(uuidMock(0), "A", " ");
+
+ Group group = TestBuilder.apply(createEvent);
+
+ assertThrows(BadParameterException.class, () -> updateEventA.apply(group));
+ assertThrows(BadParameterException.class, () -> updateEventB.apply(group));
+ }
+}
diff --git a/src/test/java/mops/gruppen2/domain/event/UpdateGroupTitleEventTest.java b/src/test/java/mops/gruppen2/domain/event/UpdateGroupTitleEventTest.java
new file mode 100644
index 0000000..318d4dd
--- /dev/null
+++ b/src/test/java/mops/gruppen2/domain/event/UpdateGroupTitleEventTest.java
@@ -0,0 +1,36 @@
+package mops.gruppen2.domain.event;
+
+import mops.gruppen2.TestBuilder;
+import mops.gruppen2.domain.Group;
+import mops.gruppen2.domain.exception.BadParameterException;
+import org.junit.jupiter.api.Test;
+
+import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
+import static mops.gruppen2.TestBuilder.uuidMock;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+class UpdateGroupTitleEventTest {
+
+ @Test
+ void applyEvent() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event updateEvent = new UpdateGroupTitleEvent(uuidMock(0), "A", "title.");
+
+ Group group = TestBuilder.apply(createEvent, updateEvent);
+
+ assertThat(group.getTitle()).isEqualTo("title.");
+ }
+
+ @Test
+ void applyEvent_badDescription() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event updateEventA = new UpdateGroupTitleEvent(uuidMock(0), "A", "");
+ Event updateEventB = new UpdateGroupTitleEvent(uuidMock(0), "A", " ");
+
+ Group group = TestBuilder.apply(createEvent);
+
+ assertThrows(BadParameterException.class, () -> updateEventA.apply(group));
+ assertThrows(BadParameterException.class, () -> updateEventB.apply(group));
+ }
+}
diff --git a/src/test/java/mops/gruppen2/domain/event/UpdateRoleEventTest.java b/src/test/java/mops/gruppen2/domain/event/UpdateRoleEventTest.java
new file mode 100644
index 0000000..3b3b5d0
--- /dev/null
+++ b/src/test/java/mops/gruppen2/domain/event/UpdateRoleEventTest.java
@@ -0,0 +1,39 @@
+package mops.gruppen2.domain.event;
+
+import mops.gruppen2.domain.Group;
+import mops.gruppen2.domain.Role;
+import mops.gruppen2.domain.exception.UserNotFoundException;
+import org.junit.jupiter.api.Test;
+
+import static mops.gruppen2.TestBuilder.addUserEvent;
+import static mops.gruppen2.TestBuilder.apply;
+import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
+import static mops.gruppen2.TestBuilder.uuidMock;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+class UpdateRoleEventTest {
+
+ @Test
+ void applyEvent() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event addEvent = addUserEvent(uuidMock(0), "A");
+ Event updateEvent = new UpdateRoleEvent(uuidMock(0), "A", Role.ADMIN);
+
+ Group group = apply(createEvent, addEvent, updateEvent);
+
+ assertThat(group.getRoles().get("A")).isEqualTo(Role.ADMIN);
+ }
+
+ @Test
+ void applyEvent_userNotFound() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event addEvent = addUserEvent(uuidMock(0), "A");
+ Event updateEvent = new UpdateRoleEvent(uuidMock(0), "B", Role.ADMIN);
+
+ Group group = apply(createEvent, addEvent);
+
+ assertThrows(UserNotFoundException.class, () -> updateEvent.apply(group));
+ assertThat(group.getRoles().get("A")).isEqualTo(Role.MEMBER);
+ }
+}
diff --git a/src/test/java/mops/gruppen2/domain/event/UpdateUserMaxEventTest.java b/src/test/java/mops/gruppen2/domain/event/UpdateUserMaxEventTest.java
new file mode 100644
index 0000000..b9e741f
--- /dev/null
+++ b/src/test/java/mops/gruppen2/domain/event/UpdateUserMaxEventTest.java
@@ -0,0 +1,49 @@
+package mops.gruppen2.domain.event;
+
+import mops.gruppen2.domain.Group;
+import mops.gruppen2.domain.exception.BadParameterException;
+import org.junit.jupiter.api.Test;
+
+import static mops.gruppen2.TestBuilder.addUserEvent;
+import static mops.gruppen2.TestBuilder.apply;
+import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
+import static mops.gruppen2.TestBuilder.uuidMock;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+class UpdateUserMaxEventTest {
+
+ @Test
+ void applyEvent() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event updateEvent = new UpdateUserMaxEvent(uuidMock(0), "A", 5L);
+
+ Group group = apply(createEvent, updateEvent);
+
+ assertThat(group.getUserMaximum()).isEqualTo(5);
+ }
+
+ @Test
+ void applyEvent_badParameter_negative() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event updateEvent = new UpdateUserMaxEvent(uuidMock(0), "A", -5L);
+
+ Group group = apply(createEvent);
+
+ assertThrows(BadParameterException.class, () -> updateEvent.apply(group));
+ }
+
+ @Test
+ void applyEvent_badParameter_tooSmall() {
+ Event createEvent = createPublicGroupEvent(uuidMock(0));
+ Event updateEventA = new UpdateUserMaxEvent(uuidMock(0), "A", 5L);
+ Event addEventA = addUserEvent(uuidMock(0));
+ Event addEventB = addUserEvent(uuidMock(0));
+ Event addEventC = addUserEvent(uuidMock(0));
+ Event updateEventB = new UpdateUserMaxEvent(uuidMock(0), "A", 2L);
+
+ Group group = apply(createEvent, updateEventA, addEventA, addEventB, addEventC);
+
+ assertThrows(BadParameterException.class, () -> updateEventB.apply(group));
+ }
+}
diff --git a/src/test/java/mops/gruppen2/service/ControllerServiceTest.java b/src/test/java/mops/gruppen2/service/ControllerServiceTest.java
index 75200e6..9cfc762 100644
--- a/src/test/java/mops/gruppen2/service/ControllerServiceTest.java
+++ b/src/test/java/mops/gruppen2/service/ControllerServiceTest.java
@@ -1,14 +1,14 @@
package mops.gruppen2.service;
import mops.gruppen2.Gruppen2Application;
-import mops.gruppen2.domain.User;
+import mops.gruppen2.domain.Account;
import mops.gruppen2.domain.Group;
-import mops.gruppen2.domain.Role;
-import mops.gruppen2.domain.Visibility;
import mops.gruppen2.domain.GroupType;
+import mops.gruppen2.domain.Role;
+import mops.gruppen2.domain.User;
+import mops.gruppen2.domain.Visibility;
import mops.gruppen2.domain.exception.UserNotFoundException;
import mops.gruppen2.repository.EventRepository;
-import mops.gruppen2.security.Account;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -33,6 +33,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
@Transactional
@Rollback
class ControllerServiceTest {
+
Account account;
Account account2;
Account account3;
@@ -44,13 +45,11 @@ class ControllerServiceTest {
EventRepository eventRepository;
GroupService groupService;
@Autowired
- JsonService jsonService;
- @Autowired
InviteService inviteService;
@BeforeEach
void setUp() {
- eventService = new EventService(jsonService, eventRepository);
+ eventService = new EventService(eventRepository);
groupService = new GroupService(eventService, eventRepository);
userService = new UserService(groupService, eventService);
validationService = new ValidationService(userService, groupService);
@@ -136,7 +135,7 @@ class ControllerServiceTest {
void createPublicGroupWithParentAndUnlimitedNumberTest() throws IOException {
controllerService.createGroupAsOrga(account2, "test", "hi", null, null, true, null, null, null);
List groups1 = userService.getUserGroups(new User(account2.getName(), account2.getGivenname(), account2.getFamilyname(), account2.getEmail()));
- controllerService.createGroup(account, "test", "hi", null, true, true, null,groups1.get(0).getId());
+ controllerService.createGroup(account, "test", "hi", null, true, true, null, groups1.get(0).getId());
List groups = userService.getUserGroups(new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()));
testTitleAndDescription(groups.get(0).getTitle(), groups.get(0).getDescription());
assertEquals(Visibility.PUBLIC, groups.get(0).getVisibility());
diff --git a/src/test/java/mops/gruppen2/service/EventServiceTest.java b/src/test/java/mops/gruppen2/service/EventServiceTest.java
index 540e854..43e105c 100644
--- a/src/test/java/mops/gruppen2/service/EventServiceTest.java
+++ b/src/test/java/mops/gruppen2/service/EventServiceTest.java
@@ -5,26 +5,23 @@ import mops.gruppen2.domain.dto.EventDTO;
import mops.gruppen2.domain.event.Event;
import mops.gruppen2.repository.EventRepository;
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.transaction.annotation.Transactional;
import static mops.gruppen2.TestBuilder.addUserEvent;
import static mops.gruppen2.TestBuilder.addUserEvents;
-import static mops.gruppen2.TestBuilder.createPrivateGroupEvent;
import static mops.gruppen2.TestBuilder.createPrivateGroupEvents;
import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
import static mops.gruppen2.TestBuilder.createPublicGroupEvents;
-import static mops.gruppen2.TestBuilder.updateGroupDescriptionEvent;
-import static mops.gruppen2.TestBuilder.uuidFromInt;
+import static mops.gruppen2.TestBuilder.uuidMock;
import static org.assertj.core.api.Assertions.assertThat;
-//TODO: Der ID autocounter wird nicht resettet -> Tests schlagen fehl beim nacheinanderausführen
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = Gruppen2Application.class)
@Transactional
@@ -33,14 +30,16 @@ class EventServiceTest {
@Autowired
private EventRepository eventRepository;
- @Autowired
- private JsonService jsonService;
private EventService eventService;
+ @Autowired
+ private JdbcTemplate template;
@BeforeEach
void setUp() {
- eventService = new EventService(jsonService, eventRepository);
+ eventService = new EventService(eventRepository);
eventRepository.deleteAll();
+ //noinspection SqlResolve
+ template.execute("ALTER TABLE event ALTER COLUMN event_id RESTART WITH 1");
}
@Test
@@ -79,20 +78,20 @@ class EventServiceTest {
@Test
void getEventsOfGroup() {
- eventService.saveAll(addUserEvents(10, uuidFromInt(0)),
- addUserEvents(5, uuidFromInt(1)));
+ eventService.saveAll(addUserEvents(10, uuidMock(0)),
+ addUserEvents(5, uuidMock(1)));
- assertThat(eventService.getEventsOfGroup(uuidFromInt(0))).hasSize(10);
- assertThat(eventService.getEventsOfGroup(uuidFromInt(1))).hasSize(5);
+ assertThat(eventService.getEventsOfGroup(uuidMock(0))).hasSize(10);
+ assertThat(eventService.getEventsOfGroup(uuidMock(1))).hasSize(5);
}
@Test
void findGroupIdsByUser() {
- eventService.saveAll(addUserEvent(uuidFromInt(0), "A"),
- addUserEvent(uuidFromInt(1), "A"),
- addUserEvent(uuidFromInt(2), "A"),
- addUserEvent(uuidFromInt(3), "A"),
- addUserEvent(uuidFromInt(3), "B"));
+ eventService.saveAll(addUserEvent(uuidMock(0), "A"),
+ addUserEvent(uuidMock(1), "A"),
+ addUserEvent(uuidMock(2), "A"),
+ addUserEvent(uuidMock(3), "A"),
+ addUserEvent(uuidMock(3), "B"));
assertThat(eventService.findGroupIdsByUser("A")).hasSize(4);
assertThat(eventService.findGroupIdsByUser("B")).hasSize(1);
diff --git a/src/test/java/mops/gruppen2/service/GroupServiceTest.java b/src/test/java/mops/gruppen2/service/GroupServiceTest.java
index 3101bf0..488a22b 100644
--- a/src/test/java/mops/gruppen2/service/GroupServiceTest.java
+++ b/src/test/java/mops/gruppen2/service/GroupServiceTest.java
@@ -11,6 +11,7 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.transaction.annotation.Transactional;
@@ -30,7 +31,7 @@ import static mops.gruppen2.TestBuilder.createPublicGroupEvent;
import static mops.gruppen2.TestBuilder.deleteGroupEvent;
import static mops.gruppen2.TestBuilder.updateGroupDescriptionEvent;
import static mops.gruppen2.TestBuilder.updateGroupTitleEvent;
-import static mops.gruppen2.TestBuilder.uuidFromInt;
+import static mops.gruppen2.TestBuilder.uuidMock;
import static org.assertj.core.api.Assertions.assertThat;
@ExtendWith(SpringExtension.class)
@@ -44,20 +45,20 @@ class GroupServiceTest {
@Autowired
private EventService eventService;
private GroupService groupService;
+ @Autowired
+ private JdbcTemplate template;
@BeforeEach
void setUp() {
groupService = new GroupService(eventService, eventRepository);
eventRepository.deleteAll();
+ //noinspection SqlResolve
+ template.execute("ALTER TABLE event ALTER COLUMN event_id RESTART WITH 1");
}
//TODO: Wofür ist dieser Test?
@Test
void rightClassForSuccessfulGroup() {
- /*List eventList = new ArrayList<>();
- UUID id = UUID.randomUUID();
- eventList.add(new CreateGroupEvent(id, "Prof", null, GroupType.LECTURE, Visibility.PRIVATE, 1000L));
- eventList.add(new AddUserEvent(id, "Ulli", "Ulli", "Honnis", "FC@B.de"));*/
List eventList = completePrivateGroup(1);
List groups = groupService.projectEventList(eventList);
@@ -88,30 +89,21 @@ class GroupServiceTest {
@Test
void getGroupEvents() {
- //CreateGroupEvent test1 = new CreateGroupEvent(uuidFromInt(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L);
- //CreateGroupEvent test2 = new CreateGroupEvent(uuidFromInt(1), "test2", null, GroupType.SIMPLE, Visibility.PUBLIC, 10L);
+ eventService.saveAll(createPublicGroupEvent(uuidMock(0)),
+ createPublicGroupEvent(uuidMock(1)),
+ createPrivateGroupEvent(uuidMock(2)));
- eventService.saveAll(createPublicGroupEvent(uuidFromInt(0)),
- createPublicGroupEvent(uuidFromInt(1)),
- createPrivateGroupEvent(uuidFromInt(2)));
-
- List groupIds = Arrays.asList(uuidFromInt(0), uuidFromInt(1));
+ List groupIds = Arrays.asList(uuidMock(0), uuidMock(1));
assertThat(groupService.getGroupEvents(groupIds)).hasSize(2);
- assertThat(groupService.getGroupEvents(groupIds).get(0).getGroupId()).isEqualTo(uuidFromInt(0));
- assertThat(groupService.getGroupEvents(groupIds).get(1).getGroupId()).isEqualTo(uuidFromInt(1));
+ assertThat(groupService.getGroupEvents(groupIds).get(0).getGroupId()).isEqualTo(uuidMock(0));
+ assertThat(groupService.getGroupEvents(groupIds).get(1).getGroupId()).isEqualTo(uuidMock(1));
}
@Test
void getAllGroupWithVisibilityPublicTestCreateAndDeleteSameGroup() {
- //CreateGroupEvent test1 = new CreateGroupEvent(uuidFromInt(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L);
- //DeleteGroupEvent test2 = new DeleteGroupEvent(uuidFromInt(0), "test1");
- Event test1 = createPublicGroupEvent(uuidFromInt(0));
- Event test2 = deleteGroupEvent(uuidFromInt(0));
-
- //Group group = new Group();
- //test1.apply(group);
- //test2.apply(group);
+ Event test1 = createPublicGroupEvent(uuidMock(0));
+ Event test2 = deleteGroupEvent(uuidMock(0));
//TODO: Hier projectEventlist()?
Group group = TestBuilder.apply(test1, test2);
@@ -122,50 +114,31 @@ class GroupServiceTest {
@Test
void getAllGroupWithVisibilityPublicTestGroupPublic() {
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
- //eventService.saveEvent(new DeleteGroupEvent(uuidFromInt(0), "test1"));
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(1), "test2", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
- //eventService.saveEvent(new UpdateRoleEvent(uuidFromInt(1), "test2", Role.MEMBER)); //Wofür ist das
-
- eventService.saveAll(createPublicGroupEvent(uuidFromInt(0)),
- deleteGroupEvent(uuidFromInt(0)),
- createPublicGroupEvent());
+ eventService.saveAll(createPublicGroupEvent(uuidMock(0)),
+ deleteGroupEvent(uuidMock(0)),
+ createPublicGroupEvent());
assertThat(groupService.getAllGroupWithVisibilityPublic("test1").size()).isEqualTo(1);
}
@Test
void getAllGroupWithVisibilityPublicTestAddSomeEvents() {
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
- //eventService.saveEvent(new DeleteGroupEvent(uuidFromInt(0), "test1"));
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(1), "test2", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
- //eventService.saveEvent(new UpdateRoleEvent(uuidFromInt(1), "test2", Role.MEMBER)); // Wofür?
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(2), "test3", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(3), "test4", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(4), "test5", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
-
- eventService.saveAll(createPublicGroupEvent(uuidFromInt(0)),
- deleteGroupEvent(uuidFromInt(0)),
- createPublicGroupEvent(),
- createPublicGroupEvent(),
- createPublicGroupEvent(),
- createPrivateGroupEvent());
+ eventService.saveAll(createPublicGroupEvent(uuidMock(0)),
+ deleteGroupEvent(uuidMock(0)),
+ createPublicGroupEvent(),
+ createPublicGroupEvent(),
+ createPublicGroupEvent(),
+ createPrivateGroupEvent());
assertThat(groupService.getAllGroupWithVisibilityPublic("test1").size()).isEqualTo(3);
}
@Test
void getAllGroupWithVisibilityPublic_UserInGroup() {
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
- //eventService.saveEvent(new AddUserEvent(uuidFromInt(0), "test1", "test", "test", "test@test"));
-
- eventService.saveAll(createPublicGroupEvent(uuidFromInt(0)),
- addUserEvent(uuidFromInt(0), "kobold"),
- createPrivateGroupEvent(),
- createPublicGroupEvent());
-
- //Das kommt glaube ich eher in einen Test für die Projektion
- //assertThat(groupService.getAllGroupWithVisibilityPublic("test2").get(0).getMembers().size()).isEqualTo(1);
+ eventService.saveAll(createPublicGroupEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0), "kobold"),
+ createPrivateGroupEvent(),
+ createPublicGroupEvent());
assertThat(groupService.getAllGroupWithVisibilityPublic("kobold")).hasSize(1);
assertThat(groupService.getAllGroupWithVisibilityPublic("peter")).hasSize(2);
@@ -173,56 +146,42 @@ class GroupServiceTest {
@Test
void getAllLecturesWithVisibilityPublic() {
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(1), "test2", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
- //eventService.saveEvent(new UpdateRoleEvent(uuidFromInt(1), "test2", Role.MEMBER)); // Hä
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(2), "test3", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(3), "test4", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(4), "test5", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
-
eventService.saveAll(createLectureEvent(),
- createPublicGroupEvent(),
- createLectureEvent(),
- createLectureEvent(),
- createLectureEvent());
+ createPublicGroupEvent(),
+ createLectureEvent(),
+ createLectureEvent(),
+ createLectureEvent());
assertThat(groupService.getAllLecturesWithVisibilityPublic().size()).isEqualTo(4);
}
@Test
void findGroupWith_UserMember_AllGroups() {
- //eventService.saveEvent(new CreateGroupEvent(uuidFromInt(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
- //eventService.saveEvent(new AddUserEvent(uuidFromInt(0), "test1", "test", "test", "test@test"));
- //eventService.saveEvent(new UpdateGroupTitleEvent(uuidFromInt(0), "test1", "TestGroup"));
- //eventService.saveEvent(new UpdateGroupDescriptionEvent(uuidFromInt(0), "test1", "TestDescription"));
- //eventService.saveEvent(new UpdateRoleEvent(uuidFromInt(0), "test1", Role.MEMBER));
+ eventService.saveAll(createPublicGroupEvent(uuidMock(0)),
+ addUserEvent(uuidMock(0), "jens"),
+ updateGroupTitleEvent(uuidMock(0)),
+ updateGroupDescriptionEvent(uuidMock(0)));
- eventService.saveAll(createPublicGroupEvent(uuidFromInt(0)),
- addUserEvent(uuidFromInt(0), "jens"),
- updateGroupTitleEvent(uuidFromInt(0)),
- updateGroupDescriptionEvent(uuidFromInt(0)));
-
- //assertThat(groupService.findGroupWith("T", new Account("jens", "a@A", "test", "peter", "mueller", null)).size()).isEqualTo(1);
assertThat(groupService.findGroupWith("", account("jens"))).isEmpty();
}
@Test
void findGroupWith_UserNoMember_AllGroups() {
eventService.saveAll(completePublicGroups(10, 0),
- completePrivateGroups(10, 0));
+ completePrivateGroups(10, 0));
assertThat(groupService.findGroupWith("", account("jens"))).hasSize(10);
}
@Test
void findGroupWith_FilterGroups() {
- eventService.saveAll(createPublicGroupEvent(uuidFromInt(0)),
- updateGroupTitleEvent(uuidFromInt(0), "KK"),
- updateGroupDescriptionEvent(uuidFromInt(0), "ABCDE"),
- createPublicGroupEvent(uuidFromInt(1)),
- updateGroupTitleEvent(uuidFromInt(1), "ABCDEFG"),
- updateGroupDescriptionEvent(uuidFromInt(1), "KK"),
- createPrivateGroupEvent());
+ eventService.saveAll(createPublicGroupEvent(uuidMock(0)),
+ updateGroupTitleEvent(uuidMock(0), "KK"),
+ updateGroupDescriptionEvent(uuidMock(0), "ABCDE"),
+ createPublicGroupEvent(uuidMock(1)),
+ updateGroupTitleEvent(uuidMock(1), "ABCDEFG"),
+ updateGroupDescriptionEvent(uuidMock(1), "KK"),
+ createPrivateGroupEvent());
assertThat(groupService.findGroupWith("A", account("jesus"))).hasSize(2);
assertThat(groupService.findGroupWith("F", account("jesus"))).hasSize(1);
|