api: return overbooked_places in accept endpoint response (#40017)
This commit is contained in:
parent
8ea7b2ae37
commit
f675e0e7ef
|
@ -796,7 +796,12 @@ class AcceptBooking(APIView):
|
|||
}
|
||||
return Response(response)
|
||||
booking.accept()
|
||||
response = {'err': 0, 'booking_id': booking.id}
|
||||
event = booking.event
|
||||
response = {
|
||||
'err': 0,
|
||||
'booking_id': booking.pk,
|
||||
'overbooked_places': max(0, event.booked_places - event.places),
|
||||
}
|
||||
return Response(response)
|
||||
|
||||
|
||||
|
|
|
@ -1355,6 +1355,8 @@ def test_accept_booking(app, some_data, user):
|
|||
assert resp.json['err_desc'] == 'secondary booking'
|
||||
|
||||
resp = app.post('/api/booking/%s/accept/' % primary.id)
|
||||
assert resp.json['err'] == 0
|
||||
assert resp.json['overbooked_places'] == 0
|
||||
assert Booking.objects.filter(in_waiting_list=True).count() == 0
|
||||
assert Booking.objects.filter(in_waiting_list=False).count() == 2
|
||||
primary.refresh_from_db()
|
||||
|
@ -1377,6 +1379,16 @@ def test_accept_booking(app, some_data, user):
|
|||
assert Booking.objects.filter(in_waiting_list=True).count() == 2
|
||||
assert Booking.objects.filter(in_waiting_list=False).count() == 0
|
||||
|
||||
# accept a booking with overbooking
|
||||
event.places = 1
|
||||
event.save()
|
||||
Booking.objects.update(cancellation_datetime=None)
|
||||
primary.refresh_from_db()
|
||||
primary.suspend()
|
||||
resp = app.post('/api/booking/%s/accept/' % primary.pk)
|
||||
assert resp.json['err'] == 0
|
||||
assert resp.json['overbooked_places'] == 1
|
||||
|
||||
|
||||
def test_suspend_booking(app, some_data, user):
|
||||
agenda_id = Agenda.objects.filter(label=u'Foo bar')[0].id
|
||||
|
|
Loading…
Reference in New Issue