Projet

Général

Profil

0002-api-return-400-when-no-events-found-38333.patch

Emmanuel Cazenave, 11 décembre 2019 11:49

Télécharger (2,05 ko)

Voir les différences:

Subject: [PATCH 2/2] api: return 400 when no events found (#38333)

 chrono/api/views.py | 9 +++++++++
 tests/test_api.py   | 8 +++-----
 2 files changed, 12 insertions(+), 5 deletions(-)
chrono/api/views.py
514 514
            except ValueError:
515 515
                events = Event.objects.filter(slug__in=slots).order_by('start_datetime')
516 516

  
517
            if not events.count():
518
                return Response(
519
                    {
520
                        'err': 1,
521
                        'err_class': 'unkown event idenfiers or slug',
522
                        'err_desc': _('unkown event idenfiers or slug'),
523
                    }, status=status.HTTP_400_BAD_REQUEST
524
                )
525

  
517 526
        # search free places. Switch to waiting list if necessary.
518 527
        in_waiting_list = False
519 528
        for event in events:
tests/test_api.py
574 574
    # invalid slots format
575 575
    resp = app.post_json('/api/agenda/%s/fillslots/' % agenda.id, params={'slots': 'foobar'}, status=400)
576 576
    assert resp.json['err'] == 1
577
    assert resp.json['reason'] == 'invalid payload'  # legacy
578
    assert resp.json['err_class'] == 'invalid payload'
579
    assert resp.json['err_desc'] == 'invalid payload'
580
    assert len(resp.json['errors']) == 1
581
    assert 'slots' in resp.json['errors']
577
    assert resp.json['reason'] == 'unkown event idenfiers or slug'  # legacy
578
    assert resp.json['err_class'] == 'unkown event idenfiers or slug'
579
    assert resp.json['err_desc'] == 'unkown event idenfiers or slug'
582 580

  
583 581
    # unknown agendas
584 582
    resp = app.post('/api/agenda/foobar/fillslots/', status=404)
585
-