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

OZG-4375 OZG-4790 Create missing AnwendungsspezifischeErweiterungXML element

parent f3b83ff9
No related branches found
No related tags found
No related merge requests found
Showing
with 115 additions and 42 deletions
...@@ -6,7 +6,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -6,7 +6,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import de.xoev.xdomea.AnwendungsspezifischeErweiterungType; import de.xoev.xdomea.AnwendungsspezifischeErweiterungType;
import de.xoev.xdomea.OzgcloudErweiterungType;
@Component @Component
class AnwendungsspezifischeErweiterungTypeCreator { class AnwendungsspezifischeErweiterungTypeCreator {
...@@ -16,15 +15,12 @@ class AnwendungsspezifischeErweiterungTypeCreator { ...@@ -16,15 +15,12 @@ class AnwendungsspezifischeErweiterungTypeCreator {
@Autowired @Autowired
private FeldGruppeTypeCreator feldGruppeTypeCreator; private FeldGruppeTypeCreator feldGruppeTypeCreator;
@Autowired
private FormDataMapper formDataMapper;
public AnwendungsspezifischeErweiterungType create(VorgangWithEingang vorgang) { public AnwendungsspezifischeErweiterungType create(VorgangWithEingang vorgang) {
var ozgcloudErweiterungType = new OzgcloudErweiterungType(); var ozgcloudErweiterungType = new AnwendungsspezifischeErweiterungType();
ozgcloudErweiterungType.setKennung(KENNUNG); ozgcloudErweiterungType.setKennung(KENNUNG);
ozgcloudErweiterungType.setName(NAME); ozgcloudErweiterungType.setName(NAME);
ozgcloudErweiterungType.getFeldgruppe().addAll(Collections.singleton(feldGruppeTypeCreator.create(vorgang))); ozgcloudErweiterungType.getFeldgruppe().addAll(Collections.singleton(feldGruppeTypeCreator.create(vorgang)));
ozgcloudErweiterungType.setAntragsdaten(formDataMapper.toAntragsdatenType(vorgang));
return ozgcloudErweiterungType; return ozgcloudErweiterungType;
} }
......
package de.ozgcloud.alfa.vorgang;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import de.xoev.xdomea.AnwendungsspezifischeErweiterungXMLType;
import de.xoev.xdomea.ObjectFactory;
@Component
public class AnwendungsspezifischeErweiterungXMLTypeCreator {
@Autowired
private FormDataMapper formDataMapper;
private final ObjectFactory objectFactory = new ObjectFactory();
public AnwendungsspezifischeErweiterungXMLType create(VorgangWithEingang vorgang) {
var erweiterungXmlType = new AnwendungsspezifischeErweiterungXMLType();
erweiterungXmlType.getAny().add(objectFactory.createAntragsdagen(formDataMapper.toAntragsdatenType(vorgang)));
return erweiterungXmlType;
}
}
...@@ -20,12 +20,16 @@ class VorgangTypeCreator { ...@@ -20,12 +20,16 @@ class VorgangTypeCreator {
@Autowired @Autowired
private AnwendungsspezifischeErweiterungTypeCreator anwendungsspezifischeErweiterungTypeCreator; private AnwendungsspezifischeErweiterungTypeCreator anwendungsspezifischeErweiterungTypeCreator;
@Autowired
private AnwendungsspezifischeErweiterungXMLTypeCreator anwendungsspezifischeErweiterungXMLTypeCreator;
@Autowired @Autowired
private KontaktTypeCreator kontaktTypeCreator; private KontaktTypeCreator kontaktTypeCreator;
public VorgangType create(VorgangWithEingang vorgangWithEingang) { public VorgangType create(VorgangWithEingang vorgangWithEingang) {
var vorgang = new VorgangType(); var vorgang = new VorgangType();
vorgang.setAnwendungsspezifischeErweiterung(anwendungsspezifischeErweiterungTypeCreator.create(vorgangWithEingang)); vorgang.setAnwendungsspezifischeErweiterung(anwendungsspezifischeErweiterungTypeCreator.create(vorgangWithEingang));
vorgang.setAnwendungsspezifischeErweiterungXML(anwendungsspezifischeErweiterungXMLTypeCreator.create(vorgangWithEingang));
vorgang.setIdentifikation(createIdentifikation()); vorgang.setIdentifikation(createIdentifikation());
vorgang.setAllgemeineMetadaten(createAllgemeineMetadaten(vorgangWithEingang)); vorgang.setAllgemeineMetadaten(createAllgemeineMetadaten(vorgangWithEingang));
kontaktTypeCreator.create(vorgangWithEingang).ifPresent(vorgang.getKontakt()::add); kontaktTypeCreator.create(vorgangWithEingang).ifPresent(vorgang.getKontakt()::add);
......
...@@ -7,15 +7,7 @@ ...@@ -7,15 +7,7 @@
<xs:import namespace="urn:xoev-de:xdomea:schema:3.0.0" schemaLocation="../xdomea_3-0-0_XML-Schemata/xdomea.xsd"/> <xs:import namespace="urn:xoev-de:xdomea:schema:3.0.0" schemaLocation="../xdomea_3-0-0_XML-Schemata/xdomea.xsd"/>
<xs:complexType name="OzgcloudErweiterungType"> <xs:element name="Antragsdagen" type="ozgcloud:AntragsdatenType"/>
<xs:complexContent>
<xs:extension base="xdomea:AnwendungsspezifischeErweiterungType">
<xs:sequence>
<xs:element name="Antragsdaten" type="ozgcloud:AntragsdatenType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AntragsdatenType"> <xs:complexType name="AntragsdatenType">
<xs:complexContent> <xs:complexContent>
......
package de.ozgcloud.alfa.vorgang; package de.ozgcloud.alfa.vorgang;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
...@@ -12,10 +10,8 @@ import org.mockito.InjectMocks; ...@@ -12,10 +10,8 @@ import org.mockito.InjectMocks;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.Spy; import org.mockito.Spy;
import de.xoev.xdomea.AntragsdatenType;
import de.xoev.xdomea.AnwendungsspezifischeErweiterungType; import de.xoev.xdomea.AnwendungsspezifischeErweiterungType;
import de.xoev.xdomea.FeldgruppeType; import de.xoev.xdomea.FeldgruppeType;
import de.xoev.xdomea.OzgcloudErweiterungType;
class AnwendungsspezifischeErweiterungTypeCreatorTest { class AnwendungsspezifischeErweiterungTypeCreatorTest {
...@@ -25,20 +21,16 @@ class AnwendungsspezifischeErweiterungTypeCreatorTest { ...@@ -25,20 +21,16 @@ class AnwendungsspezifischeErweiterungTypeCreatorTest {
@Mock @Mock
private FeldGruppeTypeCreator feldGruppeTypeCreator; private FeldGruppeTypeCreator feldGruppeTypeCreator;
@Mock
private FormDataMapper formDataMapper;
@Nested @Nested
class TestCreate { class TestCreate {
private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create(); private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
private final FeldgruppeType feldgruppeType = new FeldgruppeType(); private final FeldgruppeType feldgruppeType = new FeldgruppeType();
private final AntragsdatenType antragsdatenType = new AntragsdatenType();
@BeforeEach @BeforeEach
void init() { void init() {
when(feldGruppeTypeCreator.create(vorgang)).thenReturn(feldgruppeType); when(feldGruppeTypeCreator.create(vorgang)).thenReturn(feldgruppeType);
when(formDataMapper.toAntragsdatenType(any())).thenReturn(antragsdatenType);
} }
@Test @Test
...@@ -69,20 +61,6 @@ class AnwendungsspezifischeErweiterungTypeCreatorTest { ...@@ -69,20 +61,6 @@ class AnwendungsspezifischeErweiterungTypeCreatorTest {
assertThat(anwendungsspezifischeErweiterung.getFeldgruppe()).hasSize(1).first().isEqualTo(feldgruppeType); assertThat(anwendungsspezifischeErweiterung.getFeldgruppe()).hasSize(1).first().isEqualTo(feldgruppeType);
} }
@Test
void shouldCallFormDataMapper() {
create();
verify(formDataMapper).toAntragsdatenType(vorgang);
}
@Test
void shouldHaveAntragsdaten() {
var anwendungsspezifischeErweiterung = (OzgcloudErweiterungType) create();
assertThat(anwendungsspezifischeErweiterung.getAntragsdaten()).isNotNull();
}
private AnwendungsspezifischeErweiterungType create() { private AnwendungsspezifischeErweiterungType create() {
return creator.create(vorgang); return creator.create(vorgang);
} }
......
package de.ozgcloud.alfa.vorgang;
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.xoev.xdomea.AntragsdatenType;
import de.xoev.xdomea.AnwendungsspezifischeErweiterungXMLType;
public class AnwendungsspezifischeErweiterungXMLTypeCreatorTest {
@Spy
@InjectMocks
private AnwendungsspezifischeErweiterungXMLTypeCreator creator;
@Mock
private FormDataMapper formDataMapper;
@Nested
class TestCreate {
private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
private final AntragsdatenType antragsdatenType = new AntragsdatenType();
@BeforeEach
void init() {
when(formDataMapper.toAntragsdatenType(any())).thenReturn(antragsdatenType);
}
@Test
void shouldCallFormDataMapper() {
create();
verify(formDataMapper).toAntragsdatenType(vorgang);
}
@Test
void shouldHaveAntragsdaten() {
var anwendungsspezifischeErweiterung = create();
assertThat(anwendungsspezifischeErweiterung.getAny()).hasSize(1).first().isEqualTo(antragsdatenType);
}
private AnwendungsspezifischeErweiterungXMLType create() {
return creator.create(vorgang);
}
}
}
package de.ozgcloud.alfa.vorgang;
import de.xoev.xdomea.AnwendungsspezifischeErweiterungXMLType;
public class AnwendungsspezifischeErweiterungXMLTypeTestFactory {
public static AnwendungsspezifischeErweiterungXMLType create() {
return new AnwendungsspezifischeErweiterungXMLType();
}
}
...@@ -15,7 +15,6 @@ import de.xoev.xdomea.AntragsdatenGroupType; ...@@ -15,7 +15,6 @@ import de.xoev.xdomea.AntragsdatenGroupType;
import de.xoev.xdomea.AntragsdatenItemType; import de.xoev.xdomea.AntragsdatenItemType;
import de.xoev.xdomea.AntragsdatenSingleValueFieldType; import de.xoev.xdomea.AntragsdatenSingleValueFieldType;
import de.xoev.xdomea.AntragsdatenType; import de.xoev.xdomea.AntragsdatenType;
import de.xoev.xdomea.OzgcloudErweiterungType;
@ITCase @ITCase
class ExportVorgangServiceITCase { class ExportVorgangServiceITCase {
...@@ -78,10 +77,10 @@ class ExportVorgangServiceITCase { ...@@ -78,10 +77,10 @@ class ExportVorgangServiceITCase {
} }
private AntragsdatenType mapToAntragsdaten() { private AntragsdatenType mapToAntragsdaten() {
var erweiterungType = exportVorgangService.createVorgangType(buildVorgang()).getAnwendungsspezifischeErweiterung(); var erweiterungType = exportVorgangService.createVorgangType(buildVorgang()).getAnwendungsspezifischeErweiterungXML();
assertThat(erweiterungType).isOfAnyClassIn(OzgcloudErweiterungType.class); assertThat(erweiterungType.getAny()).hasSize(1).first().isInstanceOf(AntragsdatenType.class);
return ((OzgcloudErweiterungType) erweiterungType).getAntragsdaten(); return (AntragsdatenType) erweiterungType.getAny().get(0);
} }
private VorgangWithEingang buildVorgang() { private VorgangWithEingang buildVorgang() {
......
...@@ -17,6 +17,7 @@ import de.ozgcloud.alfa.export.AllgemeineMetadatenTypeTestFactory; ...@@ -17,6 +17,7 @@ import de.ozgcloud.alfa.export.AllgemeineMetadatenTypeTestFactory;
import de.ozgcloud.alfa.export.IdentifikationObjektTypeTestFactory; import de.ozgcloud.alfa.export.IdentifikationObjektTypeTestFactory;
import de.xoev.xdomea.AllgemeineMetadatenType; import de.xoev.xdomea.AllgemeineMetadatenType;
import de.xoev.xdomea.AnwendungsspezifischeErweiterungType; import de.xoev.xdomea.AnwendungsspezifischeErweiterungType;
import de.xoev.xdomea.AnwendungsspezifischeErweiterungXMLType;
import de.xoev.xdomea.IdentifikationObjektType; import de.xoev.xdomea.IdentifikationObjektType;
import de.xoev.xdomea.KontaktType; import de.xoev.xdomea.KontaktType;
import de.xoev.xdomea.VorgangType; import de.xoev.xdomea.VorgangType;
...@@ -30,6 +31,9 @@ class VorgangTypeCreatorTest { ...@@ -30,6 +31,9 @@ class VorgangTypeCreatorTest {
@Mock @Mock
private AnwendungsspezifischeErweiterungTypeCreator anwendungsspezifischeErweiterungTypeCreator; private AnwendungsspezifischeErweiterungTypeCreator anwendungsspezifischeErweiterungTypeCreator;
@Mock
private AnwendungsspezifischeErweiterungXMLTypeCreator anwendungsspezifischeErweiterungXMLTypeCreator;
@Mock @Mock
private KontaktTypeCreator kontaktTypeCreator; private KontaktTypeCreator kontaktTypeCreator;
...@@ -41,6 +45,7 @@ class VorgangTypeCreatorTest { ...@@ -41,6 +45,7 @@ class VorgangTypeCreatorTest {
private final IdentifikationObjektType identifikationObjekt = IdentifikationObjektTypeTestFactory.create(); private final IdentifikationObjektType identifikationObjekt = IdentifikationObjektTypeTestFactory.create();
private final AllgemeineMetadatenType allgemeineMetadaten = AllgemeineMetadatenTypeTestFactory.create(); private final AllgemeineMetadatenType allgemeineMetadaten = AllgemeineMetadatenTypeTestFactory.create();
private final AnwendungsspezifischeErweiterungType anwendungsspezifischeErweiterung = AnwendungsspezifischeErweiterungTypeTestFactory.create(); private final AnwendungsspezifischeErweiterungType anwendungsspezifischeErweiterung = AnwendungsspezifischeErweiterungTypeTestFactory.create();
private final AnwendungsspezifischeErweiterungXMLType anwendungsspezifischeErweiterungXML = AnwendungsspezifischeErweiterungXMLTypeTestFactory.create();
private final KontaktType kontakt = KontaktTypeTestFactory.create(); private final KontaktType kontakt = KontaktTypeTestFactory.create();
@BeforeEach @BeforeEach
...@@ -49,6 +54,7 @@ class VorgangTypeCreatorTest { ...@@ -49,6 +54,7 @@ class VorgangTypeCreatorTest {
doReturn(allgemeineMetadaten).when(creator).createAllgemeineMetadaten(vorgang); doReturn(allgemeineMetadaten).when(creator).createAllgemeineMetadaten(vorgang);
when(anwendungsspezifischeErweiterungTypeCreator.create(vorgang)).thenReturn(anwendungsspezifischeErweiterung); when(anwendungsspezifischeErweiterungTypeCreator.create(vorgang)).thenReturn(anwendungsspezifischeErweiterung);
when(anwendungsspezifischeErweiterungXMLTypeCreator.create(vorgang)).thenReturn(anwendungsspezifischeErweiterungXML);
when(kontaktTypeCreator.create(vorgang)).thenReturn(Optional.of(kontakt)); when(kontaktTypeCreator.create(vorgang)).thenReturn(Optional.of(kontakt));
} }
...@@ -66,6 +72,20 @@ class VorgangTypeCreatorTest { ...@@ -66,6 +72,20 @@ class VorgangTypeCreatorTest {
assertThat(vorgangType.getAnwendungsspezifischeErweiterung()).isEqualTo(anwendungsspezifischeErweiterung); assertThat(vorgangType.getAnwendungsspezifischeErweiterung()).isEqualTo(anwendungsspezifischeErweiterung);
} }
@Test
void shouldCallAnwendungsspezifischeErweiterungXMLTypeCreator() {
callCreator();
verify(anwendungsspezifischeErweiterungXMLTypeCreator).create(vorgang);
}
@Test
void shouldHaveAnwendungsspezifischeErweiterungXMLType() {
var vorgangType = callCreator();
assertThat(vorgangType.getAnwendungsspezifischeErweiterungXML()).isEqualTo(anwendungsspezifischeErweiterungXML);
}
@Test @Test
void shouldCallCreateIdentifikation() { void shouldCallCreateIdentifikation() {
callCreator(); callCreator();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment