Implementation of old EventExeptions
This commit is contained in:
@ -1,9 +0,0 @@
|
|||||||
package mops.gruppen2.domain.Exceptions;
|
|
||||||
|
|
||||||
import mops.gruppen2.domain.event.Event;
|
|
||||||
|
|
||||||
public class GroupDoesNotExistException extends EventException {
|
|
||||||
public GroupDoesNotExistException(String msg) {
|
|
||||||
super(msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -3,7 +3,10 @@ package mops.gruppen2.domain.event;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import mops.gruppen2.domain.Exceptions.EventException;
|
||||||
|
import mops.gruppen2.domain.Exceptions.UserAlreadyExistsException;
|
||||||
import mops.gruppen2.domain.Group;
|
import mops.gruppen2.domain.Group;
|
||||||
|
import mops.gruppen2.domain.Role;
|
||||||
import mops.gruppen2.domain.User;
|
import mops.gruppen2.domain.User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -24,8 +27,14 @@ public class AddUserEvent extends Event {
|
|||||||
this.email = email;
|
this.email = email;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void apply(Group group) {
|
public void apply(Group group) throws EventException{
|
||||||
User user = new User(this.user_id, this.givenname, this.familyname, this.email);
|
User user = new User(this.user_id, this.givenname, this.familyname, this.email);
|
||||||
|
|
||||||
|
if (group.getMembers().contains(user)){
|
||||||
|
throw new UserAlreadyExistsException("Der User existiert bereits");
|
||||||
|
}
|
||||||
|
|
||||||
group.getMembers().add(user);
|
group.getMembers().add(user);
|
||||||
|
group.getRoles().put(user_id, Role.MEMBER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package mops.gruppen2.domain.event;
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
import mops.gruppen2.domain.Exceptions.EventException;
|
||||||
|
import mops.gruppen2.domain.Exceptions.UserNotFoundException;
|
||||||
import mops.gruppen2.domain.Group;
|
import mops.gruppen2.domain.Group;
|
||||||
import mops.gruppen2.domain.User;
|
import mops.gruppen2.domain.User;
|
||||||
import mops.gruppen2.domain.Group;
|
import mops.gruppen2.domain.Group;
|
||||||
@ -14,7 +16,7 @@ public class DeleteUserEvent extends Event {
|
|||||||
super(group_id, user_id);
|
super(group_id, user_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void apply(Group group) {
|
public void apply(Group group) throws EventException {
|
||||||
for (User user : group.getMembers()) {
|
for (User user : group.getMembers()) {
|
||||||
if (user.getUser_id().equals(this.user_id)) {
|
if (user.getUser_id().equals(this.user_id)) {
|
||||||
group.getMembers().remove(user);
|
group.getMembers().remove(user);
|
||||||
@ -22,5 +24,6 @@ public class DeleteUserEvent extends Event {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
throw new UserNotFoundException("Der User existiert nicht");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import mops.gruppen2.domain.Exceptions.EventException;
|
||||||
import mops.gruppen2.domain.Group;
|
import mops.gruppen2.domain.Group;
|
||||||
|
|
||||||
|
|
||||||
@ -31,5 +32,6 @@ public class Event {
|
|||||||
String user_id;
|
String user_id;
|
||||||
|
|
||||||
|
|
||||||
public void apply(Group group){}
|
public void apply(Group group) throws EventException {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,7 +24,10 @@ public class UpdateRoleEvent extends Event {
|
|||||||
this.newRole = newRole;
|
this.newRole = newRole;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void apply(Group group) {
|
public void apply(Group group) throws UserNotFoundException{
|
||||||
|
if (group.getRoles().containsKey(user_id)){
|
||||||
|
throw new UserNotFoundException("Der User wurde nicht gefunden");
|
||||||
|
}
|
||||||
group.getRoles().put(this.user_id, this.newRole);
|
group.getRoles().put(this.user_id, this.newRole);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,35 @@
|
|||||||
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
|
import mops.gruppen2.domain.Exceptions.EventException;
|
||||||
|
import mops.gruppen2.domain.Exceptions.UserAlreadyExistsException;
|
||||||
|
import mops.gruppen2.domain.Group;
|
||||||
|
import mops.gruppen2.domain.User;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static mops.gruppen2.domain.Role.MEMBER;
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class AddUserEventTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void userAllreadyExistExeption() throws EventException {
|
||||||
|
Group group = new Group();
|
||||||
|
|
||||||
|
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, ()->
|
||||||
|
event2.apply(group)
|
||||||
|
);
|
||||||
|
assertThat(group.getMembers().size()).isEqualTo(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,5 +1,8 @@
|
|||||||
package mops.gruppen2.domain.event;
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
|
import mops.gruppen2.domain.Exceptions.EventException;
|
||||||
|
import mops.gruppen2.domain.Exceptions.UserAlreadyExistsException;
|
||||||
|
import mops.gruppen2.domain.Exceptions.UserNotFoundException;
|
||||||
import mops.gruppen2.domain.Group;
|
import mops.gruppen2.domain.Group;
|
||||||
import mops.gruppen2.domain.User;
|
import mops.gruppen2.domain.User;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
@ -11,7 +14,7 @@ import static org.junit.jupiter.api.Assertions.*;
|
|||||||
class DeleteUserEventTest {
|
class DeleteUserEventTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void apply() {
|
void applyDeleteUser() throws EventException {
|
||||||
Group group = new Group();
|
Group group = new Group();
|
||||||
|
|
||||||
User user = new User("user1","Stein", "Speck", "@sdasd");
|
User user = new User("user1","Stein", "Speck", "@sdasd");
|
||||||
@ -32,4 +35,22 @@ class DeleteUserEventTest {
|
|||||||
assertThat(group.getRoles().size()).isEqualTo(1);
|
assertThat(group.getRoles().size()).isEqualTo(1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void userDoesNotExistExeption() {
|
||||||
|
Group group = new Group();
|
||||||
|
|
||||||
|
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.apply(group)
|
||||||
|
);
|
||||||
|
|
||||||
|
assertThat(group.getMembers().size()).isEqualTo(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -1,6 +1,5 @@
|
|||||||
package mops.gruppen2.service;
|
package mops.gruppen2.service;
|
||||||
|
|
||||||
import mops.gruppen2.domain.Exceptions.GroupDoesNotExistException;
|
|
||||||
import mops.gruppen2.domain.Group;
|
import mops.gruppen2.domain.Group;
|
||||||
import mops.gruppen2.domain.GroupType;
|
import mops.gruppen2.domain.GroupType;
|
||||||
import mops.gruppen2.domain.Visibility;
|
import mops.gruppen2.domain.Visibility;
|
||||||
@ -29,36 +28,6 @@ class GroupServiceTest {
|
|||||||
groupService = new GroupService(mock(EventService.class), eventRepository);
|
groupService = new GroupService(mock(EventService.class), eventRepository);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Disabled
|
|
||||||
@Test
|
|
||||||
void applyEventOnGroupThatIsDeleted() throws Exception {
|
|
||||||
List<Event> eventList = new ArrayList<>();
|
|
||||||
|
|
||||||
eventList.add(new CreateGroupEvent(1L,"Ulli", null, GroupType.LECTURE, Visibility.PRIVATE));
|
|
||||||
|
|
||||||
eventList.add(new DeleteGroupEvent(10, "loescher78"));
|
|
||||||
|
|
||||||
eventList.add(new AddUserEvent(10L, "Ulli", "Ulli", "Honnis", "FC@B.de"));
|
|
||||||
|
|
||||||
|
|
||||||
Assertions.assertThrows(GroupDoesNotExistException.class, () -> {
|
|
||||||
groupService.projectEventList(eventList);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Disabled
|
|
||||||
@Test
|
|
||||||
void returnDeletedGroup() throws Exception {
|
|
||||||
List<Event> eventList = new ArrayList<>();
|
|
||||||
|
|
||||||
eventList.add(new CreateGroupEvent(1L, "Prof", null, GroupType.LECTURE, Visibility.PRIVATE));
|
|
||||||
|
|
||||||
eventList.add(new DeleteGroupEvent(1L, "loescher78"));
|
|
||||||
|
|
||||||
List<Group> list = new ArrayList<>();
|
|
||||||
|
|
||||||
assertThat(groupService.projectEventList(eventList)).isEqualTo(list);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void rightClassForSucsessfulGroup() throws Exception {
|
void rightClassForSucsessfulGroup() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user