api: add in_waiting_list filter in user bookings list (#60020)
This commit is contained in:
parent
4c52f29cfd
commit
5c25f7811d
|
@ -1891,6 +1891,7 @@ class BookingFilter(filters.FilterSet):
|
|||
'date_end',
|
||||
'user_was_present',
|
||||
'user_absence_reason',
|
||||
'in_waiting_list',
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -324,6 +324,30 @@ def test_bookings_api_filter_user_absence_reason(app, user):
|
|||
assert [b['id'] for b in resp.json['data']] == [booking2.pk]
|
||||
|
||||
|
||||
def test_bookings_api_filter_in_waiting_list(app, user):
|
||||
agenda = Agenda.objects.create()
|
||||
event = Event.objects.create(
|
||||
agenda=agenda, start_datetime=make_aware(datetime.datetime(2017, 5, 22, 0, 0)), places=10
|
||||
)
|
||||
booking_main_list = Booking.objects.create(event=event, user_external_id='42')
|
||||
booking_waiting_list = Booking.objects.create(event=event, user_external_id='42', in_waiting_list=True)
|
||||
|
||||
app.authorization = ('Basic', ('john.doe', 'password'))
|
||||
resp = app.get('/api/bookings/', params={'user_external_id': '42'})
|
||||
assert resp.json['err'] == 0
|
||||
assert len(resp.json['data']) == 2
|
||||
|
||||
resp = app.get('/api/bookings/', params={'user_external_id': '42', 'in_waiting_list': False})
|
||||
assert resp.json['err'] == 0
|
||||
assert len(resp.json['data']) == 1
|
||||
assert resp.json['data'][0]['id'] == booking_main_list.id
|
||||
|
||||
resp = app.get('/api/bookings/', params={'user_external_id': '42', 'in_waiting_list': True})
|
||||
assert resp.json['err'] == 0
|
||||
assert len(resp.json['data']) == 1
|
||||
assert resp.json['data'][0]['id'] == booking_waiting_list.id
|
||||
|
||||
|
||||
@pytest.mark.parametrize('flag', [True, False, None])
|
||||
def test_booking_api_present(app, user, flag):
|
||||
agenda = Agenda.objects.create(kind='events')
|
||||
|
|
Loading…
Reference in New Issue