toulouse-maelis: [tests] get new basket data (#76836)
gitea/passerelle/pipeline/head This commit looks good Details

This commit is contained in:
Nicolas Roche 2023-04-20 16:02:18 +02:00
parent 2d208a9b96
commit 9535c6c68f
3 changed files with 227 additions and 146 deletions

View File

@ -1,102 +1,75 @@
<?xml version="1.0" encoding="utf8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getFamilyBasketResponse xmlns:ns2="activity.ws.maelis.sigec.com" xmlns:ns3="bean.persistence.activity.ws.maelis.sigec.com" xmlns:ns4="bean.persistence.school.ws.maelis.sigec.com">
<getFamilyBasketResultBean>
<baskets>
<codeRegie>105</codeRegie>
<dateAdd>2023-01-28T23:56:23+01:00</dateAdd>
<dateMaj>2023-01-28T23:56:23+01:00</dateMaj>
<delai>0</delai>
<id>S10053200723</id>
<idFam>S10053183425</idFam>
<codeRegie>109</codeRegie>
<dateAdd>2023-04-20T12:05:51+02:00</dateAdd>
<dateMaj>2023-04-20T12:05:42+02:00</dateMaj>
<delai>30</delai>
<id>S10055641661</id>
<idFam>S10055638201</idFam>
<lignes>
<dateMaj>2023-01-28T23:56:23+01:00</dateMaj>
<id>S10053203120</id>
<idIns>S10053203118</idIns>
<idInsLieu>S10053203119</idInsLieu>
<idPanier>S10053200723</idPanier>
<inscription>
<dateDeb>2023-02-20T00:00:00+01:00</dateDeb>
<dateFin>2023-02-24T00:00:00+01:00</dateFin>
<idAct>A10053187065</idAct>
<idInsAct>S10053203118</idInsAct>
<idInsLieu>S10053203119</idInsLieu>
<idLieu>A10053179604</idLieu>
<idRegie>A10049327667</idRegie>
<idUnit>A10053187085</idUnit>
<libAct>Vacances Hivers 2023</libAct>
<libLieu>ALEX JANY</libLieu>
<libUnit>Semaine 1</libUnit>
</inscription>
<montant>0.0</montant>
<personneInfo>
<dateBirth>2014-04-01T00:00:00+02:00</dateBirth>
<firstname>BART</firstname>
<lastname>NICO</lastname>
<numPerson>246711</numPerson>
<sexe>M</sexe>
<dateBirth>2016-05-09T00:00:00+02:00</dateBirth>
<firstname>LISA</firstname>
<lastname>EO_NICOLAS</lastname>
<numPerson>266148</numPerson>
<sexe>F</sexe>
</personneInfo>
<prixUnit>43.0</prixUnit>
<qte>0.0</qte>
</lignes>
<lignes>
<dateMaj>2023-01-28T23:50:34+01:00</dateMaj>
<id>S10053203105</id>
<idIns>S10053203103</idIns>
<idInsLieu>S10053203104</idInsLieu>
<idPanier>S10053200723</idPanier>
<idPanier>S10055641661</idPanier>
<id>S10055641668</id>
<idIns>S10055641665</idIns>
<idInsLieu>S10055641666</idInsLieu>
<inscription>
<dateDeb>2023-02-01T00:00:00+01:00</dateDeb>
<dateFin>2023-06-30T00:00:00+02:00</dateFin>
<idAct>A10051141965</idAct>
<idInsAct>S10053203103</idInsAct>
<idInsLieu>S10053203104</idInsLieu>
<idLieu>A10053179226</idLieu>
<idRegie>A10049327675</idRegie>
<idUnit>A10051141970</idUnit>
<libAct>Vitrail Fusing 1/2 Je Adultes 2022/2023 - Mardi 14h-17h</libAct>
<libLieu>Centre Culturel ALBAN MINVILLE</libLieu>
<libUnit>Inscription 2ème semestre</libUnit>
<idAct>A10053179798</idAct>
<idInsAct>S10055641665</idInsAct>
<idInsLieu>S10055641666</idInsLieu>
<idLieu>A10053179757</idLieu>
<idRegie>A10049327667</idRegie>
<idUnit>A10053179809</idUnit>
<libAct>TEST ECOLE DES SPORTS 22/23 SEMESTRE 2 - MULTIACTIVITES</libAct>
<libLieu>ARGOULETS</libLieu>
<libUnit>MERCREDI - 15h30/17h - 8/15Ans</libUnit>
</inscription>
<montant>0.0</montant>
<personneInfo>
<dateBirth>2014-04-01T00:00:00+02:00</dateBirth>
<firstname>BART</firstname>
<lastname>NICO</lastname>
<numPerson>246711</numPerson>
<sexe>M</sexe>
</personneInfo>
<prixUnit>43.0</prixUnit>
<qte>0.0</qte>
<qte>1.0</qte>
<prixUnit>150.0</prixUnit>
<montant>150.0</montant>
<datEchn>2023-12-31T00:00:00+01:00</datEchn>
<dateMaj>2023-04-20T12:05:51+02:00</dateMaj>
</lignes>
<lignes>
<dateMaj>2023-01-26T17:39:40+01:00</dateMaj>
<id>S10053200724</id>
<idIns>S10053200721</idIns>
<idInsLieu>S10053200722</idInsLieu>
<idPanier>S10053200723</idPanier>
<inscription>
<dateDeb>2022-09-01T00:00:00+02:00</dateDeb>
<dateFin>2023-08-31T00:00:00+02:00</dateFin>
<idAct>A10051141965</idAct>
<idInsAct>S10053200721</idInsAct>
<idInsLieu>S10053200722</idInsLieu>
<idLieu>A10053179226</idLieu>
<idRegie>A10049327675</idRegie>
<idUnit>A10051141990</idUnit>
<libAct>Vitrail Fusing 1/2 Je Adultes 2022/2023 - Mardi 14h-17h</libAct>
<libLieu>Centre Culturel ALBAN MINVILLE</libLieu>
<libUnit>Inscription 1er semestre</libUnit>
</inscription>
<personneInfo>
<dateBirth>2014-04-01T00:00:00+02:00</dateBirth>
<firstname>BART</firstname>
<lastname>NICO</lastname>
<numPerson>246711</numPerson>
<lastname>EO_NICOLAS</lastname>
<numPerson>266145</numPerson>
<sexe>M</sexe>
</personneInfo>
<prixUnit>43.0</prixUnit>
<idPanier>S10055641661</idPanier>
<id>S10055641662</id>
<idIns>S10055641658</idIns>
<idInsLieu>S10055641659</idInsLieu>
<inscription>
<dateDeb>2023-02-01T00:00:00+01:00</dateDeb>
<dateFin>2023-06-30T00:00:00+02:00</dateFin>
<idAct>A10053179798</idAct>
<idInsAct>S10055641658</idInsAct>
<idInsLieu>S10055641659</idInsLieu>
<idLieu>A10053179757</idLieu>
<idRegie>A10049327667</idRegie>
<idUnit>A10053179809</idUnit>
<libAct>TEST ECOLE DES SPORTS 22/23 SEMESTRE 2 - MULTIACTIVITES</libAct>
<libLieu>ARGOULETS</libLieu>
<libUnit>MERCREDI - 15h30/17h - 8/15Ans</libUnit>
</inscription>
<qte>1.0</qte>
<prixUnit>150.0</prixUnit>
<montant>150.0</montant>
<datEchn>2023-12-31T00:00:00+01:00</datEchn>
<dateMaj>2023-04-20T12:05:42+02:00</dateMaj>
</lignes>
</baskets>
</getFamilyBasketResultBean>

View File

@ -1,11 +1,60 @@
<?xml version="1.0" encoding="utf8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:validateBasketResponse xmlns:ns2="activity.ws.maelis.sigec.com" xmlns:ns3="bean.persistence.activity.ws.maelis.sigec.com" xmlns:ns4="bean.persistence.school.ws.maelis.sigec.com">
<validateBasketResultBean>
<idFam>S10053183425</idFam>
<idInsLst>S10053203103</idInsLst>
<idInsLst>S10053200721</idInsLst>
<idFam>S10055638201</idFam>
<factureLst>
<numInvoice>18</numInvoice>
<idInvoice>F10055641671</idInvoice>
<libelleTTF>DSBL TEST</libelleTTF>
<regie>
<code>109</code>
<libelle>DSBL</libelle>
</regie>
<numFamily>322802</numFamily>
<name>EO_NICOLAS MARGE</name>
<amountInvoice>300</amountInvoice>
<amountPaid>0</amountPaid>
<amountPaidTG>0</amountPaidTG>
<dateInvoice>2023-04-20T00:00:00+02:00</dateInvoice>
<dateDeadline>2023-12-31T00:00:00+01:00</dateDeadline>
<payer>
<num>266143</num>
<lastname>EO_NICOLAS</lastname>
<firstname>MARGE</firstname>
<civility>MME</civility>
</payer>
<lineInvoiceList>
<numLine>1</numLine>
<numPers>266148</numPers>
<idActivity>A10053179798</idActivity>
<idUnit>A10053179809</idUnit>
<idIns>S10055641665</idIns>
<libelleLine>PORTAIL MERCREDI - 15h30/17h - 8/15Ans</libelleLine>
<name>EO_NICOLAS LISA</name>
<dateStart>2023-02-01T00:00:00+01:00</dateStart>
<dateEnd>2023-06-30T00:00:00+02:00</dateEnd>
<quantity>1.0</quantity>
<unitPrice>150.0</unitPrice>
<amountLine>150</amountLine>
</lineInvoiceList>
<lineInvoiceList>
<numLine>2</numLine>
<numPers>266145</numPers>
<idActivity>A10053179798</idActivity>
<idUnit>A10053179809</idUnit>
<idIns>S10055641658</idIns>
<libelleLine>PORTAIL MERCREDI - 15h30/17h - 8/15Ans</libelleLine>
<name>EO_NICOLAS BART</name>
<dateStart>2023-02-01T00:00:00+01:00</dateStart>
<dateEnd>2023-06-30T00:00:00+02:00</dateEnd>
<quantity>1.0</quantity>
<unitPrice>150.0</unitPrice>
<amountLine>150</amountLine>
</lineInvoiceList>
</factureLst>
<idInsLst>S10055641665</idInsLst>
<idInsLst>S10055641658</idInsLst>
</validateBasketResultBean>
</ns2:validateBasketResponse>
</soap:Body>

View File

@ -8458,57 +8458,56 @@ def test_get_baskets(activity_service, con, app):
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket.xml'))
url = get_endpoint('get-baskets')
resp = app.get(url + '?family_id=311352')
resp = app.get(url + '?family_id=1312')
assert resp.json['err'] == 0
Link.objects.create(resource=con, family_id='311352', name_id='local')
Link.objects.create(resource=con, family_id='1312', name_id='local')
resp = app.get(url + '?NameID=local')
assert resp.json['err'] == 0
data = resp.json['data']
assert len(data[0]['lignes']) == 3
del data[0]['lignes'][2]
assert len(data[0]['lignes']) == 2
del data[0]['lignes'][1]
assert data[0] == {
'id': 'S10053200723',
'text': 'ENFANCE LOISIRS ET PE',
'codeRegie': 105,
'dateAdd': '2023-01-28T23:56:23+01:00',
'dateMaj': '2023-01-28T23:56:23+01:00',
'delai': 0,
'idFam': 'S10053183425',
'id': 'S10055641661',
'text': 'DSBL',
'codeRegie': 109,
'dateAdd': '2023-04-20T12:05:51+02:00',
'dateMaj': '2023-04-20T12:05:42+02:00',
'delai': 30,
'idFam': 'S10055638201',
'lignes': [
{
'datEchn': None,
'dateMaj': '2023-01-28T23:56:23+01:00',
'id': 'S10053203120',
'idIns': 'S10053203118',
'idInsLieu': 'S10053203119',
'idPanier': 'S10053200723',
'inscription': {
'dateDeb': '2023-02-20T00:00:00+01:00',
'dateFin': '2023-02-24T00:00:00+01:00',
'idAct': 'A10053187065',
'idInsAct': 'S10053203118',
'idInsLieu': 'S10053203119',
'idLieu': 'A10053179604',
'idRegie': 'A10049327667',
'idUnit': 'A10053187085',
'libAct': 'Vacances Hivers 2023',
'libAct2': None,
'libLieu': 'ALEX JANY',
'libUnit': 'Semaine 1',
},
'montant': 0.0,
'personneInfo': {
'dateBirth': '2014-04-01T00:00:00+02:00',
'firstname': 'BART',
'lastname': 'NICO',
'numPerson': 246711,
'sexe': 'M',
'dateBirth': '2016-05-09T00:00:00+02:00',
'firstname': 'LISA',
'lastname': 'EO_NICOLAS',
'numPerson': 266148,
'sexe': 'F',
},
'prixUnit': 43.0,
'qte': 0.0,
},
'idPanier': 'S10055641661',
'id': 'S10055641668',
'idIns': 'S10055641665',
'idInsLieu': 'S10055641666',
'inscription': {
'dateDeb': '2023-02-01T00:00:00+01:00',
'dateFin': '2023-06-30T00:00:00+02:00',
'idAct': 'A10053179798',
'idInsAct': 'S10055641665',
'idInsLieu': 'S10055641666',
'idLieu': 'A10053179757',
'idRegie': 'A10049327667',
'idUnit': 'A10053179809',
'libAct': 'TEST ECOLE DES SPORTS 22/23 SEMESTRE 2 - MULTIACTIVITES',
'libAct2': None,
'libLieu': 'ARGOULETS',
'libUnit': 'MERCREDI - 15h30/17h - 8/15Ans',
},
'qte': 1.0,
'prixUnit': 150.0,
'montant': 150.0,
'datEchn': '2023-12-31T00:00:00+01:00',
'dateMaj': '2023-04-20T12:05:51+02:00',
}
],
}
@ -8530,9 +8529,10 @@ def test_get_baskets_no_basket(activity_service, con, app):
def test_update_basket_time(activity_service, con, app):
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket.xml'))
activity_service.add_soap_response('updateBasketTime', get_xml_file('R_update_basket_time.xml'))
url = get_endpoint('update-basket-time')
params = {'basket_id': 'S10053200723'}
params = {'basket_id': 'S10055641661'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 0
@ -8545,7 +8545,7 @@ def test_update_basket_time(activity_service, con, app):
def test_update_basket_time_not_linked_error(con, app):
url = get_endpoint('update-basket-time')
params = {'basket_id': 'S10053200723'}
params = {'basket_id': 'S10055641661'}
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == 'User not linked to family'
@ -8554,10 +8554,10 @@ def test_update_basket_time_not_linked_error(con, app):
def test_update_basket_time_no_basket(activity_service, con, app):
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket_empty.xml'))
url = get_endpoint('update-basket-time')
params = {'basket_id': 'S10053200723'}
params = {'basket_id': 'S10055641661'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == "no 'S10053200723' basket on family"
assert resp.json['err_desc'] == "no 'S10055641661' basket on family"
def test_update_basket_time_basket_not_found(activity_service, con, app):
@ -8575,7 +8575,7 @@ def test_delete_basket_line(activity_service, con, app):
'deletePersonUnitBasket', get_xml_file('R_delete_person_unit_basket.xml')
)
url = get_endpoint('delete-basket-line')
params = {'basket_id': 'S10053200723', 'line_id': 'S10053203120'}
params = {'basket_id': 'S10055641661', 'line_id': 'S10055641668'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 0
@ -8584,12 +8584,12 @@ def test_delete_basket_line(activity_service, con, app):
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 0
assert len(resp.json['data']['lignes']) == 2 # return the basket
assert 'S10053203120' not in [x['id'] for x in resp.json['data']['lignes']]
assert 'S10055641668' not in [x['id'] for x in resp.json['data']['lignes']]
def test_delete_basket_line_not_linked_error(con, app):
url = get_endpoint('delete-basket-line')
params = {'basket_id': 'S10053200723', 'line_id': 'S10053203120'}
params = {'basket_id': 'S10055641661', 'line_id': 'S10055641668'}
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == 'User not linked to family'
@ -8598,16 +8598,16 @@ def test_delete_basket_line_not_linked_error(con, app):
def test_delete_basket_line_no_basket(activity_service, con, app):
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket_empty.xml'))
url = get_endpoint('delete-basket-line')
params = {'basket_id': 'S10053200723', 'line_id': 'S10053203120'}
params = {'basket_id': 'S10055641661', 'line_id': 'S10055641668'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == "no 'S10053200723' basket on family"
assert resp.json['err_desc'] == "no 'S10055641661' basket on family"
def test_delete_basket_line_basket_not_found(activity_service, con, app):
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket.xml'))
url = get_endpoint('delete-basket-line')
params = {'basket_id': 'plop', 'line_id': 'S10053203120'}
params = {'basket_id': 'plop', 'line_id': 'S10055641668'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == "no 'plop' basket on family"
@ -8616,7 +8616,7 @@ def test_delete_basket_line_basket_not_found(activity_service, con, app):
def test_delete_basket_line_line_not_found(activity_service, con, app):
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket.xml'))
url = get_endpoint('delete-basket-line')
params = {'basket_id': 'S10053200723', 'line_id': 'plop'}
params = {'basket_id': 'S10055641661', 'line_id': 'plop'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == "no 'plop' basket line on basket"
@ -8633,7 +8633,7 @@ def test_delete_basket(activity_service, con, app):
request_check=request_check,
)
url = get_endpoint('delete-basket')
params = {'basket_id': 'S10053200723'}
params = {'basket_id': 'S10055641661'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 0
@ -8646,7 +8646,7 @@ def test_delete_basket(activity_service, con, app):
def test_delete_basket_not_linked_error(con, app):
url = get_endpoint('delete-basket')
params = {'basket_id': 'S10053200723'}
params = {'basket_id': 'S10055641661'}
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == 'User not linked to family'
@ -8655,10 +8655,10 @@ def test_delete_basket_not_linked_error(con, app):
def test_delete_basket_no_basket(activity_service, con, app):
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket_empty.xml'))
url = get_endpoint('delete-basket')
params = {'basket_id': 'S10053200723'}
params = {'basket_id': 'S10055641661'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == "no 'S10053200723' basket on family"
assert resp.json['err_desc'] == "no 'S10055641661' basket on family"
def test_delete_basket_not_found(activity_service, con, app):
@ -8674,7 +8674,7 @@ def test_validate_basket(activity_service, con, app):
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket.xml'))
activity_service.add_soap_response('validateBasket', get_xml_file('R_validate_basket.xml'))
url = get_endpoint('validate-basket')
params = {'basket_id': 'S10053200723'}
params = {'basket_id': 'S10055641661'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 0
@ -8683,15 +8683,74 @@ def test_validate_basket(activity_service, con, app):
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 0
assert resp.json['data'] == {
'idFam': 'S10053183425',
'factureLst': [],
'idInsLst': ['S10053203103', 'S10053200721'],
'idFam': 'S10055638201',
'factureLst': [
{
'numInvoice': '18',
'idInvoice': 'F10055641671',
'libelleTTF': 'DSBL TEST',
'regie': {'code': 109, 'libelle': 'DSBL'},
'numFamily': 322802,
'name': 'EO_NICOLAS MARGE',
'refTIPI': None,
'amountInvoice': '300',
'amountPaid': '0',
'amountPaidTG': '0',
'dateInvoice': '2023-04-20T00:00:00+02:00',
'dateStartPayment': None,
'dateDeadline': '2023-12-31T00:00:00+01:00',
'dateDeadlinePayment': None,
'dateTIPI': None,
'authTIPI': None,
'pdfName': None,
'pdfFile': None,
'payer': {
'num': 266143,
'lastname': 'EO_NICOLAS',
'firstname': 'MARGE',
'sexe': None,
'civility': 'MME',
'mail': None,
},
'lineInvoiceList': [
{
'numLine': 1,
'numPers': '266148',
'idActivity': 'A10053179798',
'idUnit': 'A10053179809',
'idIns': 'S10055641665',
'libelleLine': 'PORTAIL MERCREDI - 15h30/17h - 8/15Ans',
'name': 'EO_NICOLAS LISA',
'dateStart': '2023-02-01T00:00:00+01:00',
'dateEnd': '2023-06-30T00:00:00+02:00',
'quantity': 1.0,
'unitPrice': 150.0,
'amountLine': '150',
},
{
'numLine': 2,
'numPers': '266145',
'idActivity': 'A10053179798',
'idUnit': 'A10053179809',
'idIns': 'S10055641658',
'libelleLine': 'PORTAIL MERCREDI - 15h30/17h - 8/15Ans',
'name': 'EO_NICOLAS BART',
'dateStart': '2023-02-01T00:00:00+01:00',
'dateEnd': '2023-06-30T00:00:00+02:00',
'quantity': 1.0,
'unitPrice': 150.0,
'amountLine': '150',
},
],
}
],
'idInsLst': ['S10055641665', 'S10055641658'],
}
def test_validate_basket_not_linked_error(con, app):
url = get_endpoint('validate-basket')
params = {'basket_id': 'S10053200723'}
params = {'basket_id': 'S10055641661'}
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == 'User not linked to family'
@ -8700,10 +8759,10 @@ def test_validate_basket_not_linked_error(con, app):
def test_validate_basket_no_basket(activity_service, con, app):
activity_service.add_soap_response('getFamilyBasket', get_xml_file('R_get_family_basket_empty.xml'))
url = get_endpoint('validate-basket')
params = {'basket_id': 'S10053200723'}
params = {'basket_id': 'S10055641661'}
resp = app.post_json(url + '?family_id=311352', params=params)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == "no 'S10053200723' basket on family"
assert resp.json['err_desc'] == "no 'S10055641661' basket on family"
def test_validate_basket_not_found(activity_service, con, app):