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

Merge pull request 'OZG-4238-improve-error-handling' (#295) from...

Merge pull request 'OZG-4238-improve-error-handling' (#295) from OZG-4238-improve-error-handling into master

Reviewed-on: https://git.ozg-sh.de/mgm/goofy/pulls/295


Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
parents 0b013120 f6667a73
Branches
Tags
No related merge requests found
Showing
with 779 additions and 81 deletions
......@@ -13,13 +13,13 @@ class AbgabeAbgabe0401Creator {
private SchriftgutobjektCreator schriftgutobjektCreator;
@Autowired
private AnwendungsspezifischeErweiterungMapper anwendungsspezifischeErweiterungMapper;
private AnwendungsspezifischeErweiterungTypeCreator anwendungsspezifischeErweiterungTypeCreator;
public AbgabeAbgabe0401 createAbgabe(VorgangWithEingang vorgang) {
var erweiterung = anwendungsspezifischeErweiterungMapper.map(vorgang);
public AbgabeAbgabe0401 create(VorgangWithEingang vorgang) {
var erweiterung = anwendungsspezifischeErweiterungTypeCreator.create(vorgang);
var abgabe = new AbgabeAbgabe0401();
abgabe.getSchriftgutobjekt().add(schriftgutobjektCreator.createSchriftgutobjekt(vorgang, erweiterung));
abgabe.getSchriftgutobjekt().add(schriftgutobjektCreator.create(vorgang, erweiterung));
return abgabe;
}
......
package de.ozgcloud.alfa.export;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.ReportingPolicy;
import java.util.Collections;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
import de.xoev.xdomea.AnwendungsspezifischeErweiterungType;
@Mapper(unmappedTargetPolicy = ReportingPolicy.WARN)
abstract class AnwendungsspezifischeErweiterungMapper {
@Autowired
FeldGruppeMapper feldGruppeMapper;
@Component
class AnwendungsspezifischeErweiterungTypeCreator {
static final String KENNUNG = "IDOZGCloud1234567";
static final String NAME = "Anwendungsspezifische Erweiterung OZGCloud Basis";
@Mapping(target = "beschreibung", ignore = true)
@Mapping(target = "versionsdatum", ignore = true)
@Mapping(target = "versionsnummer", ignore = true)
@Mapping(target = "feld", ignore = true)
@Mapping(target = "kennung", constant = KENNUNG)
@Mapping(target = "name", constant = NAME)
@Mapping(target = "feldgruppe", expression = "java(List.of(feldGruppeMapper.map(vorgang)))")
abstract AnwendungsspezifischeErweiterungType map(VorgangWithEingang vorgang);
@Autowired
private FeldGruppeTypeCreator feldGruppeTypeCreator;
public AnwendungsspezifischeErweiterungType create(VorgangWithEingang vorgang) {
var anwendungsspezifischeErweiterung = new AnwendungsspezifischeErweiterungType();
anwendungsspezifischeErweiterung.setKennung(KENNUNG);
anwendungsspezifischeErweiterung.setName(NAME);
anwendungsspezifischeErweiterung.getFeldgruppe().addAll(Collections.singleton(feldGruppeTypeCreator.create(vorgang)));
return anwendungsspezifischeErweiterung;
}
}
package de.ozgcloud.alfa.export;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils;
......@@ -9,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import de.ozgcloud.alfa.common.file.OzgFile;
import de.ozgcloud.alfa.vorgang.Eingang;
import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
import de.xoev.xdomea.AllgemeineMetadatenType;
import de.xoev.xdomea.DokumentType;
......@@ -29,8 +32,9 @@ class DokumentTypeCreator {
@Autowired
private VersionTypeCreator versionTypeCreator;
public Stream<DokumentType> createDokumentTypen(VorgangWithEingang vorgang) {
var ozgFiles = exportFileService.getAllPdfs(vorgang.getEingang().getId()).toList();
public Stream<DokumentType> create(VorgangWithEingang vorgang) {
var ozgFiles = Optional.ofNullable(vorgang.getEingang()).map(Eingang::getId).map(exportFileService::getAllPdfs).map(Stream::toList)
.orElse(Collections.emptyList());
List<DokumentType> dokumenten = new ArrayList<>(ozgFiles.size());
for (var i = 0; i < ozgFiles.size(); i++) {
dokumenten.add(createDokumentType(i + 1, vorgang, ozgFiles.get(i)));
......@@ -42,7 +46,7 @@ class DokumentTypeCreator {
var dokument = new DokumentType();
dokument.setIdentifikation(createIdentifikation(dokumentOrdinalNumber, ozgFile.getId().toString()));
dokument.setAllgemeineMetadaten(createAllgemeineMetadaten(ozgFile));
dokument.getVersion().add(versionTypeCreator.createVersionType(vorgang, ozgFile));
dokument.getVersion().add(versionTypeCreator.create(vorgang, ozgFile));
return dokument;
}
......
package de.ozgcloud.alfa.export;
import static java.util.Optional.*;
import java.time.format.DateTimeFormatter;
import java.util.List;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.ReportingPolicy;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
import de.xoev.xdomea.FeldType;
import de.xoev.xdomea.FeldgruppeType;
@Mapper(unmappedTargetPolicy = ReportingPolicy.WARN)
abstract class FeldGruppeMapper {
@Component
class FeldGruppeTypeCreator {
static final String NAME = "FeldgruppeOZGCloudBasis";
static final String BESCHREIBUNG = "Feldgruppe für OZGCloud Basis";
@Mapping(target = "unterfeldgruppe", ignore = true)
@Mapping(target = "name", constant = NAME)
@Mapping(target = "beschreibung", constant = BESCHREIBUNG)
@Mapping(target = "feld", expression = "java(mapToFelder(vorgang))")
abstract FeldgruppeType map(VorgangWithEingang vorgang);
public FeldgruppeType create(VorgangWithEingang vorgang) {
var feldgruppe = new FeldgruppeType();
feldgruppe.setName(NAME);
feldgruppe.setBeschreibung(BESCHREIBUNG);
feldgruppe.getFeld().addAll(createFeldType(vorgang));
return feldgruppe;
}
List<FeldType> mapToFelder(VorgangWithEingang vorgang) {
List<FeldType> createFeldType(VorgangWithEingang vorgang) {
var antragsteller = ofNullable(vorgang.getEingang()).flatMap(eingang -> ofNullable(eingang.getAntragsteller()));
return List.of(
ExportFelder.LEIKA_ID.createFeld(),
ExportFelder.DATUM_ANTRAGSEINGANG.createFeld(DateTimeFormatter.ISO_DATE_TIME.format(vorgang.getCreatedAt())),
ExportFelder.NAME.createFeld(vorgang.getEingang().getAntragsteller().getNachname()),
ExportFelder.VORNAME.createFeld(vorgang.getEingang().getAntragsteller().getVorname()),
ExportFelder.GEBURTSDATUM.createFeld(vorgang.getEingang().getAntragsteller().getGeburtsdatum()),
ExportFelder.PLZ.createFeld(vorgang.getEingang().getAntragsteller().getPlz()));
ExportFelder.NAME.createFeld(antragsteller.flatMap(a -> ofNullable(a.getNachname())).orElse(StringUtils.EMPTY)),
ExportFelder.VORNAME.createFeld(antragsteller.flatMap(a -> ofNullable(a.getVorname())).orElse(StringUtils.EMPTY)),
ExportFelder.GEBURTSDATUM.createFeld(antragsteller.flatMap(a -> ofNullable(a.getGeburtsdatum())).orElse(StringUtils.EMPTY)),
ExportFelder.PLZ.createFeld(antragsteller.flatMap(a -> ofNullable(a.getPlz())).orElse(StringUtils.EMPTY)));
}
}
......@@ -14,9 +14,9 @@ class FormatTypeCreator {
@Autowired
private PrimaerdokumentTypeCreator primaerdokumentTypeCreator;
public FormatType createFormatType(VorgangWithEingang vorgang, OzgFile ozgFile) {
public FormatType create(VorgangWithEingang vorgang, OzgFile ozgFile) {
var format = new FormatType();
format.setPrimaerdokument(primaerdokumentTypeCreator.createPrimaerdokumentType(vorgang, ozgFile));
format.setPrimaerdokument(primaerdokumentTypeCreator.create(vorgang, ozgFile));
format.setName(DateiformatCode.PDF.createDateiformatCodeType());
format.setSonstigerName(StringUtils.EMPTY);
format.setVersion(StringUtils.EMPTY);
......
......@@ -13,7 +13,7 @@ class PrimaerdokumentTypeCreator {
@Autowired
private UUIDConverter uuidConverter;
public PrimaerdokumentType createPrimaerdokumentType(VorgangWithEingang vorgang, OzgFile ozgFile) {
public PrimaerdokumentType create(VorgangWithEingang vorgang, OzgFile ozgFile) {
var primaerdokument = new PrimaerdokumentType();
primaerdokument.setDateiname(createDateiname(ozgFile));
primaerdokument.setDateinameOriginal(ozgFile.getName());
......
......@@ -13,9 +13,9 @@ class SchriftgutobjektCreator {
@Autowired
private VorgangTypeCreator vorgangTypeCreator;
public Schriftgutobjekt createSchriftgutobjekt(VorgangWithEingang vorgang, AnwendungsspezifischeErweiterungType erweiterung) {
public Schriftgutobjekt create(VorgangWithEingang vorgang, AnwendungsspezifischeErweiterungType erweiterung) {
var schritftgutobjekt = new Schriftgutobjekt();
schritftgutobjekt.setVorgang(vorgangTypeCreator.createVorgangType(vorgang, erweiterung));
schritftgutobjekt.setVorgang(vorgangTypeCreator.create(vorgang, erweiterung));
return schritftgutobjekt;
}
......
......@@ -15,10 +15,10 @@ class VersionTypeCreator {
@Autowired
private FormatTypeCreator formatTypeCreator;
public VersionType createVersionType(VorgangWithEingang vorgang, OzgFile ozgFile) {
public VersionType create(VorgangWithEingang vorgang, OzgFile ozgFile) {
var version = new VersionType();
version.setNummer(NUMMER);
version.getFormat().add(formatTypeCreator.createFormatType(vorgang, ozgFile));
version.getFormat().add(formatTypeCreator.create(vorgang, ozgFile));
return version;
}
}
......@@ -22,12 +22,12 @@ class VorgangTypeCreator {
@Autowired
private DokumentTypeCreator dokumentTypeCreator;
public VorgangType createVorgangType(VorgangWithEingang vorgangWithEingang, AnwendungsspezifischeErweiterungType erweiterung) {
public VorgangType create(VorgangWithEingang vorgangWithEingang, AnwendungsspezifischeErweiterungType erweiterung) {
var vorgang = new VorgangType();
vorgang.setAnwendungsspezifischeErweiterung(erweiterung);
vorgang.setIdentifikation(createIdentifikation());
vorgang.setAllgemeineMetadaten(createAllgemeineMetadaten(vorgangWithEingang));
vorgang.getDokument().addAll(dokumentTypeCreator.createDokumentTypen(vorgangWithEingang).toList());
vorgang.getDokument().addAll(dokumentTypeCreator.create(vorgangWithEingang).toList());
return vorgang;
}
......
......@@ -31,10 +31,13 @@ class XDomeaService {
public void writeExport(String vorgangId, String filenameId, OutputStream out) {
var vorgang = vorgangController.getVorgang(vorgangId);
var fileName = buildXmlFilename(filenameId);
var xmlContent = createXmlContent(vorgang);
try (var zipOutputStream = new ZipOutputStream(out)) {
putZipEntry(buildXmlFilename(filenameId), createXmlContent(vorgang), zipOutputStream);
} catch (IOException ioe) {
throw new TechnicalException("Error creating XDomea zip file", ioe);
putZipEntry(fileName, xmlContent, zipOutputStream);
} catch (Exception e) {
throw new TechnicalException("Error creating XDomea zip file", e);
}
}
......@@ -50,6 +53,6 @@ class XDomeaService {
}
String createXmlContent(VorgangWithEingang vorgang) {
return xDomeaXmlMarshaller.marshal(abgabeCreator.createAbgabe(vorgang));
return xDomeaXmlMarshaller.marshal(abgabeCreator.create(vorgang));
}
}
......@@ -23,10 +23,10 @@ class AbgabeAbgabe0401CreatorTest {
private SchriftgutobjektCreator schriftgutobjektCreator;
@Mock
private AnwendungsspezifischeErweiterungMapper anwendungsspezifischeErweiterungMapper;
private AnwendungsspezifischeErweiterungTypeCreator anwendungsspezifischeErweiterungTypeCreator;
@Nested
class TestCreateAbgabe {
class TestCreate {
private final VorgangWithEingang vorgangWithEingang = VorgangWithEingangTestFactory.create();
......@@ -35,28 +35,29 @@ class AbgabeAbgabe0401CreatorTest {
@BeforeEach
void init() {
when(anwendungsspezifischeErweiterungMapper.map(vorgangWithEingang)).thenReturn(anwendungsspezifischeErweiterung);
when(anwendungsspezifischeErweiterungTypeCreator.create(vorgangWithEingang)).thenReturn(
anwendungsspezifischeErweiterung);
}
@Test
void shouldCallMapper() {
creator.createAbgabe(vorgangWithEingang);
creator.create(vorgangWithEingang);
verify(anwendungsspezifischeErweiterungMapper).map(vorgangWithEingang);
verify(anwendungsspezifischeErweiterungTypeCreator).create(vorgangWithEingang);
}
@Test
void shouldCreateSchriftgutobjekt() {
creator.createAbgabe(vorgangWithEingang);
creator.create(vorgangWithEingang);
verify(schriftgutobjektCreator).createSchriftgutobjekt(vorgangWithEingang, anwendungsspezifischeErweiterung);
verify(schriftgutobjektCreator).create(vorgangWithEingang, anwendungsspezifischeErweiterung);
}
@Test
void shouldHaveSchriftgutobjekt() {
doReturn(schriftgutobjekt).when(schriftgutobjektCreator).createSchriftgutobjekt(vorgangWithEingang, anwendungsspezifischeErweiterung);
doReturn(schriftgutobjekt).when(schriftgutobjektCreator).create(vorgangWithEingang, anwendungsspezifischeErweiterung);
var abgabe = creator.createAbgabe(vorgangWithEingang);
var abgabe = creator.create(vorgangWithEingang);
assertThat(abgabe.getSchriftgutobjekt().get(0)).isEqualTo(schriftgutobjekt);
}
......
......@@ -6,67 +6,65 @@ 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.mapstruct.factory.Mappers;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Spy;
import de.ozgcloud.alfa.export.AnwendungsspezifischeErweiterungMapper;
import de.ozgcloud.alfa.export.FeldGruppeMapper;
import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
import de.ozgcloud.alfa.vorgang.VorgangWithEingangTestFactory;
import de.xoev.xdomea.AnwendungsspezifischeErweiterungType;
import de.xoev.xdomea.FeldgruppeType;
class AnwendungsspezifischeErweiterungMapperTest {
class AnwendungsspezifischeErweiterungTypeCreatorTest {
@Spy
@InjectMocks
private AnwendungsspezifischeErweiterungMapper mapper = Mappers.getMapper(AnwendungsspezifischeErweiterungMapper.class);
private AnwendungsspezifischeErweiterungTypeCreator creator;
@Mock
private FeldGruppeMapper feldGruppeMapper;
private FeldGruppeTypeCreator feldGruppeTypeCreator;
@Nested
class TestMap {
class TestCreate {
private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
private FeldgruppeType feldgruppeType;
private final FeldgruppeType feldgruppeType = new FeldgruppeType();
@BeforeEach
void init() {
feldgruppeType = new FeldgruppeType();
when(feldGruppeMapper.map(vorgang)).thenReturn(feldgruppeType);
when(feldGruppeTypeCreator.create(vorgang)).thenReturn(feldgruppeType);
}
@Test
void shouldHaveKennung() {
var mapped = callMapper();
var anwendungsspezifischeErweiterung = create();
assertThat(mapped.getKennung()).isEqualTo(AnwendungsspezifischeErweiterungMapper.KENNUNG);
assertThat(anwendungsspezifischeErweiterung.getKennung()).isEqualTo(AnwendungsspezifischeErweiterungTypeCreator.KENNUNG);
}
@Test
void shouldHaveName() {
var mapped = callMapper();
var anwendungsspezifischeErweiterung = create();
assertThat(mapped.getName()).isEqualTo(AnwendungsspezifischeErweiterungMapper.NAME);
assertThat(anwendungsspezifischeErweiterung.getName()).isEqualTo(AnwendungsspezifischeErweiterungTypeCreator.NAME);
}
@Test
void shouldCallFeldgrupperMapper() {
callMapper();
create();
verify(feldGruppeMapper).map(vorgang);
verify(feldGruppeTypeCreator).create(vorgang);
}
@Test
void shouldHaveFeldGruppe() {
var mapped = callMapper();
var anwendungsspezifischeErweiterung = create();
assertThat(mapped.getFeldgruppe()).hasSize(1).first().isEqualTo(feldgruppeType);
assertThat(anwendungsspezifischeErweiterung.getFeldgruppe()).hasSize(1).first().isEqualTo(feldgruppeType);
}
private AnwendungsspezifischeErweiterungType callMapper() {
return mapper.map(vorgang);
private AnwendungsspezifischeErweiterungType create() {
return creator.create(vorgang);
}
}
......
......@@ -40,8 +40,10 @@ class DokumentTypeCreatorTest {
private VersionTypeCreator versionTypeCreator;
@Nested
class CreateDokumentTypen {
class TestCreate {
@Nested
class WhenAllVorgangDataAvailable {
private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
private final OzgFile ozgFile = OzgFileTestFactory.create();
......@@ -52,17 +54,36 @@ class DokumentTypeCreatorTest {
@Test
void shouldLoadlAllPdfs() {
creator.createDokumentTypen(vorgang);
creator.create(vorgang);
verify(exportFileService).getAllPdfs(EingangTestFactory.ID);
}
@Test
void shouldCreateDokumentType() {
creator.createDokumentTypen(vorgang);
creator.create(vorgang);
verify(creator).createDokumentType(1, vorgang, ozgFile);
}
}
@Nested
class WhenEingangIsNull {
@Test
void shouldNotLoadAnyPdf() {
creator.create(VorgangWithEingang.builder().eingang(null).build());
verify(exportFileService, never()).getAllPdfs(EingangTestFactory.ID);
}
@Test
void shouldReturnEmptyStreamIfEingangNull() {
var result = creator.create(VorgangWithEingang.builder().eingang(null).build());
assertThat(result).isEmpty();
}
}
}
......@@ -81,7 +102,7 @@ class DokumentTypeCreatorTest {
doReturn(identifikationObjekt).when(creator).createIdentifikation(DOKUMENT_ORDINAL_NUMBER, OzgFileTestFactory.ID.toString());
doReturn(allgemeineMetadaten).when(creator).createAllgemeineMetadaten(ozgFile);
when(versionTypeCreator.createVersionType(vorgang, ozgFile)).thenReturn(version);
when(versionTypeCreator.create(vorgang, ozgFile)).thenReturn(version);
}
@Test
......@@ -116,7 +137,7 @@ class DokumentTypeCreatorTest {
void shouldCreateVersion() {
create();
verify(versionTypeCreator).createVersionType(vorgang, ozgFile);
verify(versionTypeCreator).create(vorgang, ozgFile);
}
@Test
......
......@@ -27,7 +27,7 @@ class FormatTypeCreatorTest {
private PrimaerdokumentTypeCreator primaerdokumentTypeCreator;
@Nested
class TestCreateFormatType {
class TestCreate {
private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
private final OzgFile ozgFile = OzgFileTestFactory.create();
......@@ -36,40 +36,40 @@ class FormatTypeCreatorTest {
@BeforeEach
void init() {
when(primaerdokumentTypeCreator.createPrimaerdokumentType(vorgang, ozgFile)).thenReturn(primaerdokument);
when(primaerdokumentTypeCreator.create(vorgang, ozgFile)).thenReturn(primaerdokument);
}
@Test
void shouldCreatePrimaerdokument() {
creator.createFormatType(vorgang, ozgFile);
creator.create(vorgang, ozgFile);
verify(primaerdokumentTypeCreator).createPrimaerdokumentType(vorgang, ozgFile);
verify(primaerdokumentTypeCreator).create(vorgang, ozgFile);
}
@Test
void shouldHavePrimaerdokumentType() {
var format = creator.createFormatType(vorgang, ozgFile);
var format = creator.create(vorgang, ozgFile);
assertThat(format.getPrimaerdokument()).isEqualTo(primaerdokument);
}
@Test
void shouldHaveName() {
var format = creator.createFormatType(vorgang, ozgFile);
var format = creator.create(vorgang, ozgFile);
assertThat(format.getName()).usingRecursiveComparison().isEqualTo(DateiformatCode.PDF.createDateiformatCodeType());
}
@Test
void shouldHaveSonstigerName() {
var format = creator.createFormatType(vorgang, ozgFile);
var format = creator.create(vorgang, ozgFile);
assertThat(format.getSonstigerName()).isEqualTo(StringUtils.EMPTY);
}
@Test
void shouldHaveVersion() {
var format = creator.createFormatType(vorgang, ozgFile);
var format = creator.create(vorgang, ozgFile);
assertThat(format.getVersion()).isEqualTo(StringUtils.EMPTY);
}
......
......@@ -27,7 +27,7 @@ class PrimaerdokumentTypeCreatorTest {
private UUIDConverter uuidConverter;
@Nested
class TestCreatePrimaerdokumentType {
class TestCreate {
private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
private final OzgFile ozgFile = OzgFileTestFactory.create();
......@@ -39,28 +39,28 @@ class PrimaerdokumentTypeCreatorTest {
@Test
void shouldCreateDateiname() {
creator.createPrimaerdokumentType(vorgang, ozgFile);
creator.create(vorgang, ozgFile);
verify(creator).createDateiname(ozgFile);
}
@Test
void shouldHaveDateiname() {
var primaerdokument = creator.createPrimaerdokumentType(vorgang, ozgFile);
var primaerdokument = creator.create(vorgang, ozgFile);
assertThat(primaerdokument.getDateiname()).isEqualTo(ozgFile.getName());
}
@Test
void shouldHaveDateinameOriginal() {
var primaerdokument = creator.createPrimaerdokumentType(vorgang, ozgFile);
var primaerdokument = creator.create(vorgang, ozgFile);
assertThat(primaerdokument.getDateinameOriginal()).isEqualTo(ozgFile.getName());
}
@Test
void shouldHaveErsteller() {
var primaerdokument = creator.createPrimaerdokumentType(vorgang, ozgFile);
var primaerdokument = creator.create(vorgang, ozgFile);
assertThat(primaerdokument.getErsteller()).isEqualTo(EingangHeaderTestFactory.FORM_ENGINE_NAME);
}
......
......@@ -22,7 +22,7 @@ class SchriftgutobjektCreatorTest {
private VorgangTypeCreator vorgangTypeCreator;
@Nested
class TestCreateSchriftgutObjekt {
class TestCreate {
private final VorgangWithEingang vorgangWithEingang = VorgangWithEingangTestFactory.create();
......@@ -31,16 +31,16 @@ class SchriftgutobjektCreatorTest {
@Test
void shouldCreateVorgangType() {
creator.createSchriftgutobjekt(vorgangWithEingang, anwendungsspezifischeErweiterung);
creator.create(vorgangWithEingang, anwendungsspezifischeErweiterung);
verify(vorgangTypeCreator).createVorgangType(vorgangWithEingang, anwendungsspezifischeErweiterung);
verify(vorgangTypeCreator).create(vorgangWithEingang, anwendungsspezifischeErweiterung);
}
@Test
void shouldHaveVorgangType() {
doReturn(vorgang).when(vorgangTypeCreator).createVorgangType(vorgangWithEingang, anwendungsspezifischeErweiterung);
doReturn(vorgang).when(vorgangTypeCreator).create(vorgangWithEingang, anwendungsspezifischeErweiterung);
var schriftgutobjekt = creator.createSchriftgutobjekt(vorgangWithEingang, anwendungsspezifischeErweiterung);
var schriftgutobjekt = creator.create(vorgangWithEingang, anwendungsspezifischeErweiterung);
assertThat(schriftgutobjekt.getVorgang()).isEqualTo(vorgang);
}
......
......@@ -24,7 +24,7 @@ class VersionTypeCreatorTest {
private FormatTypeCreator formatTypeCreator;
@Nested
class TestCreateVersionType {
class TestCreate {
private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
private final OzgFile ozgFile = OzgFileTestFactory.create();
......@@ -32,26 +32,26 @@ class VersionTypeCreatorTest {
@BeforeEach
void init() {
when(formatTypeCreator.createFormatType(vorgang, ozgFile)).thenReturn(formatType);
when(formatTypeCreator.create(vorgang, ozgFile)).thenReturn(formatType);
}
@Test
void shouldHaveNummer() {
var version = creator.createVersionType(vorgang, ozgFile);
var version = creator.create(vorgang, ozgFile);
assertThat(version.getNummer()).isEqualTo(VersionTypeCreator.NUMMER);
}
@Test
void shouldCreateFormatType() {
creator.createVersionType(vorgang, ozgFile);
creator.create(vorgang, ozgFile);
verify(formatTypeCreator).createFormatType(vorgang, ozgFile);
verify(formatTypeCreator).create(vorgang, ozgFile);
}
@Test
void shouldHaveFormatType() {
var version = creator.createVersionType(vorgang, ozgFile);
var version = creator.create(vorgang, ozgFile);
assertThat(version.getFormat()).containsExactly(formatType);
}
......
......@@ -32,7 +32,7 @@ class VorgangTypeCreatorTest {
private DokumentTypeCreator dokumentTypeCreator;
@Nested
class TestCreateVorgangType {
class TestCreate {
private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
......@@ -46,49 +46,49 @@ class VorgangTypeCreatorTest {
doReturn(identifikationObjekt).when(creator).createIdentifikation();
doReturn(allgemeineMetadaten).when(creator).createAllgemeineMetadaten(vorgang);
when(dokumentTypeCreator.createDokumentTypen(vorgang)).thenReturn(Stream.of(dokument));
when(dokumentTypeCreator.create(vorgang)).thenReturn(Stream.of(dokument));
}
@Test
void shouldHaveAnwendungsspezifischeErweiterungType() {
var vorgangType = creator.createVorgangType(vorgang, anwendungsspezifischeErweiterung);
var vorgangType = creator.create(vorgang, anwendungsspezifischeErweiterung);
assertThat(vorgangType.getAnwendungsspezifischeErweiterung()).isEqualTo(anwendungsspezifischeErweiterung);
}
@Test
void shouldCallCreateIdentifikation() {
creator.createVorgangType(vorgang, anwendungsspezifischeErweiterung);
creator.create(vorgang, anwendungsspezifischeErweiterung);
verify(creator).createIdentifikation();
}
@Test
void shouldHaveIdentifikation() {
var vorgangType = creator.createVorgangType(vorgang, anwendungsspezifischeErweiterung);
var vorgangType = creator.create(vorgang, anwendungsspezifischeErweiterung);
assertThat(vorgangType.getIdentifikation()).isEqualTo(identifikationObjekt);
}
@Test
void shouldCallCreateAllgemeineMetadaten() {
creator.createVorgangType(vorgang, anwendungsspezifischeErweiterung);
creator.create(vorgang, anwendungsspezifischeErweiterung);
verify(creator).createAllgemeineMetadaten(vorgang);
}
@Test
void shouldHaveAllgemeineMetadaten() {
var vorgangType = creator.createVorgangType(vorgang, anwendungsspezifischeErweiterung);
var vorgangType = creator.create(vorgang, anwendungsspezifischeErweiterung);
assertThat(vorgangType.getAllgemeineMetadaten()).isEqualTo(allgemeineMetadaten);
}
@Test
void shouldCreateDokumenType() {
var vorgangType = creator.createVorgangType(vorgang, anwendungsspezifischeErweiterung);
var vorgangType = creator.create(vorgang, anwendungsspezifischeErweiterung);
verify(dokumentTypeCreator).createDokumentTypen(vorgang);
verify(dokumentTypeCreator).create(vorgang);
assertThat(vorgangType.getDokument()).hasSize(1).containsExactly(dokument);
}
}
......
......@@ -129,7 +129,7 @@ class XDomeaServiceTest {
@BeforeEach
void init() {
doReturn(abgabe).when(abgabeCreator).createAbgabe(vorgang);
doReturn(abgabe).when(abgabeCreator).create(vorgang);
when(XDomeaXmlMarshaller.marshal(any())).thenReturn(XML_STRING);
}
......@@ -151,7 +151,7 @@ class XDomeaServiceTest {
void shouldCallAbgabeCreator() {
service.createXmlContent(vorgang);
verify(abgabeCreator).createAbgabe(vorgang);
verify(abgabeCreator).create(vorgang);
}
}
}
\ 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