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

Merge pull request 'OZG-4714-xdomea-datei-aktenzeichen' (#397) from...

Merge pull request 'OZG-4714-xdomea-datei-aktenzeichen' (#397) from OZG-4714-xdomea-datei-aktenzeichen into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/alfa/pulls/397


Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
parents 9be94d99 118499e2
No related branches found
No related tags found
No related merge requests found
Showing
with 161 additions and 12 deletions
...@@ -41,6 +41,7 @@ public class VorgangWithEingangTestFactory { ...@@ -41,6 +41,7 @@ public class VorgangWithEingangTestFactory {
.name(NAME) .name(NAME)
.status(STATUS) .status(STATUS)
.nummer(NUMMER) .nummer(NUMMER)
.aktenzeichen(AKTENZEICHEN)
.createdAt(CREATED_AT) .createdAt(CREATED_AT)
.hasNewPostfachNachricht(true) .hasNewPostfachNachricht(true)
.header(VorgangHeadTestFactory.create()) .header(VorgangHeadTestFactory.create())
......
...@@ -3,6 +3,7 @@ package de.ozgcloud.alfa.export; ...@@ -3,6 +3,7 @@ package de.ozgcloud.alfa.export;
import java.util.stream.Stream; import java.util.stream.Stream;
import de.xoev.xdomea.AbgabeAbgabe0401; import de.xoev.xdomea.AbgabeAbgabe0401;
import de.xoev.xdomea.AkteType;
import de.xoev.xdomea.DokumentType; import de.xoev.xdomea.DokumentType;
import de.xoev.xdomea.NkAbgabeType; import de.xoev.xdomea.NkAbgabeType;
import de.xoev.xdomea.VorgangType; import de.xoev.xdomea.VorgangType;
...@@ -34,6 +35,11 @@ class AbgabeCreator { ...@@ -34,6 +35,11 @@ class AbgabeCreator {
return this; return this;
} }
public AbgabeCreator withAkteType(AkteType akteType) {
getSchriftgutobjekt().setAkte(akteType);
return this;
}
public AbgabeAbgabe0401 create() { public AbgabeAbgabe0401 create() {
return abgabeType; return abgabeType;
} }
......
...@@ -51,6 +51,7 @@ class ExportService { ...@@ -51,6 +51,7 @@ class ExportService {
var abgabe = AbgabeCreator.createAbgabeCreator() var abgabe = AbgabeCreator.createAbgabeCreator()
.withKopf(exportVorgangService.createKopf(vorgangWithEingang)) .withKopf(exportVorgangService.createKopf(vorgangWithEingang))
.withVorgang(exportVorgangService.createVorgangType(vorgangWithEingang)) .withVorgang(exportVorgangService.createVorgangType(vorgangWithEingang))
.withAkteType(exportVorgangService.createAkteType(vorgangWithEingang))
.withDokumentTypes( .withDokumentTypes(
exportFileService.createDokumentTypes(ozgFiles.stream(), vorgangWithEingang.getEingang().getHeader().getFormEngineName())) exportFileService.createDokumentTypes(ozgFiles.stream(), vorgangWithEingang.getEingang().getHeader().getFormEngineName()))
.create(); .create();
......
package de.ozgcloud.alfa.vorgang; package de.ozgcloud.alfa.vorgang;
import java.util.Optional;
import java.util.UUID;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import de.xoev.xdomea.AkteType;
import de.xoev.xdomea.AllgemeineMetadatenType;
import de.xoev.xdomea.IdentifikationObjektType;
import de.xoev.xdomea.NkAbgabeType; import de.xoev.xdomea.NkAbgabeType;
import de.xoev.xdomea.VorgangType; import de.xoev.xdomea.VorgangType;
...@@ -29,4 +36,23 @@ public class ExportVorgangService { ...@@ -29,4 +36,23 @@ public class ExportVorgangService {
public NkAbgabeType createKopf(VorgangWithEingang vorgangWithEingang) { public NkAbgabeType createKopf(VorgangWithEingang vorgangWithEingang) {
return kopfCreator.createKopf(vorgangWithEingang); return kopfCreator.createKopf(vorgangWithEingang);
} }
public AkteType createAkteType(VorgangWithEingang vorgangWithEingang) {
var akteType = new AkteType();
akteType.setIdentifikation(createIdentifikationObjektType());
akteType.setAllgemeineMetadaten(createAllgemeineMetadatenType(vorgangWithEingang));
return akteType;
}
IdentifikationObjektType createIdentifikationObjektType() {
var identifikationObjektType = new IdentifikationObjektType();
identifikationObjektType.setID(UUID.randomUUID().toString());
return identifikationObjektType;
}
AllgemeineMetadatenType createAllgemeineMetadatenType(VorgangWithEingang vorgangWithEingang) {
var allgemeineMetadatenType = new AllgemeineMetadatenType();
allgemeineMetadatenType.setKennzeichen(Optional.ofNullable(vorgangWithEingang.getAktenzeichen()).orElse(StringUtils.EMPTY));
return allgemeineMetadatenType;
}
} }
...@@ -6,6 +6,7 @@ import java.util.List; ...@@ -6,6 +6,7 @@ import java.util.List;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import de.xoev.xdomea.AkteType;
import de.xoev.xdomea.DokumentType; import de.xoev.xdomea.DokumentType;
import de.xoev.xdomea.NkAbgabeType; import de.xoev.xdomea.NkAbgabeType;
import de.xoev.xdomea.VorgangType; import de.xoev.xdomea.VorgangType;
...@@ -56,4 +57,13 @@ public class AbgabeCreatorTest { ...@@ -56,4 +57,13 @@ public class AbgabeCreatorTest {
void shouldThrowExceptionIfVorgangNotSet() { void shouldThrowExceptionIfVorgangNotSet() {
assertThatThrownBy(() -> abgabeCreator.withDokumentTypes(dokumentTypes.stream())).isExactlyInstanceOf(IllegalStateException.class); assertThatThrownBy(() -> abgabeCreator.withDokumentTypes(dokumentTypes.stream())).isExactlyInstanceOf(IllegalStateException.class);
} }
@Test
void shouldSetAkteType() {
var akteType = new AkteType();
var abgabeType = abgabeCreator.withAkteType(akteType).create();
assertThat(abgabeType.getSchriftgutobjekt().get(0).getAkte()).isEqualTo(akteType);
}
} }
package de.ozgcloud.alfa.export; package de.ozgcloud.alfa.export;
import com.thedeanda.lorem.LoremIpsum;
import de.xoev.xdomea.AllgemeineMetadatenType; import de.xoev.xdomea.AllgemeineMetadatenType;
public class AllgemeineMetadatenTypeTestFactory { public class AllgemeineMetadatenTypeTestFactory {
public static final String KENNZEICHEN = LoremIpsum.getInstance().getWords(1);
public static AllgemeineMetadatenType create() { public static AllgemeineMetadatenType create() {
return new AllgemeineMetadatenType(); var allgemeineMetadatenType = new AllgemeineMetadatenType();
allgemeineMetadatenType.setKennzeichen(KENNZEICHEN);
return allgemeineMetadatenType;
} }
} }
...@@ -40,6 +40,7 @@ import de.ozgcloud.alfa.vorgang.VorgangWithEingang; ...@@ -40,6 +40,7 @@ import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
import de.ozgcloud.alfa.vorgang.VorgangWithEingangTestFactory; import de.ozgcloud.alfa.vorgang.VorgangWithEingangTestFactory;
import de.ozgcloud.common.errorhandling.TechnicalException; import de.ozgcloud.common.errorhandling.TechnicalException;
import de.xoev.xdomea.AbgabeAbgabe0401; import de.xoev.xdomea.AbgabeAbgabe0401;
import de.xoev.xdomea.AkteType;
import de.xoev.xdomea.DokumentType; import de.xoev.xdomea.DokumentType;
import de.xoev.xdomea.NkAbgabeType; import de.xoev.xdomea.NkAbgabeType;
import de.xoev.xdomea.VorgangType; import de.xoev.xdomea.VorgangType;
...@@ -186,6 +187,13 @@ class ExportServiceTest { ...@@ -186,6 +187,13 @@ class ExportServiceTest {
verify(exportFileService).createDokumentTypes(ozgFiles, EingangHeaderTestFactory.FORM_ENGINE_NAME); verify(exportFileService).createDokumentTypes(ozgFiles, EingangHeaderTestFactory.FORM_ENGINE_NAME);
} }
@Test
void shouldCreateAkteType() {
callService();
verify(exportVorgangService).createAkteType(vorgang);
}
@Test @Test
void shouldSetKopf() { void shouldSetKopf() {
callService(); callService();
...@@ -207,6 +215,16 @@ class ExportServiceTest { ...@@ -207,6 +215,16 @@ class ExportServiceTest {
verify(abgabeCreator).withDokumentTypes(dokumentTypes); verify(abgabeCreator).withDokumentTypes(dokumentTypes);
} }
@Test
void shouldSetAkteType() {
var akteType = new AkteType();
when(exportVorgangService.createAkteType(vorgang)).thenReturn(akteType);
callService();
verify(abgabeCreator).withAkteType(akteType);
}
@Test @Test
void shouldCreateAbgabe() { void shouldCreateAbgabe() {
callService(); callService();
......
package de.ozgcloud.alfa.export; package de.ozgcloud.alfa.export;
import java.util.UUID;
import de.xoev.xdomea.IdentifikationObjektType; import de.xoev.xdomea.IdentifikationObjektType;
public class IdentifikationObjektTypeTestFactory { public class IdentifikationObjektTypeTestFactory {
public static final String ID = UUID.randomUUID().toString();
public static IdentifikationObjektType create() { public static IdentifikationObjektType create() {
return new IdentifikationObjektType(); var identifikationObjektType = new IdentifikationObjektType();
identifikationObjektType.setID(ID);
return identifikationObjektType;
} }
} }
...@@ -4,11 +4,15 @@ import static org.assertj.core.api.Assertions.*; ...@@ -4,11 +4,15 @@ import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*; 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.Test; import org.junit.jupiter.api.Test;
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.export.AllgemeineMetadatenTypeTestFactory;
import de.ozgcloud.alfa.export.IdentifikationObjektTypeTestFactory;
public class ExportVorgangServiceTest { public class ExportVorgangServiceTest {
private final static String VORGANG_ID = "DUMMY_ID"; private final static String VORGANG_ID = "DUMMY_ID";
...@@ -21,9 +25,12 @@ public class ExportVorgangServiceTest { ...@@ -21,9 +25,12 @@ public class ExportVorgangServiceTest {
@Mock @Mock
private VorgangService vorgangService; private VorgangService vorgangService;
@Nested
class TestGetVorgang {
@BeforeEach @BeforeEach
void init() { void init() {
when(vorgangService.findVorgangWithEingang(anyString())).thenReturn(vorgang); when(vorgangService.findVorgangWithEingang(VORGANG_ID)).thenReturn(vorgang);
} }
@Test @Test
...@@ -38,3 +45,71 @@ public class ExportVorgangServiceTest { ...@@ -38,3 +45,71 @@ public class ExportVorgangServiceTest {
assertThat(exportVorgangService.getVorgang(VORGANG_ID)).isEqualTo(vorgang); assertThat(exportVorgangService.getVorgang(VORGANG_ID)).isEqualTo(vorgang);
} }
} }
@Nested
class TestCreateAkteType {
@Test
void shouldCallCreateIdentifikationObjektType() {
exportVorgangService.createAkteType(vorgang);
verify(exportVorgangService).createIdentifikationObjektType();
}
@Test
void shouldSetIdentifikationObjektType() {
var identifikationObjektType = IdentifikationObjektTypeTestFactory.create();
doReturn(identifikationObjektType).when(exportVorgangService).createIdentifikationObjektType();
var akteType = exportVorgangService.createAkteType(vorgang);
assertThat(akteType.getIdentifikation()).isEqualTo(identifikationObjektType);
}
@Test
void shouldCallCreateAllgemeineMetadatenType() {
exportVorgangService.createAkteType(vorgang);
verify(exportVorgangService).createAllgemeineMetadatenType(vorgang);
}
@Test
void shouldSetAllgemeineMetadatenType() {
var allgemeineMetadatenType = AllgemeineMetadatenTypeTestFactory.create();
doReturn(allgemeineMetadatenType).when(exportVorgangService).createAllgemeineMetadatenType(vorgang);
var akteType = exportVorgangService.createAkteType(vorgang);
assertThat(akteType.getAllgemeineMetadaten()).isEqualTo(allgemeineMetadatenType);
}
}
@Nested
class TestCreateIdentifikationObjektType {
@Test
void shouldSetID() {
var identifikationObjektType = exportVorgangService.createIdentifikationObjektType();
assertThat(identifikationObjektType.getID()).isNotBlank();
}
}
@Nested
class TestCreateAllgemeineMetadatenType {
@Test
void shouldSetKennzeichen() {
var allgemeineMetadatenType = exportVorgangService.createAllgemeineMetadatenType(vorgang);
assertThat(allgemeineMetadatenType.getKennzeichen()).isEqualTo(VorgangHeaderTestFactory.AKTENZEICHEN);
}
@Test
void shouldSetEmptyKennzeichen() {
var akteType = exportVorgangService.createAkteType(VorgangWithEingangTestFactory.createBuilder().aktenzeichen(null).build());
assertThat(akteType.getAllgemeineMetadaten().getKennzeichen()).isEmpty();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment