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; ...@@ -6,6 +6,7 @@ import java.util.stream.Stream;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import de.ozgcloud.alfa.common.DateConverter; import de.ozgcloud.alfa.common.DateConverter;
import de.ozgcloud.alfa.common.command.CommandOrder;
import de.ozgcloud.alfa.vorgang.VorgangWithEingang; import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
import de.xoev.xdomea.HistorienProtokollInformationType; import de.xoev.xdomea.HistorienProtokollInformationType;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -27,8 +28,8 @@ public class ExportHistorieService { ...@@ -27,8 +28,8 @@ public class ExportHistorieService {
HistorienProtokollInformationType createHistorienProtokollInformationType(VorgangChange vorgangChange) { HistorienProtokollInformationType createHistorienProtokollInformationType(VorgangChange vorgangChange) {
var historienProtokollInformationType = new HistorienProtokollInformationType(); var historienProtokollInformationType = new HistorienProtokollInformationType();
historienProtokollInformationType.setMetadatumAlterWert(vorgangChange.getValueBeforeChange()); historienProtokollInformationType.setMetadatumAlterWert(createValueBeforeChange(vorgangChange));
historienProtokollInformationType.setMetadatumNeuerWert(vorgangChange.getValueAfterChange()); historienProtokollInformationType.setMetadatumNeuerWert(createValueAfterChange(vorgangChange));
historienProtokollInformationType.setAkteur(createAkteur(vorgangChange)); historienProtokollInformationType.setAkteur(createAkteur(vorgangChange));
historienProtokollInformationType.setDatumUhrzeit(DateConverter.toXmlGregorianCalendar(vorgangChange.getFinishedAt())); historienProtokollInformationType.setDatumUhrzeit(DateConverter.toXmlGregorianCalendar(vorgangChange.getFinishedAt()));
historienProtokollInformationType.setAktion(vorgangChange.getOrder().name()); historienProtokollInformationType.setAktion(vorgangChange.getOrder().name());
...@@ -39,4 +40,18 @@ public class ExportHistorieService { ...@@ -39,4 +40,18 @@ public class ExportHistorieService {
return vorgangChange.getCreatedByName() + "; " + vorgangChange.getOrganisationseinheitenId(); 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.*; ...@@ -6,11 +6,15 @@ import static org.mockito.Mockito.*;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; 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.InjectMocks;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.Spy; import org.mockito.Spy;
import de.ozgcloud.alfa.common.DateConverter; import de.ozgcloud.alfa.common.DateConverter;
import de.ozgcloud.alfa.common.command.CommandOrder;
import de.ozgcloud.alfa.export.HistorienProtokollInformationTypeTestFactory; import de.ozgcloud.alfa.export.HistorienProtokollInformationTypeTestFactory;
import de.ozgcloud.alfa.vorgang.VorgangWithEingang; import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
import de.ozgcloud.alfa.vorgang.VorgangWithEingangTestFactory; import de.ozgcloud.alfa.vorgang.VorgangWithEingangTestFactory;
...@@ -98,25 +102,45 @@ class ExportHistorieServiceTest { ...@@ -98,25 +102,45 @@ class ExportHistorieServiceTest {
@Nested @Nested
class TestCreateHistorienProtokollInformationType { 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(); private final VorgangChange vorgangChange = VorgangChangeTestFactory.create();
@BeforeEach @BeforeEach
void setUp() { void setUp() {
doReturn(VorgangChangeTestFactory.CREATED_BY_NAME).when(service).createAkteur(vorgangChange); 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 @Test
void shouldHaveAlterWert() { void shouldHaveAlterWert() {
var created = service.createHistorienProtokollInformationType(vorgangChange); 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 @Test
void shouldHaveNeuerWert() { void shouldHaveNeuerWert() {
var created = service.createHistorienProtokollInformationType(vorgangChange); var created = service.createHistorienProtokollInformationType(vorgangChange);
assertThat(created.getMetadatumNeuerWert()).isEqualTo(VorgangChangeTestFactory.VALUE_AFTER_CHANGE); assertThat(created.getMetadatumNeuerWert()).isEqualTo(CREATED_VALUE_AFTER_CHANGE);
} }
@Test @Test
...@@ -160,4 +184,44 @@ class ExportHistorieServiceTest { ...@@ -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