toulouse-maelis: sent invoice cancellation order on get-baskets endpoint too (#76395)
gitea/passerelle/pipeline/head This commit looks good
Details
gitea/passerelle/pipeline/head This commit looks good
Details
This commit is contained in:
parent
483268c636
commit
c7d33287c5
|
@ -3643,6 +3643,10 @@ class ToulouseMaelis(BaseResource, HTTPResource):
|
|||
baskets = self.get_baskets_raw(family_id)
|
||||
for item in baskets:
|
||||
item['text'] = self.get_referential_value('Regie', item['codeRegie'])
|
||||
|
||||
# send invoice cancellation order more often than hourly
|
||||
self.cancel_basket_invoices()
|
||||
|
||||
return {'data': baskets}
|
||||
|
||||
@endpoint(
|
||||
|
|
|
@ -8951,6 +8951,52 @@ def test_cancel_basket_invoice_cron_maelis_error(activity_service, invoice_servi
|
|||
assert '1312-18' not in [x['id'] for x in resp.json['data']]
|
||||
|
||||
|
||||
def test_cancel_basket_invoice_on_get_baskets(activity_service, con, app, freezer, caplog):
|
||||
def request_check(request):
|
||||
assert request == 'F10055641671'
|
||||
|
||||
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'))
|
||||
activity_service.add_soap_response(
|
||||
'cancelInvoiceAndDeleteSubscribeList',
|
||||
get_xml_file('R_cancel_invoice_and_delete_subscribe_list.xml'),
|
||||
request_check=request_check,
|
||||
)
|
||||
Link.objects.create(resource=con, family_id='1312', name_id='local')
|
||||
url = get_endpoint('get-baskets')
|
||||
assert con.cancel_invoice_delay == 30
|
||||
|
||||
# invoice created on validate basket
|
||||
freezer.move_to('2023-03-03 18:30:00')
|
||||
resp = app.post_json(
|
||||
get_endpoint('validate-basket') + '?NameID=local', params={'basket_id': 'S10055641661'}
|
||||
)
|
||||
assert resp.json['err'] == 0
|
||||
invoice = con.invoice_set.get(regie_id=109, invoice_id=18)
|
||||
assert invoice.status() == 'created'
|
||||
|
||||
# invoice is not yet cancelled
|
||||
resp = app.get(url + '?family_id=1312')
|
||||
assert resp.json['err'] == 0
|
||||
invoice = con.invoice_set.get(regie_id=109, invoice_id=18)
|
||||
assert invoice.status() == 'created'
|
||||
|
||||
# invoice is no more display but cancellation order is not sent to maelis yet
|
||||
freezer.move_to('2023-03-03 19:00:00')
|
||||
resp = app.get(url + '?family_id=1312')
|
||||
assert resp.json['err'] == 0
|
||||
invoice = con.invoice_set.get(regie_id=109, invoice_id=18)
|
||||
assert invoice.status() == 'cancelled'
|
||||
assert invoice.maelis_cancel_notification_date is None
|
||||
|
||||
# cancellation order is now sent to maelis
|
||||
freezer.move_to('2023-03-03 19:20:00')
|
||||
resp = app.get(url + '?family_id=1312')
|
||||
assert resp.json['err'] == 0
|
||||
invoice = con.invoice_set.get(regie_id=109, invoice_id=18)
|
||||
assert invoice.maelis_cancel_notification_date.strftime('%Y-%m-%d %H:%M:%S') == '2023-03-03 19:20:00'
|
||||
|
||||
|
||||
def test_read_nursery_list(con, app):
|
||||
url = get_endpoint('read-nursery-list')
|
||||
resp = app.get(url)
|
||||
|
|
Loading…
Reference in New Issue