@ -5,13 +5,12 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
|
||||
import com.tngtech.archunit.junit.ArchTest;
|
||||
import com.tngtech.archunit.lang.ArchRule;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes;
|
||||
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.noClasses;
|
||||
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = { ImportOption.DoNotIncludeTests.class })
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = ImportOption.DoNotIncludeTests.class)
|
||||
public class ControllerTest {
|
||||
|
||||
@ArchTest
|
||||
|
||||
@ -8,7 +8,7 @@ import com.tngtech.archunit.lang.ArchRule;
|
||||
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes;
|
||||
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.noClasses;
|
||||
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = { ImportOption.DoNotIncludeTests.class })
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = ImportOption.DoNotIncludeTests.class)
|
||||
public class DomainTest {
|
||||
|
||||
@ArchTest
|
||||
|
||||
@ -6,7 +6,7 @@ import com.tngtech.archunit.junit.ArchTest;
|
||||
import com.tngtech.archunit.lang.ArchRule;
|
||||
import com.tngtech.archunit.library.Architectures;
|
||||
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = { ImportOption.DoNotIncludeTests.class })
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = ImportOption.DoNotIncludeTests.class)
|
||||
public class LayeredArchitectureTest {
|
||||
|
||||
private static Architectures.LayeredArchitecture layeredArchitecture = Architectures
|
||||
|
||||
@ -9,7 +9,7 @@ import org.springframework.stereotype.Repository;
|
||||
|
||||
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes;
|
||||
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = { ImportOption.DoNotIncludeTests.class })
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = ImportOption.DoNotIncludeTests.class)
|
||||
public class RepositoryTest {
|
||||
|
||||
@ArchTest
|
||||
|
||||
@ -8,7 +8,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes;
|
||||
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = { ImportOption.DoNotIncludeTests.class })
|
||||
@AnalyzeClasses(packages = "mops.gruppen2", importOptions = ImportOption.DoNotIncludeTests.class)
|
||||
public class ServiceTest {
|
||||
|
||||
@ArchTest
|
||||
|
||||
@ -1,8 +1,18 @@
|
||||
package mops.gruppen2.builder;
|
||||
|
||||
import com.github.javafaker.Faker;
|
||||
import mops.gruppen2.domain.*;
|
||||
import mops.gruppen2.domain.event.*;
|
||||
import mops.gruppen2.domain.Group;
|
||||
import mops.gruppen2.domain.GroupType;
|
||||
import mops.gruppen2.domain.Role;
|
||||
import mops.gruppen2.domain.User;
|
||||
import mops.gruppen2.domain.Visibility;
|
||||
import mops.gruppen2.domain.event.AddUserEvent;
|
||||
import mops.gruppen2.domain.event.CreateGroupEvent;
|
||||
import mops.gruppen2.domain.event.DeleteUserEvent;
|
||||
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 java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -10,9 +20,9 @@ import java.util.List;
|
||||
public class EventBuilder {
|
||||
|
||||
/**
|
||||
* Generiert ein EventLog mit mehreren Gruppen nud Usern
|
||||
* Generiert ein EventLog mit mehreren Gruppen nud Usern.
|
||||
*
|
||||
* @param count Gruppenanzahl
|
||||
* @param count Gruppenanzahl
|
||||
* @param membercount Gesamte Mitgliederanzahl
|
||||
* @return
|
||||
*/
|
||||
@ -26,23 +36,23 @@ public class EventBuilder {
|
||||
return eventList;
|
||||
}
|
||||
|
||||
public static List<Event> completeGroup(long group_id, int membercount) {
|
||||
public static List<Event> completeGroup(long groupId, int membercount) {
|
||||
List<Event> eventList = new ArrayList<>();
|
||||
|
||||
eventList.add(EventBuilder.createGroupEvent(group_id));
|
||||
eventList.add(EventBuilder.updateGroupTitleEvent(group_id));
|
||||
eventList.add(EventBuilder.updateGroupDescriptionEvent(group_id));
|
||||
eventList.add(EventBuilder.createGroupEvent(groupId));
|
||||
eventList.add(EventBuilder.updateGroupTitleEvent(groupId));
|
||||
eventList.add(EventBuilder.updateGroupDescriptionEvent(groupId));
|
||||
|
||||
eventList.addAll(EventBuilder.addUserEvents(membercount, group_id));
|
||||
eventList.addAll(EventBuilder.addUserEvents(membercount, groupId));
|
||||
|
||||
return eventList;
|
||||
}
|
||||
|
||||
public static CreateGroupEvent createGroupEvent(long group_id) {
|
||||
public static CreateGroupEvent createGroupEvent(long groupId) {
|
||||
Faker faker = new Faker();
|
||||
|
||||
return new CreateGroupEvent(
|
||||
group_id,
|
||||
groupId,
|
||||
faker.random().hex(),
|
||||
null,
|
||||
GroupType.SIMPLE,
|
||||
@ -51,10 +61,10 @@ public class EventBuilder {
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert mehrere CreateGroupEvents, 1 <= group_id <= count
|
||||
* Generiert mehrere CreateGroupEvents, 1 <= groupId <= count.
|
||||
*
|
||||
* @param count Anzahl der verschiedenen Gruppen.
|
||||
* @return
|
||||
* @param count Anzahl der verschiedenen Gruppen
|
||||
* @return Eventliste
|
||||
*/
|
||||
public static List<CreateGroupEvent> createGroupEvents(int count) {
|
||||
List<CreateGroupEvent> eventList = new ArrayList<>();
|
||||
@ -66,15 +76,15 @@ public class EventBuilder {
|
||||
return eventList;
|
||||
}
|
||||
|
||||
public static AddUserEvent addUserEvent(long group_id, String user_id) {
|
||||
public static AddUserEvent addUserEvent(long groupId, String userId) {
|
||||
Faker faker = new Faker();
|
||||
|
||||
String firstname = faker.name().firstName();
|
||||
String lastname = faker.name().lastName();
|
||||
|
||||
return new AddUserEvent(
|
||||
group_id,
|
||||
user_id,
|
||||
groupId,
|
||||
userId,
|
||||
firstname,
|
||||
lastname,
|
||||
firstname + "." + lastname + "@mail.de"
|
||||
@ -82,73 +92,69 @@ public class EventBuilder {
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert mehrere AddUserEvents für eine Gruppe, 1 <= user_id <= count
|
||||
* Generiert mehrere AddUserEvents für eine Gruppe, 1 <= user_id <= count.
|
||||
*
|
||||
* @param count
|
||||
* @param group_id
|
||||
* @return
|
||||
* @param count Anzahl der Mitglieder
|
||||
* @param groupId Gruppe, zu welcher geaddet wird
|
||||
* @return Eventliste
|
||||
*/
|
||||
public static List<Event> addUserEvents(int count, long group_id) {
|
||||
public static List<Event> addUserEvents(int count, long groupId) {
|
||||
List<Event> eventList = new ArrayList<>();
|
||||
|
||||
for (int i = 1; i <= count; i++) {
|
||||
eventList.add(EventBuilder.addUserEvent(group_id, "" + i));
|
||||
eventList.add(EventBuilder.addUserEvent(groupId, "" + i));
|
||||
}
|
||||
|
||||
return eventList;
|
||||
}
|
||||
|
||||
public static DeleteUserEvent deleteUserEvent(long group_id, String user_id) {
|
||||
Faker faker = new Faker();
|
||||
|
||||
public static DeleteUserEvent deleteUserEvent(long groupId, String userId) {
|
||||
return new DeleteUserEvent(
|
||||
group_id,
|
||||
user_id
|
||||
groupId,
|
||||
userId
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Erzeugt mehrere DeleteUserEvents, sodass eine Gruppe komplett geleert wird
|
||||
* Erzeugt mehrere DeleteUserEvents, sodass eine Gruppe komplett geleert wird.
|
||||
*
|
||||
* @param group Gruppe welche geleert wird
|
||||
* @return
|
||||
* @return Eventliste
|
||||
*/
|
||||
public static List<DeleteUserEvent> deleteUserEvents(Group group) {
|
||||
List<DeleteUserEvent> eventList = new ArrayList<>();
|
||||
|
||||
for (User user : group.getMembers()) {
|
||||
eventList.add(EventBuilder.deleteUserEvent(group.getId(), user.getUser_id()));
|
||||
eventList.add(EventBuilder.deleteUserEvent(group.getId(), user.getId()));
|
||||
}
|
||||
|
||||
return eventList;
|
||||
}
|
||||
|
||||
public static UpdateGroupDescriptionEvent updateGroupDescriptionEvent(long group_id) {
|
||||
public static UpdateGroupDescriptionEvent updateGroupDescriptionEvent(long groupId) {
|
||||
Faker faker = new Faker();
|
||||
|
||||
return new UpdateGroupDescriptionEvent(
|
||||
group_id,
|
||||
groupId,
|
||||
faker.random().hex(),
|
||||
faker.leagueOfLegends().quote()
|
||||
);
|
||||
}
|
||||
|
||||
public static UpdateGroupTitleEvent updateGroupTitleEvent(long group_id) {
|
||||
public static UpdateGroupTitleEvent updateGroupTitleEvent(long groupId) {
|
||||
Faker faker = new Faker();
|
||||
|
||||
return new UpdateGroupTitleEvent(
|
||||
group_id,
|
||||
groupId,
|
||||
faker.random().hex(),
|
||||
faker.leagueOfLegends().champion()
|
||||
);
|
||||
}
|
||||
|
||||
public static UpdateRoleEvent randomUpdateRoleEvent(long group_id, String user_id, Role role) {
|
||||
Faker faker = new Faker();
|
||||
|
||||
public static UpdateRoleEvent randomUpdateRoleEvent(long groupId, String userId, Role role) {
|
||||
return new UpdateRoleEvent(
|
||||
group_id,
|
||||
user_id,
|
||||
groupId,
|
||||
userId,
|
||||
role
|
||||
);
|
||||
}
|
||||
|
||||
@ -12,21 +12,18 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
class AddUserEventTest {
|
||||
|
||||
@Test
|
||||
public void userAllreadyExistExeption() throws EventException {
|
||||
void userAlreadyExistExeption() throws EventException {
|
||||
Group group = new Group();
|
||||
|
||||
User user = new User("user1","Stein", "Speck", "@sdasd");
|
||||
|
||||
User user = new User("user1", "Stein", "Speck", "@sdasd");
|
||||
group.getMembers().add(user);
|
||||
|
||||
Event event1 = new AddUserEvent(4L, "user2", "Rock", "Roll", "and");
|
||||
event1.apply(group);
|
||||
|
||||
Event event2 = new AddUserEvent(4L, "user1", "Rock", "Roll", "and");
|
||||
|
||||
assertThrows(UserAlreadyExistsException.class, ()->
|
||||
assertThrows(UserAlreadyExistsException.class, () ->
|
||||
event2.apply(group)
|
||||
);
|
||||
);
|
||||
assertThat(group.getMembers().size()).isEqualTo(2);
|
||||
}
|
||||
|
||||
|
||||
@ -15,19 +15,14 @@ class DeleteUserEventTest {
|
||||
@Test
|
||||
void applyDeleteUser() throws EventException {
|
||||
Group group = new Group();
|
||||
|
||||
User user = new User("user1","Stein", "Speck", "@sdasd");
|
||||
|
||||
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");
|
||||
|
||||
User user2 = new User("user2", "Rock", "Roll", "and");
|
||||
group.getMembers().add(user2);
|
||||
group.getRoles().put("user2", MEMBER);
|
||||
|
||||
Event event = new DeleteUserEvent(1L, "user1");
|
||||
|
||||
event.apply(group);
|
||||
|
||||
assertThat(group.getMembers().size()).isEqualTo(1);
|
||||
@ -38,18 +33,14 @@ class DeleteUserEventTest {
|
||||
@Test
|
||||
void userDoesNotExistExeption() {
|
||||
Group group = new Group();
|
||||
|
||||
User user = new User("user1","Stein", "Speck", "@sdasd");
|
||||
|
||||
User user = new User("user1", "Stein", "Speck", "@sdasd");
|
||||
group.getMembers().add(user);
|
||||
group.getRoles().put("user1", MEMBER);
|
||||
|
||||
Event event = new DeleteUserEvent(17L,"user5");
|
||||
|
||||
assertThrows(UserNotFoundException.class, ()->
|
||||
Event event = new DeleteUserEvent(17L, "user5");
|
||||
assertThrows(UserNotFoundException.class, () ->
|
||||
event.apply(group)
|
||||
);
|
||||
|
||||
assertThat(group.getMembers().size()).isEqualTo(1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,24 +21,25 @@ import static org.mockito.Mockito.when;
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
class EventServiceTest {
|
||||
|
||||
private EventRepository eventRepository;
|
||||
private EventService eventService;
|
||||
private EventRepository eventRepositoryMock = mock(EventRepository.class);
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
eventService = new EventService(mock(JsonService.class), eventRepositoryMock);
|
||||
eventRepository = mock(EventRepository.class);
|
||||
eventService = new EventService(mock(JsonService.class), eventRepository);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getMaxID() {
|
||||
when(eventRepositoryMock.getHighesEvent_ID()).thenReturn(42L);
|
||||
when(eventRepository.getHighesEvent_ID()).thenReturn(42L);
|
||||
|
||||
assertEquals(eventService.getMaxEvent_id(), 42L);
|
||||
}
|
||||
|
||||
@Test
|
||||
void checkGroupReturnNextValue() {
|
||||
when(eventRepositoryMock.getMaxGroupID()).thenReturn(2L);
|
||||
when(eventRepository.getMaxGroupID()).thenReturn(2L);
|
||||
|
||||
assertEquals(eventService.checkGroup(), 3L);
|
||||
}
|
||||
@ -46,7 +47,7 @@ class EventServiceTest {
|
||||
@Test
|
||||
void checkGroupReturnOneIfDBIsEmpty() {
|
||||
List<EventDTO> eventDTOS = new ArrayList<>();
|
||||
when(eventRepositoryMock.findAll()).thenReturn(eventDTOS);
|
||||
when(eventRepository.findAll()).thenReturn(eventDTOS);
|
||||
|
||||
assertEquals(eventService.checkGroup(), 1);
|
||||
}
|
||||
|
||||
@ -5,12 +5,9 @@ import mops.gruppen2.domain.GroupType;
|
||||
import mops.gruppen2.domain.Visibility;
|
||||
import mops.gruppen2.domain.event.AddUserEvent;
|
||||
import mops.gruppen2.domain.event.CreateGroupEvent;
|
||||
import mops.gruppen2.domain.event.DeleteGroupEvent;
|
||||
import mops.gruppen2.domain.event.Event;
|
||||
import mops.gruppen2.repository.EventRepository;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -20,23 +17,23 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
class GroupServiceTest {
|
||||
GroupService groupService;
|
||||
EventRepository eventRepository;
|
||||
|
||||
private GroupService groupService;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
groupService = new GroupService(mock(EventService.class), eventRepository);
|
||||
void setUp() {
|
||||
groupService = new GroupService(mock(EventService.class), mock(EventRepository.class));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void rightClassForSucsessfulGroup() throws Exception {
|
||||
void rightClassForSuccessfulGroup() throws Exception {
|
||||
List<Event> eventList = new ArrayList<>();
|
||||
|
||||
eventList.add(new CreateGroupEvent(1L, "Prof", null, GroupType.LECTURE, Visibility.PRIVATE));
|
||||
|
||||
eventList.add(new AddUserEvent(1L, "Ulli", "Ulli", "Honnis", "FC@B.de"));
|
||||
|
||||
assertThat(groupService.projectEventList(eventList).get(0)).isInstanceOf(Group.class);
|
||||
List<Group> groups = groupService.projectEventList(eventList);
|
||||
|
||||
assertThat(groups.get(0)).isInstanceOf(Group.class);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user