toulouse-axel: ADDRESSE block can be empty (#47507)

This commit is contained in:
Lauréline Guérin 2020-10-09 14:41:09 +02:00
parent 9fa98c2d61
commit 2f1b6eed9b
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
4 changed files with 166 additions and 3 deletions

View File

@ -22,6 +22,21 @@
<xsd:element name="NUMEROSTI" type="adr:NUMEROSTIType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ADRESSEREADType">
<xsd:sequence>
<xsd:element name="COMPLEMENT1" minOccurs="0" type="all:COMPLEMENTType"/>
<xsd:element name="COMPLEMENT2" minOccurs="0" type="all:COMPLEMENTType"/>
<xsd:element name="NUMVOIE" minOccurs="0" type="all:NUMVOIEType"/>
<xsd:element name="VOIE" minOccurs="0" type="all:COMPLEMENTType"/>
<xsd:element name="COMPLEMENTVOIE" minOccurs="0" type="all:COMPLEMENTType"/>
<xsd:element name="CODEPOSTAL" minOccurs="0" type="all:CODEPOSTALType"/>
<xsd:element name="VILLE" minOccurs="0" type="all:VILLEType"/>
<xsd:element name="CODEINSEEVILLE" minOccurs="0" type="all:CODEINSEEVILLEType"/>
<xsd:element name="NUMEROSTI" minOccurs="0" type="adr:NUMEROSTIType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ADRESSEPROFType">
<xsd:sequence>
@ -37,4 +52,4 @@
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</xsd:schema>

View File

@ -139,7 +139,7 @@
<xsd:element name="SITUATIONFAMILIALE" type="SITUATIONFAMILIALEType"/>
<xsd:element name="REACTUALISATIONENLIGNE" type="all:OUINONType"/>
<xsd:element name="DEMATFACTURES" type="all:OUINONType"/>
<xsd:element name="ADRESSE" type="adr:ADRESSEType"/>
<xsd:element name="ADRESSE" type="adr:ADRESSEREADType"/>
<xsd:element name="TELFIXE" type="all:TELType"/>
<xsd:element name="RL1" type="RESPONSABLE1Type"/>
<xsd:element name="RL2" type="RESPONSABLE2Type"/>
@ -172,4 +172,4 @@
<xsd:element name="SFI" type="all:OUINONREQUIREDType"/>
<xsd:element name="DUI" type="DUIType"/>
</xsd:schema>
</xsd:schema>

View File

@ -0,0 +1,118 @@
<PORTAIL>
<DUI>
<IDDUI>XXX</IDDUI>
<CODEMISEAJOUR>19</CODEMISEAJOUR>
<NBRLACTIF>2</NBRLACTIF>
<NBENFANTACTIF>2</NBENFANTACTIF>
<SITUATIONFAMILIALE>S</SITUATIONFAMILIALE>
<REACTUALISATIONENLIGNE>NON</REACTUALISATIONENLIGNE>
<DEMATFACTURES>NON</DEMATFACTURES>
<ADRESSE/>
<TELFIXE/>
<RL1>
<IDPERSONNE>42</IDPERSONNE>
<NOM>foo</NOM>
<NOMJEUNEFILLE/>
<PRENOM>foo</PRENOM>
<DATENAISSANCE>01/01/1980</DATENAISSANCE>
<CIVILITE>M</CIVILITE>
<COURRIEL>foo@bar.com</COURRIEL>
<INDICATEURRL>1</INDICATEURRL>
<TELPORTABLE>0606060606</TELPORTABLE>
<CSP>ETU</CSP>
<PROFESSION>ETUDIANT</PROFESSION>
<NOMEMPLOYEUR>foo</NOMEMPLOYEUR>
<ADREMPLOYEUR>
<COMPLEMENT1/>
<COMPLEMENT2/>
<NUMVOIE/>
<VOIE/>
<COMPLEMENTVOIE/>
<CODEPOSTAL/>
<VILLE/>
<CODEINSEEVILLE/>
<NUMEROSTI/>
</ADREMPLOYEUR>
</RL1>
<ENFANT>
<IDPERSONNE>4242</IDPERSONNE>
<RATTACHEAUTREDUI>NON</RATTACHEAUTREDUI>
<NOM>foo</NOM>
<PRENOM>foo</PRENOM>
<DATENAISSANCE/>
<SEXE>M</SEXE>
<NOMPERE>foo</NOMPERE>
<PRENOMPERE>foo</PRENOMPERE>
<NOMMERE>foo</NOMMERE>
<PRENOMMERE>foo</PRENOMMERE>
<ASSURANCE>
<NOM>foo</NOM>
<NUMERO>1234</NUMERO>
<DATEFIN>31/12/2020</DATEFIN>
</ASSURANCE>
<SANITAIRE>
<DATEFINVALIDITE>31/12/2020</DATEFINVALIDITE>
<VACCIN>
<DAJOUR/>
<TAJOUR/>
<PAJOUR/>
<HBAJOUR/>
<RORAJOUR/>
<COQAJOUR/>
<BCGAJOUR/>
<AUTRE/>
<MENINAJOUR/>
<HIBAJOUR/>
<IIPAJOUR/>
</VACCIN>
<ALLERGIE>
<TYPE>ASTHME</TYPE>
<ALLERGIQUE>OUI</ALLERGIQUE>
<NOMALLERGIE/>
</ALLERGIE>
<ALLERGIE>
<TYPE>MEDICAMENTEUSES</TYPE>
<ALLERGIQUE>OUI</ALLERGIQUE>
<NOMALLERGIE/>
</ALLERGIE>
<ALLERGIE>
<TYPE>ALIMENTAIRES</TYPE>
<ALLERGIQUE>OUI</ALLERGIQUE>
<NOMALLERGIE/>
</ALLERGIE>
<INDICATEURAUXILIAIREVS>NON</INDICATEURAUXILIAIREVS>
<INDICATEURPAI>NON</INDICATEURPAI>
<INDICATEURHANDICAP>NON</INDICATEURHANDICAP>
<INDICATEURNOTIFMDPH>NON</INDICATEURNOTIFMDPH>
<INDICATEURECOLE>NON</INDICATEURECOLE>
<ECOLESPECIALISEE/>
<AUTREDIFFICULTE/>
<INFOUTILES/>
<MEDECIN>
<NOM>foo</NOM>
<TELMEDECIN>0505050505</TELMEDECIN>
</MEDECIN>
</SANITAIRE>
<CONTACT>
<NOM>foo</NOM>
<PRENOM>foo</PRENOM>
<LIENPARENTE>GRP1</LIENPARENTE>
<ENCASURGENCE>OUI</ENCASURGENCE>
<CHERCHERLENFANT>OUI</CHERCHERLENFANT>
<TELFIXE>0505050505</TELFIXE>
<TELPORTABLE>0606060606</TELPORTABLE>
</CONTACT>
</ENFANT>
<REVENUS>
<TYPEREGIME>GENE</TYPEREGIME>
<NUMEROCAF>1234</NUMEROCAF>
<ALLOCATAIRE>2</ALLOCATAIRE>
<NBENFANTSACHARGE>2</NBENFANTSACHARGE>
<IREVENUS>OUI</IREVENUS>
<MONTANTTOTAL>42.42</MONTANTTOTAL>
<DATEVALIDITE>31/12/2019</DATEVALIDITE>
<RNF>NON</RNF>
<SFI>NON</SFI>
</REVENUS>
</DUI>
</PORTAIL>

View File

@ -889,6 +889,36 @@ def test_family_info_endpoint(app, resource):
assert resp.json['data']['REVENUS']['TYPEREGIME'] == 'GENE'
assert resp.json['data']['REVENUS']['TYPEREGIME_label'] == 'Régime général'
# a DUI with less data
filepath = os.path.join(os.path.dirname(__file__), 'data/toulouse_axel/family_info_light.xml')
with open(filepath) as xml:
content = xml.read()
with mock.patch('passerelle.contrib.toulouse_axel.models.ToulouseAxel.get_management_dates') as management_dates:
management_dates.return_value = {'foo': 'bar'}
with mock_getdata(content, 'RefFamilleDui'):
resp = app.get('/toulouse-axel/test/family_info?NameID=yyy')
assert resp.json['err'] == 0
assert set(resp.json['data'].keys()) == set([
'ADRESSE',
'CODEMISEAJOUR',
'DEMATFACTURES',
'ENFANT',
'IDDUI',
'NBENFANTACTIF',
'NBRLACTIF',
'REACTUALISATIONENLIGNE',
'REVENUS',
'RL1',
'SITUATIONFAMILIALE',
'SITUATIONFAMILIALE_label',
'TELFIXE',
'management_dates',
'annee_reference',
'annee_reference_short',
'annee_reference_label',
])
assert resp.json['data']['ADRESSE'] is None
def test_children_info_endpoint_axel_error(app, resource):
Link.objects.create(resource=resource, name_id='yyy', dui='XXX', person_id='42')