0001-vivaticket-raise-APIError-on-booking-creation-failur.patch
passerelle/apps/vivaticket/models.py | ||
---|---|---|
292 | 292 |
headers = {'X-Vivaticket-Form-URL': post_data['form_url']} |
293 | 293 |
r = self.post('Booking/Post', {'Booking': booking}, headers=headers) |
294 | 294 |
self.logger.debug('Book response: %r' % r.text) |
295 |
if not r.ok: |
|
296 |
raise APIError(r.text) |
|
295 | 297 |
return {'data': r.json()} |
tests/test_vivaticket.py | ||
---|---|---|
373 | 373 |
assert mocked_post.call_args[1]['json']['Booking']['contact'] == {'InternalCode': '0000000273'} |
374 | 374 |
assert mocked_post.call_args[1]['headers'] == {'X-Vivaticket-Form-URL': 'http://mysite.com/form/id/'} |
375 | 375 |
assert response.json['data']['bookingCode'] == 'II0000013' |
376 | ||
377 |
# no more need to fake key response because the key is in cache |
|
378 |
mocked_post.side_effect = [utils.FakedResponse(text='This external booking code already exists.', ok=False)] |
|
379 |
response = app.post_json(url, params=payload) |
|
380 |
assert response.json['err'] == 1 |
|
381 |
assert response.json['err_desc'] == 'This external booking code already exists.' |
|
382 |
assert response.json['err_class'] == 'passerelle.utils.jsonresponse.APIError' |
|
376 |
- |