Projet

Général

Profil

0001-api-add-exception-desk-on-event-agenda-creation-6102.patch

Valentin Deniaud, 25 janvier 2022 12:20

Télécharger (1,85 ko)

Voir les différences:

Subject: [PATCH] api: add exception desk on event agenda creation (#61021)

 chrono/api/views.py   | 3 +++
 tests/api/test_all.py | 5 +++++
 2 files changed, 8 insertions(+)
chrono/api/views.py
756 756
        if not serializer.is_valid():
757 757
            raise APIErrorBadRequest(N_('invalid payload'), errors=serializer.errors)
758 758
        agenda = serializer.save()
759
        if agenda.kind == 'events':
760
            desk = Desk.objects.create(agenda=agenda, slug='_exceptions_holder')
761
            desk.import_timeperiod_exceptions_from_settings()
759 762
        return Response({'err': 0, 'data': [get_agenda_detail(request, agenda)]})
760 763

  
761 764

  
tests/api/test_all.py
740 740
    assert agenda.edit_role == edit_group
741 741
    assert agenda.view_role == view_group
742 742
    assert agenda.category == category_a
743
    assert not Desk.objects.filter(agenda=agenda, slug='_exceptions_holder').exists()
743 744

  
744 745
    # add an events agenda
745 746
    params = {
......
762 763
    assert agenda.view_role == view_group
763 764
    assert agenda.min_booking_datetime.date() == datetime.date(2021, 7, 12)
764 765
    assert agenda.category == category_a
766
    assert Desk.objects.filter(agenda=agenda, slug='_exceptions_holder').exists()
767

  
768
    resp = app.get('/api/agendas/datetimes/?agendas=%s' % agenda.slug)
769
    assert 'data' in resp.json
765 770

  
766 771

  
767 772
def test_api_create_subscription(app, user):
768
-