Projet

Général

Profil

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

Emmanuel Cazenave, 16 décembre 2019 15:16

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
513 513
            except ValueError:
514 514
                events = Event.objects.filter(slug__in=slots).order_by('start_datetime')
515 515

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

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

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