Skip to content
Snippets Groups Projects
Commit 203b74a1 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4713 OZG-4927 fix export logic for assign user old and new value

parent c5fbbeb5
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,7 @@ import java.util.stream.Stream;
import org.springframework.stereotype.Service;
import de.ozgcloud.alfa.common.DateConverter;
import de.ozgcloud.alfa.common.command.CommandOrder;
import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
import de.xoev.xdomea.HistorienProtokollInformationType;
import lombok.RequiredArgsConstructor;
......@@ -27,8 +28,8 @@ public class ExportHistorieService {
HistorienProtokollInformationType createHistorienProtokollInformationType(VorgangChange vorgangChange) {
var historienProtokollInformationType = new HistorienProtokollInformationType();
historienProtokollInformationType.setMetadatumAlterWert(vorgangChange.getValueBeforeChange());
historienProtokollInformationType.setMetadatumNeuerWert(vorgangChange.getValueAfterChange());
historienProtokollInformationType.setMetadatumAlterWert(createValueBeforeChange(vorgangChange));
historienProtokollInformationType.setMetadatumNeuerWert(createValueAfterChange(vorgangChange));
historienProtokollInformationType.setAkteur(createAkteur(vorgangChange));
historienProtokollInformationType.setDatumUhrzeit(DateConverter.toXmlGregorianCalendar(vorgangChange.getFinishedAt()));
historienProtokollInformationType.setAktion(vorgangChange.getOrder().name());
......@@ -39,4 +40,18 @@ public class ExportHistorieService {
return vorgangChange.getCreatedByName() + "; " + vorgangChange.getOrganisationseinheitenId();
}
String createValueBeforeChange(VorgangChange vorgangChange) {
if (vorgangChange.getOrder() == CommandOrder.ASSIGN_USER) {
return vorgangChange.getValueBeforeChange() + "; " + vorgangChange.getOrganisationseinheitenId();
}
return vorgangChange.getValueBeforeChange();
}
String createValueAfterChange(VorgangChange vorgangChange) {
if (vorgangChange.getOrder() == CommandOrder.ASSIGN_USER) {
return vorgangChange.getValueAfterChange() + "; " + vorgangChange.getOrganisationseinheitenId();
}
return vorgangChange.getValueAfterChange();
}
}
......@@ -6,11 +6,15 @@ import static org.mockito.Mockito.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import org.junit.jupiter.params.provider.EnumSource.Mode;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Spy;
import de.ozgcloud.alfa.common.DateConverter;
import de.ozgcloud.alfa.common.command.CommandOrder;
import de.ozgcloud.alfa.export.HistorienProtokollInformationTypeTestFactory;
import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
import de.ozgcloud.alfa.vorgang.VorgangWithEingangTestFactory;
......@@ -98,25 +102,45 @@ class ExportHistorieServiceTest {
@Nested
class TestCreateHistorienProtokollInformationType {
private static final String CREATED_VALUE_BEFORE_CHANGE =
VorgangChangeTestFactory.VALUE_BEFORE_CHANGE + VorgangChangeTestFactory.ORGANISATIONSEINHEITEN_ID;
private static final String CREATED_VALUE_AFTER_CHANGE =
VorgangChangeTestFactory.VALUE_AFTER_CHANGE + VorgangChangeTestFactory.ORGANISATIONSEINHEITEN_ID;
private final VorgangChange vorgangChange = VorgangChangeTestFactory.create();
@BeforeEach
void setUp() {
doReturn(VorgangChangeTestFactory.CREATED_BY_NAME).when(service).createAkteur(vorgangChange);
doReturn(CREATED_VALUE_BEFORE_CHANGE).when(service).createValueBeforeChange(vorgangChange);
doReturn(CREATED_VALUE_AFTER_CHANGE).when(service).createValueAfterChange(vorgangChange);
}
@Test
void shouldCreateValueBeforeChange() {
service.createHistorienProtokollInformationType(vorgangChange);
verify(service).createValueBeforeChange(vorgangChange);
}
@Test
void shouldHaveAlterWert() {
var created = service.createHistorienProtokollInformationType(vorgangChange);
assertThat(created.getMetadatumAlterWert()).isEqualTo(VorgangChangeTestFactory.VALUE_BEFORE_CHANGE);
assertThat(created.getMetadatumAlterWert()).isEqualTo(CREATED_VALUE_BEFORE_CHANGE);
}
@Test
void shouldCreateValueAfterChange() {
service.createHistorienProtokollInformationType(vorgangChange);
verify(service).createValueAfterChange(vorgangChange);
}
@Test
void shouldHaveNeuerWert() {
var created = service.createHistorienProtokollInformationType(vorgangChange);
assertThat(created.getMetadatumNeuerWert()).isEqualTo(VorgangChangeTestFactory.VALUE_AFTER_CHANGE);
assertThat(created.getMetadatumNeuerWert()).isEqualTo(CREATED_VALUE_AFTER_CHANGE);
}
@Test
......@@ -160,4 +184,44 @@ class ExportHistorieServiceTest {
}
}
@Nested
class TestCreateValueBeforeChange {
@ParameterizedTest
@EnumSource(mode = Mode.EXCLUDE, names = "ASSIGN_USER")
void shouldReturnValueForOrder(CommandOrder order) {
var value = service.createValueBeforeChange(VorgangChangeTestFactory.createBuilder().order(order).build());
assertThat(value).isEqualTo(VorgangChangeTestFactory.VALUE_BEFORE_CHANGE);
}
@Test
void shouldReturnValueForAssignUserOrder() {
var value = service.createValueBeforeChange(VorgangChangeTestFactory.createBuilder().order(CommandOrder.ASSIGN_USER).build());
assertThat(value).isEqualTo(
String.format("%s; %s", VorgangChangeTestFactory.VALUE_BEFORE_CHANGE, VorgangChangeTestFactory.ORGANISATIONSEINHEITEN_ID));
}
}
@Nested
class TestCreateValueAfterChange {
@ParameterizedTest
@EnumSource(mode = Mode.EXCLUDE, names = "ASSIGN_USER")
void shouldReturnValueForOrder(CommandOrder order) {
var value = service.createValueAfterChange(VorgangChangeTestFactory.createBuilder().order(order).build());
assertThat(value).isEqualTo(VorgangChangeTestFactory.VALUE_AFTER_CHANGE);
}
@Test
void shouldReturnValueForAssignUserOrder() {
var value = service.createValueAfterChange(VorgangChangeTestFactory.createBuilder().order(CommandOrder.ASSIGN_USER).build());
assertThat(value).isEqualTo(
String.format("%s; %s", VorgangChangeTestFactory.VALUE_AFTER_CHANGE, VorgangChangeTestFactory.ORGANISATIONSEINHEITEN_ID));
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment