Projet

Général

Profil

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

Emmanuel Cazenave, 20 décembre 2019 10:44

Télécharger (2,08 ko)

Voir les différences:

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

 chrono/api/views.py | 10 ++++++++++
 tests/test_api.py   |  8 +++-----
 2 files changed, 13 insertions(+), 5 deletions(-)
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': 'unkown event idenfiers or slug',
595
                        'err_desc': _('unkown event idenfiers or slug'),
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
-