Merge remote-tracking branch 'origin/event-db' into html-gruppe
This commit is contained in:
@ -1,14 +1,16 @@
|
|||||||
package mops.gruppen2.domain.event;
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Value;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import mops.gruppen2.domain.User;
|
import mops.gruppen2.domain.User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fügt einen einzelnen Nutzer einer Gruppe hinzu.
|
* Fügt einen einzelnen Nutzer einer Gruppe hinzu.
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@Getter
|
||||||
@Value
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class AddUserEvent extends Event {
|
public class AddUserEvent extends Event {
|
||||||
String givenname;
|
String givenname;
|
||||||
String familyname;
|
String familyname;
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
package mops.gruppen2.domain.event;
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Value;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@Getter
|
||||||
@Value
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class CreateGroupEvent extends Event {
|
public class CreateGroupEvent extends Event {
|
||||||
String groupTitle;
|
String groupTitle;
|
||||||
String groupDescription;
|
String groupDescription;
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
package mops.gruppen2.domain.event;
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.*;
|
||||||
import lombok.Value;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Entfernt ein einzelnes Mitglied einer Gruppe.
|
* Entfernt ein einzelnes Mitglied einer Gruppe.
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@Getter
|
||||||
@Value
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class DeleteUserEvent extends Event {
|
public class DeleteUserEvent extends Event {
|
||||||
|
|
||||||
public DeleteUserEvent(long event_id, long group_id, String user_id) {
|
public DeleteUserEvent(long event_id, long group_id, String user_id) {
|
||||||
|
|||||||
@ -1,12 +1,28 @@
|
|||||||
package mops.gruppen2.domain.event;
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||||
import lombok.Value;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.experimental.NonFinal;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
@Value
|
|
||||||
@NonFinal
|
@Getter
|
||||||
@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@JsonTypeInfo(
|
||||||
|
include = JsonTypeInfo.As.PROPERTY,
|
||||||
|
use = JsonTypeInfo.Id.NAME,
|
||||||
|
property = "type"
|
||||||
|
)
|
||||||
|
@JsonSubTypes({
|
||||||
|
@JsonSubTypes.Type(value = AddUserEvent.class, name = "AddUserEvent"),
|
||||||
|
@JsonSubTypes.Type(value = AddUserEvent.class, name = "CreateGroupEvent"),
|
||||||
|
@JsonSubTypes.Type(value = AddUserEvent.class, name = "DeleteUserEvent"),
|
||||||
|
@JsonSubTypes.Type(value = AddUserEvent.class, name = "UpdateGroupDescriptionEvent"),
|
||||||
|
@JsonSubTypes.Type(value = AddUserEvent.class, name = "UpdateGroupTitleEvent"),
|
||||||
|
@JsonSubTypes.Type(value = AddUserEvent.class, name = "UpdateRoleEvent"),
|
||||||
|
})
|
||||||
public class Event {
|
public class Event {
|
||||||
long event_id;
|
long event_id;
|
||||||
long group_id;
|
long group_id;
|
||||||
|
|||||||
@ -1,13 +1,15 @@
|
|||||||
package mops.gruppen2.domain.event;
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Value;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ändert nur die Gruppenbeschreibung.
|
* Ändert nur die Gruppenbeschreibung.
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@Getter
|
||||||
@Value
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class UpdateGroupDescriptionEvent extends Event {
|
public class UpdateGroupDescriptionEvent extends Event {
|
||||||
String newGroupDescription;
|
String newGroupDescription;
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,15 @@
|
|||||||
package mops.gruppen2.domain.event;
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Value;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ändert nur den Gruppentitel.
|
* Ändert nur den Gruppentitel.
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@Getter
|
||||||
@Value
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class UpdateGroupTitleEvent extends Event {
|
public class UpdateGroupTitleEvent extends Event {
|
||||||
String newGroupTitle;
|
String newGroupTitle;
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
package mops.gruppen2.domain.event;
|
package mops.gruppen2.domain.event;
|
||||||
|
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.*;
|
||||||
import lombok.Value;
|
|
||||||
import mops.gruppen2.domain.Role;
|
import mops.gruppen2.domain.Role;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Aktualisiert die Gruppenrolle eines Teilnehmers.
|
* Aktualisiert die Gruppenrolle eines Teilnehmers.
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@Getter
|
||||||
@Value
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class UpdateRoleEvent extends Event {
|
public class UpdateRoleEvent extends Event {
|
||||||
|
|
||||||
Role newRole;
|
Role newRole;
|
||||||
|
|||||||
92
src/test/java/mops/gruppen2/builder/EventBuilder.java
Normal file
92
src/test/java/mops/gruppen2/builder/EventBuilder.java
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
package mops.gruppen2.builder;
|
||||||
|
|
||||||
|
import com.github.javafaker.Faker;
|
||||||
|
import mops.gruppen2.domain.Role;
|
||||||
|
import mops.gruppen2.domain.event.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class EventBuilder {
|
||||||
|
|
||||||
|
public static CreateGroupEvent randomCreateGroupEvent() {
|
||||||
|
Faker faker = new Faker();
|
||||||
|
|
||||||
|
return new CreateGroupEvent(
|
||||||
|
faker.random().nextLong(),
|
||||||
|
faker.random().nextLong(),
|
||||||
|
faker.random().hex(),
|
||||||
|
faker.leagueOfLegends().champion(),
|
||||||
|
faker.leagueOfLegends().quote()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AddUserEvent randomAddUserEvent() {
|
||||||
|
Faker faker = new Faker();
|
||||||
|
|
||||||
|
String firstname = faker.name().firstName();
|
||||||
|
String lastname = faker.name().lastName();
|
||||||
|
|
||||||
|
return new AddUserEvent(
|
||||||
|
faker.random().nextLong(),
|
||||||
|
faker.random().nextLong(),
|
||||||
|
faker.random().hex(),
|
||||||
|
firstname,
|
||||||
|
lastname,
|
||||||
|
firstname + "." + lastname + "@mail.de"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Event> randomAddUserEvents(int count) {
|
||||||
|
List<Event> eventList = new ArrayList<>();
|
||||||
|
|
||||||
|
for (int i = 0; i < count; i++) {
|
||||||
|
eventList.add(EventBuilder.randomAddUserEvent());
|
||||||
|
}
|
||||||
|
|
||||||
|
return eventList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static DeleteUserEvent randomDeleteUserEvent(long group_id, String user_id) {
|
||||||
|
Faker faker = new Faker();
|
||||||
|
|
||||||
|
return new DeleteUserEvent(
|
||||||
|
faker.random().nextLong(),
|
||||||
|
group_id,
|
||||||
|
user_id
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static UpdateGroupDescriptionEvent randomUpdateGroupDescriptionEvent(long group_id) {
|
||||||
|
Faker faker = new Faker();
|
||||||
|
|
||||||
|
return new UpdateGroupDescriptionEvent(
|
||||||
|
faker.random().nextLong(),
|
||||||
|
group_id,
|
||||||
|
faker.random().hex(),
|
||||||
|
faker.leagueOfLegends().quote()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static UpdateGroupTitleEvent randomUpdateGroupTitleEvent(long group_id) {
|
||||||
|
Faker faker = new Faker();
|
||||||
|
|
||||||
|
return new UpdateGroupTitleEvent(
|
||||||
|
faker.random().nextLong(),
|
||||||
|
group_id,
|
||||||
|
faker.random().hex(),
|
||||||
|
faker.leagueOfLegends().champion()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static UpdateRoleEvent randomUpdateRoleEvent(long group_id, String user_id, Role role) {
|
||||||
|
Faker faker = new Faker();
|
||||||
|
|
||||||
|
return new UpdateRoleEvent(
|
||||||
|
faker.random().nextLong(),
|
||||||
|
group_id,
|
||||||
|
user_id,
|
||||||
|
role
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
package mops.gruppen2.service;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import mops.gruppen2.domain.event.AddUserEvent;
|
||||||
|
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 static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class SerializationServiceTest {
|
||||||
|
|
||||||
|
EventRepository eventRepository;
|
||||||
|
Event event;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void setUp(){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Disabled
|
||||||
|
@Test
|
||||||
|
void applyEvent() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void serializeEventTest() {
|
||||||
|
event = new Event(1,1,"1");
|
||||||
|
SerializationService serializationService = new SerializationService(eventRepository);
|
||||||
|
try {
|
||||||
|
assertThat(serializationService.serializeEvent(event)).isEqualTo("{\"Event\":{\"event_id\":1,\"group_id\":1,\"user_id\":\"1\"}}");
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user