0002-api-return-400-when-no-events-found-38333.patch
chrono/api/views.py | ||
---|---|---|
587 | 587 |
except ValueError: |
588 | 588 |
events = Event.objects.filter(slug__in=slots).order_by('start_datetime') |
589 | 589 | |
590 |
if not events.count(): |
|
591 |
return Response( |
|
592 |
{ |
|
593 |
'err': 1, |
|
594 |
'err_class': 'unknown event identifiers or slugs', |
|
595 |
'err_desc': _('unknown event identifiers or slugs'), |
|
596 |
}, |
|
597 |
status=status.HTTP_400_BAD_REQUEST, |
|
598 |
) |
|
599 | ||
590 | 600 |
# search free places. Switch to waiting list if necessary. |
591 | 601 |
in_waiting_list = False |
592 | 602 |
for event in events: |
tests/test_api.py | ||
---|---|---|
684 | 684 |
# invalid slots format |
685 | 685 |
resp = app.post_json('/api/agenda/%s/fillslots/' % agenda.id, params={'slots': 'foobar'}, status=400) |
686 | 686 |
assert resp.json['err'] == 1 |
687 |
assert resp.json['reason'] == 'invalid payload' # legacy |
|
688 |
assert resp.json['err_class'] == 'invalid payload' |
|
689 |
assert resp.json['err_desc'] == 'invalid payload' |
|
690 |
assert len(resp.json['errors']) == 1 |
|
691 |
assert 'slots' in resp.json['errors'] |
|
687 |
assert resp.json['reason'] == 'unkown event idenfiers or slug' # legacy |
|
688 |
assert resp.json['err_class'] == 'unkown event idenfiers or slug' |
|
689 |
assert resp.json['err_desc'] == 'unkown event idenfiers or slug' |
|
692 | 690 | |
693 | 691 |
# unknown agendas |
694 | 692 |
resp = app.post('/api/agenda/foobar/fillslots/', status=404) |
695 |
- |