Projet

Général

Profil

0001-api-always-return-accept-and-suspend-urls-41773.patch

Lauréline Guérin, 24 août 2020 15:04

Télécharger (4,5 ko)

Voir les différences:

Subject: [PATCH] api: always return accept and suspend urls (#41773)

 chrono/api/views.py | 14 ++++++--------
 tests/test_api.py   | 10 +++++-----
 2 files changed, 11 insertions(+), 13 deletions(-)
chrono/api/views.py
996 996
                'cancel_url': request.build_absolute_uri(
997 997
                    reverse('api-cancel-booking', kwargs={'booking_pk': primary_booking.id})
998 998
                ),
999
                'accept_url': request.build_absolute_uri(
1000
                    reverse('api-accept-booking', kwargs={'booking_pk': primary_booking.pk})
1001
                ),
1002
                'suspend_url': request.build_absolute_uri(
1003
                    reverse('api-suspend-booking', kwargs={'booking_pk': primary_booking.pk})
1004
                ),
999 1005
                'ics_url': request.build_absolute_uri(
1000 1006
                    reverse('api-booking-ics', kwargs={'booking_pk': primary_booking.id})
1001 1007
                ),
1002 1008
            },
1003 1009
        }
1004
        if in_waiting_list:
1005
            response['api']['accept_url'] = request.build_absolute_uri(
1006
                reverse('api-accept-booking', kwargs={'booking_pk': primary_booking.id})
1007
            )
1008
        else:
1009
            response['api']['suspend_url'] = request.build_absolute_uri(
1010
                reverse('api-suspend-booking', kwargs={'booking_pk': primary_booking.pk})
1011
            )
1012 1010
        if agenda.accept_meetings():
1013 1011
            response['end_datetime'] = format_response_datetime(events[-1].end_datetime)
1014 1012
            response['duration'] = (events[-1].end_datetime - events[-1].start_datetime).seconds // 60
tests/test_api.py
750 750
    resp = app.post('/api/agenda/%s/fillslot/%s/' % (agenda.slug, event.id))
751 751
    Booking.objects.get(id=resp.json['booking_id'])
752 752
    assert resp.json['datetime'] == localtime(event.start_datetime).strftime('%Y-%m-%d %H:%M:%S')
753
    assert 'accept_url' not in resp.json['api']
753
    assert 'accept_url' in resp.json['api']
754 754
    assert 'suspend_url' in resp.json['api']
755 755
    assert 'cancel_url' in resp.json['api']
756 756
    assert 'ics_url' in resp.json['api']
......
952 952
    primary_booking_id = resp.json['booking_id']
953 953
    Booking.objects.get(id=primary_booking_id)
954 954
    assert resp.json['datetime'] == localtime(event.start_datetime).strftime('%Y-%m-%d %H:%M:%S')
955
    assert 'accept_url' not in resp.json['api']
955
    assert 'accept_url' in resp.json['api']
956 956
    assert 'suspend_url' in resp.json['api']
957 957
    assert 'cancel_url' in resp.json['api']
958 958
    assert urlparse.urlparse(resp.json['api']['suspend_url']).netloc
......
1869 1869
    assert resp.json['err'] == 0
1870 1870
    assert resp.json['in_waiting_list'] is True
1871 1871
    assert 'accept_url' in resp.json['api']
1872
    assert 'suspend_url' not in resp.json['api']
1872
    assert 'suspend_url' in resp.json['api']
1873 1873
    assert 'cancel_url' in resp.json['api']
1874 1874
    assert 'ics_url' in resp.json['api']
1875 1875
    assert urlparse.urlparse(resp.json['api']['accept_url']).netloc
......
2266 2266
    resp = app.post('/api/agenda/%s/fillslot/%s/?count=3' % (agenda.slug, event.id))
2267 2267
    Booking.objects.get(id=resp.json['booking_id'])
2268 2268
    assert resp.json['datetime'] == localtime(event.start_datetime).strftime('%Y-%m-%d %H:%M:%S')
2269
    assert 'accept_url' not in resp.json['api']
2269
    assert 'accept_url' in resp.json['api']
2270 2270
    assert 'cancel_url' in resp.json['api']
2271 2271
    assert Event.objects.get(id=event.id).booked_places == 3
2272 2272

  
......
2361 2361
    cancel_url = resp.json['api']['cancel_url']
2362 2362
    assert Booking.objects.filter(primary_booking=booking).count() == 5
2363 2363
    assert resp.json['datetime'] == localtime(events[0].start_datetime).strftime('%Y-%m-%d %H:%M:%S')
2364
    assert 'accept_url' not in resp.json['api']
2364
    assert 'accept_url' in resp.json['api']
2365 2365
    assert 'cancel_url' in resp.json['api']
2366 2366
    assert 'ics_url' in resp.json['api']
2367 2367
    resp_events = resp.json['events']
2368
-