toulouse-maelis: do not crash on null recurrent_week (#78517)
gitea/passerelle/pipeline/head There was a failure building this commit Details

This commit is contained in:
Nicolas Roche 2023-06-14 15:35:31 +02:00
parent 7a21a3e50c
commit c8fb63fe3e
2 changed files with 33 additions and 1 deletions

View File

@ -2426,7 +2426,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
'calendarLetter': None,
'isPresent': False,
}
for item in post_data.get('recurrent_week'):
for item in post_data.get('recurrent_week') or []:
day_num, key = item.split('-')
recurrent_week[day_num] = {
'dayNum': day_num,

View File

@ -5777,6 +5777,38 @@ def test_update_recurrent_week_empty(family_service, activity_service, con, app)
assert resp.json['data'] == 'ok'
def test_update_recurrent_week_null(family_service, activity_service, con, app):
def request_check(request):
assert serialize_object(request.dayWeekInfoList) == [
{'dayNum': 1, 'isPresent': False, 'isOpen': None, 'calendarLetter': None},
{'dayNum': 2, 'isPresent': False, 'isOpen': None, 'calendarLetter': None},
{'dayNum': 3, 'isPresent': False, 'isOpen': None, 'calendarLetter': None},
{'dayNum': 4, 'isPresent': False, 'isOpen': None, 'calendarLetter': None},
{'dayNum': 5, 'isPresent': False, 'isOpen': None, 'calendarLetter': None},
{'dayNum': 6, 'isPresent': False, 'isOpen': None, 'calendarLetter': None},
{'dayNum': 7, 'isPresent': False, 'isOpen': None, 'calendarLetter': None},
]
family_service.add_soap_response('readFamily', get_xml_file('R_read_family.xml'))
activity_service.add_soap_response(
'updateWeekCalendar',
get_xml_file('R_update_week_calendar.xml'),
request_check=request_check,
)
url = get_endpoint('update-recurrent-week')
params = {
'person_id': '613880',
'activity_id': 'A10049327682',
'start_date': '2023-04-01',
'end_date': '2023-04-30',
'recurrent_week': None,
}
resp = app.post_json(url + '?family_id=311323', params=params)
assert resp.json['err'] == 0
assert resp.json['data'] == 'ok'
def test_update_recurrent_week_not_linked_error(con, app):
url = get_endpoint('update-recurrent-week')
params = {