clicrdv: fix get_available_timeslots return value (#39403)

This commit is contained in:
Valentin Deniaud 2020-01-30 10:26:22 +01:00
parent a71b04b247
commit c9bb58e0ef
2 changed files with 18 additions and 1 deletions

View File

@ -110,7 +110,7 @@ class ClicRdv(BaseResource):
request_uri = request_uri + '&end=%s' % urlquote(date_end)
response = self.request(request_uri)
if 'error' in response:
return response
return []
for timeslot in response.get('availabletimeslots', []):
timeslots.append(timeslot.get('start'))
timeslots.sort()

View File

@ -151,6 +151,23 @@ def test_interventions_get_datetimes(mocked_request, app, connector):
assert resp['data'][0] == {'id': '11:22:33', 'text': '11:22'}
assert resp['data'][1] == {'id': '12:34:56', 'text': '12:34'}
@mock.patch('passerelle.utils.Request.request')
def test_interventions_get_datetimes_error(mocked_request, app, connector):
def raise_for_status():
raise HTTPError("400 Client Error: Bad Request for url: xxx")
response = mock.Mock()
response.json.return_value = [
{"error": "The intervention_ids parameter contains at least one invalid id"}
]
response.raise_for_status = raise_for_status
mocked_request.return_value = response
resp = app.get('/clicrdv/test/interventions/63258/datetimes/').json
assert len(resp.get('data')) == 0
@mock.patch('passerelle.utils.Request.request')
def test_cancel_appointment(mocked_request, app, connector):
obj_type = ContentType.objects.get_for_model(ClicRdv)