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 {
.name(NAME)
.status(STATUS)
.nummer(NUMMER)
.aktenzeichen(AKTENZEICHEN)
.createdAt(CREATED_AT)
.hasNewPostfachNachricht(true)
.header(VorgangHeadTestFactory.create())
......
......@@ -3,6 +3,7 @@ package de.ozgcloud.alfa.export;
import java.util.stream.Stream;
import de.xoev.xdomea.AbgabeAbgabe0401;
import de.xoev.xdomea.AkteType;
import de.xoev.xdomea.DokumentType;
import de.xoev.xdomea.NkAbgabeType;
import de.xoev.xdomea.VorgangType;
......@@ -34,6 +35,11 @@ class AbgabeCreator {
return this;
}
public AbgabeCreator withAkteType(AkteType akteType) {
getSchriftgutobjekt().setAkte(akteType);
return this;
}
public AbgabeAbgabe0401 create() {
return abgabeType;
}
......
......@@ -51,6 +51,7 @@ class ExportService {
var abgabe = AbgabeCreator.createAbgabeCreator()
.withKopf(exportVorgangService.createKopf(vorgangWithEingang))
.withVorgang(exportVorgangService.createVorgangType(vorgangWithEingang))
.withAkteType(exportVorgangService.createAkteType(vorgangWithEingang))
.withDokumentTypes(
exportFileService.createDokumentTypes(ozgFiles.stream(), vorgangWithEingang.getEingang().getHeader().getFormEngineName()))
.create();
......
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.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.VorgangType;
......@@ -29,4 +36,23 @@ public class ExportVorgangService {
public NkAbgabeType createKopf(VorgangWithEingang 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;
import org.junit.jupiter.api.Test;
import de.xoev.xdomea.AkteType;
import de.xoev.xdomea.DokumentType;
import de.xoev.xdomea.NkAbgabeType;
import de.xoev.xdomea.VorgangType;
......@@ -56,4 +57,13 @@ public class AbgabeCreatorTest {
void shouldThrowExceptionIfVorgangNotSet() {
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;
import com.thedeanda.lorem.LoremIpsum;
import de.xoev.xdomea.AllgemeineMetadatenType;
public class AllgemeineMetadatenTypeTestFactory {
public static final String KENNZEICHEN = LoremIpsum.getInstance().getWords(1);
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;
import de.ozgcloud.alfa.vorgang.VorgangWithEingangTestFactory;
import de.ozgcloud.common.errorhandling.TechnicalException;
import de.xoev.xdomea.AbgabeAbgabe0401;
import de.xoev.xdomea.AkteType;
import de.xoev.xdomea.DokumentType;
import de.xoev.xdomea.NkAbgabeType;
import de.xoev.xdomea.VorgangType;
......@@ -186,6 +187,13 @@ class ExportServiceTest {
verify(exportFileService).createDokumentTypes(ozgFiles, EingangHeaderTestFactory.FORM_ENGINE_NAME);
}
@Test
void shouldCreateAkteType() {
callService();
verify(exportVorgangService).createAkteType(vorgang);
}
@Test
void shouldSetKopf() {
callService();
......@@ -207,6 +215,16 @@ class ExportServiceTest {
verify(abgabeCreator).withDokumentTypes(dokumentTypes);
}
@Test
void shouldSetAkteType() {
var akteType = new AkteType();
when(exportVorgangService.createAkteType(vorgang)).thenReturn(akteType);
callService();
verify(abgabeCreator).withAkteType(akteType);
}
@Test
void shouldCreateAbgabe() {
callService();
......
package de.ozgcloud.alfa.export;
import java.util.UUID;
import de.xoev.xdomea.IdentifikationObjektType;
public class IdentifikationObjektTypeTestFactory {
public static final String ID = UUID.randomUUID().toString();
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.*;
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.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Spy;
import de.ozgcloud.alfa.export.AllgemeineMetadatenTypeTestFactory;
import de.ozgcloud.alfa.export.IdentifikationObjektTypeTestFactory;
public class ExportVorgangServiceTest {
private final static String VORGANG_ID = "DUMMY_ID";
......@@ -21,9 +25,12 @@ public class ExportVorgangServiceTest {
@Mock
private VorgangService vorgangService;
@Nested
class TestGetVorgang {
@BeforeEach
void init() {
when(vorgangService.findVorgangWithEingang(anyString())).thenReturn(vorgang);
when(vorgangService.findVorgangWithEingang(VORGANG_ID)).thenReturn(vorgang);
}
@Test
......@@ -38,3 +45,71 @@ public class ExportVorgangServiceTest {
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