toulouse-maelis: [tests] do subscribe before basket validation on tests (#86364)
gitea/passerelle/pipeline/head This commit looks good Details

This commit is contained in:
Nicolas Roche 2024-01-30 20:05:01 +01:00 committed by Nicolas Roche
parent 33c756e76a
commit 1a30653192
1 changed files with 234 additions and 11 deletions

View File

@ -10188,13 +10188,32 @@ def test_delete_basket_not_found(activity_service, con, app):
assert resp.json['err_desc'] == "no 'plop' basket on family"
def test_validate_basket(activity_service, con, app):
def test_validate_basket(family_service, activity_service, con, app):
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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': 'S10055641698'}
Link.objects.create(resource=con, family_id='1312', name_id='local')
# subscribe
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?NameID=local',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 0
assert resp.json['data'] == {
@ -10293,13 +10312,32 @@ def test_validate_basket_not_found(activity_service, con, app):
assert resp.json['err_desc'] == "no 'plop' basket on family"
def test_validate_basket_no_invoice(activity_service, con, app, caplog):
def test_validate_basket_no_invoice(family_service, activity_service, con, app, caplog):
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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_no_invoice.xml'))
url = get_endpoint('validate-basket')
params = {'basket_id': 'S10055641698'}
Link.objects.create(resource=con, family_id='1312', name_id='local')
# subscribe
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?NameID=local',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
resp = app.post_json(url + '?NameID=local', params=params)
assert resp.json['err'] == 0
assert caplog.records[-1].levelno == logging.ERROR
@ -10309,10 +10347,15 @@ def test_validate_basket_no_invoice(activity_service, con, app, caplog):
)
def test_cancel_basket_invoice_cron(activity_service, invoice_service, con, app, freezer, caplog):
def test_cancel_basket_invoice_cron(
family_service, activity_service, invoice_service, con, app, freezer, caplog
):
def request_check(request):
assert request == 'F10055641671'
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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'))
invoice_service.add_soap_response('readInvoices', get_xml_file('R_read_invoices_regie_109.xml'))
@ -10327,6 +10370,22 @@ def test_cancel_basket_invoice_cron(activity_service, invoice_service, con, app,
assert con.cancel_invoice_delay == 30
assert con.max_payment_delay == 20
# subscribe
freezer.move_to('2023-03-03 18:20:00')
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?NameID=local',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
# invoice created on validate basket
freezer.move_to('2023-03-03 18:30:00')
resp = app.post_json(url + '?NameID=local', params=params)
@ -10373,11 +10432,14 @@ def test_cancel_basket_invoice_cron(activity_service, invoice_service, con, app,
def test_cancel_basket_invoice_cron_having_for_payment_date(
activity_service, invoice_service, con, app, freezer, caplog
family_service, activity_service, invoice_service, con, app, freezer, caplog
):
def request_check(request):
assert request == 'F10055641671'
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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'))
invoice_service.add_soap_response('readInvoices', get_xml_file('R_read_invoices_regie_109.xml'))
@ -10389,6 +10451,23 @@ def test_cancel_basket_invoice_cron_having_for_payment_date(
Link.objects.create(resource=con, family_id='1312', name_id='local')
assert con.max_payment_delay == 20
# subscribe
freezer.move_to('2023-03-03 18:20:00')
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?NameID=local',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
# invoice created on validate basket
freezer.move_to('2023-03-03 18:30:00')
resp = app.post_json(
@ -10443,14 +10522,34 @@ def test_cancel_basket_invoice_cron_having_for_payment_date(
def test_cancel_basket_invoice_cron_keep_paid_invoices(
activity_service, invoice_service, con, app, freezer, caplog
family_service, activity_service, invoice_service, con, app, freezer, caplog
):
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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'))
invoice_service.add_soap_response('readInvoices', get_xml_file('R_read_invoices_regie_109.xml'))
assert con.cancel_invoice_delay == 30
assert con.max_payment_delay == 20
# subscribe
freezer.move_to('2023-03-03 18:20:00')
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?family_id=1312',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
# get a basket invoice
freezer.move_to('2023-03-03 18:30:00')
url = get_endpoint('validate-basket')
@ -10511,7 +10610,12 @@ def test_cancel_basket_invoice_cron_keep_paid_invoices(
assert '1312-18' in [x['id'] for x in resp.json['data']]
def test_cancel_basket_invoice_cron_maelis_error(activity_service, invoice_service, con, app, freezer):
def test_cancel_basket_invoice_cron_maelis_error(
family_service, activity_service, invoice_service, con, app, freezer
):
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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'))
invoice_service.add_soap_response('readInvoices', get_xml_file('R_read_invoices_regie_109.xml'))
@ -10525,6 +10629,23 @@ def test_cancel_basket_invoice_cron_maelis_error(activity_service, invoice_servi
assert con.cancel_invoice_delay == 30
assert con.max_payment_delay == 20
# subscribe
freezer.move_to('2023-03-03 18:20:00')
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?NameID=local',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
# invoice created on validate basket
freezer.move_to('2023-03-03 18:30:00')
resp = app.post_json(url + '?NameID=local', params=params)
@ -10559,10 +10680,13 @@ 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 test_cancel_basket_invoice_on_get_baskets(family_service, activity_service, con, app, freezer, caplog):
def request_check(request):
assert request == 'F10055641671'
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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(
@ -10575,6 +10699,23 @@ def test_cancel_basket_invoice_on_get_baskets(activity_service, con, app, freeze
assert con.cancel_invoice_delay == 30
assert con.max_payment_delay == 20
# subscribe
freezer.move_to('2023-03-03 18:20:00')
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?NameID=local',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
# invoice created on validate basket
freezer.move_to('2023-03-03 18:30:00')
resp = app.post_json(
@ -11168,7 +11309,10 @@ def test_invoices_online_payment_no_invoice(invoice_service, con, app, caplog, f
assert invoice.status() == 'created'
def test_invoice_if_cancelled(activity_service, invoice_service, con, app, freezer):
def test_invoice_if_cancelled(family_service, activity_service, invoice_service, con, app, freezer):
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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'))
invoice_service.add_soap_response('readInvoices', get_xml_file('R_read_invoices_regie_109.xml'))
@ -11179,6 +11323,23 @@ def test_invoice_if_cancelled(activity_service, invoice_service, con, app, freez
url = get_endpoint('regie/109/invoice/1312-18')
assert con.cancel_invoice_delay == 30
# subscribe
freezer.move_to('2023-03-03 18:20:00')
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?family_id=1312',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
# invoice created on validate basket
freezer.move_to('2023-03-03 18:30:00')
resp = app.post_json(
@ -11209,7 +11370,10 @@ def test_invoice_if_cancelled(activity_service, invoice_service, con, app, freez
assert resp.json['err_desc'] == 'Invoice cancelled'
def test_invoice_for_payment(activity_service, invoice_service, con, app, freezer):
def test_invoice_for_payment(family_service, activity_service, invoice_service, con, app, freezer):
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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(
@ -11220,6 +11384,23 @@ def test_invoice_for_payment(activity_service, invoice_service, con, app, freeze
url = get_endpoint('regie/109/invoice/1312-18')
assert con.max_payment_delay == 20
# subscribe
freezer.move_to('2023-03-03 18:20:00')
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?family_id=1312',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
# invoice created on validate basket
freezer.move_to('2023-03-03 18:30:00')
resp = app.post_json(
@ -11493,7 +11674,12 @@ def test_pay_historical_invoice(invoice_service, con, app):
assert resp.json['err_desc'] == 'Invoice already paid'
def test_pay_not_yet_cancelled_basket_invoice(activity_service, invoice_service, con, app, freezer):
def test_pay_not_yet_cancelled_basket_invoice(
family_service, activity_service, invoice_service, con, app, freezer
):
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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'))
invoice_service.add_soap_response('readInvoices', get_xml_file('R_read_invoices_regie_109.xml'))
@ -11505,6 +11691,23 @@ def test_pay_not_yet_cancelled_basket_invoice(activity_service, invoice_service,
'transaction_id': 'xxx',
}
# subscribe
freezer.move_to('2023-03-03 18:20:00')
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?family_id=1312',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
# invoice created on validate basket
freezer.move_to('2023-03-03 18:30:00')
resp = app.post_json(
@ -11522,7 +11725,10 @@ def test_pay_not_yet_cancelled_basket_invoice(activity_service, invoice_service,
assert resp.json['data'] == 'ok'
def test_pay_cancelled_basket_invoice(activity_service, invoice_service, con, app, freezer):
def test_pay_cancelled_basket_invoice(family_service, activity_service, invoice_service, con, app, freezer):
family_service.add_soap_response('readFamily', get_xml_file('R_read_family_for_subscription.xml'))
activity_service.add_soap_response('getPersonUnitInfo', get_xml_file('R_get_person_unit_info.xml'))
activity_service.add_soap_response('addPersonUnitBasket', get_xml_file('R_add_person_unit_basket.xml'))
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(
@ -11538,6 +11744,23 @@ def test_pay_cancelled_basket_invoice(activity_service, invoice_service, con, ap
'transaction_id': 'xxx',
}
# subscribe
freezer.move_to('2023-03-03 18:20:00')
resp = app.post_json(
get_endpoint('add-person-basket-subscription') + '?family_id=1312',
params={
'person_id': '266145',
'activity_id': 'A10053179798',
'unit_id': 'A10053179809',
'place_id': 'A10053179757',
'start_date': '2023-02-01',
'end_date': '2023-06-30',
'form_api_url': 'https://wcs.example.com/api/forms/exemple-inscription-loisirs-1/12/',
'form_number': '13-12',
},
)
assert resp.json['err'] == 0
# invoice created on validate basket
freezer.move_to('2023-03-03 18:30:00')
resp = app.post_json(