1290 |
1290 |
resp = app.get('/api/agenda/%s/status/%s/' % (agenda_id, 'unknown'), status=404)
|
1291 |
1291 |
|
1292 |
1292 |
|
|
1293 |
def test_bookings(app, some_data, user):
|
|
1294 |
agenda = Agenda.objects.filter(label=u'Foo bar')[0]
|
|
1295 |
event = Event.objects.filter(agenda=agenda).exclude(start_datetime__lt=now())[0]
|
|
1296 |
event.slug = 'event-slug'
|
|
1297 |
event.places = 5
|
|
1298 |
event.waiting_list_places = 5
|
|
1299 |
event.save()
|
|
1300 |
|
|
1301 |
# create a booking not on the waiting list
|
|
1302 |
primary1 = Booking.objects.create(event=event, in_waiting_list=False, user_external_id='42')
|
|
1303 |
Booking.objects.create(
|
|
1304 |
event=event, in_waiting_list=False, primary_booking=primary1, user_external_id='42'
|
|
1305 |
)
|
|
1306 |
primary2 = Booking.objects.create(event=event, in_waiting_list=False, user_external_id='foobar')
|
|
1307 |
Booking.objects.create(event=event, in_waiting_list=False, user_external_id='')
|
|
1308 |
primary4 = Booking.objects.create(event=event, in_waiting_list=True, user_external_id='42')
|
|
1309 |
|
|
1310 |
app.authorization = ('Basic', ('john.doe', 'password'))
|
|
1311 |
|
|
1312 |
# unknown agenda
|
|
1313 |
resp = app.get(
|
|
1314 |
'/api/agenda/foobar/bookings/%s/' % (event.pk), params={'user_external_id': '42'}, status=404
|
|
1315 |
)
|
|
1316 |
# unknown event
|
|
1317 |
resp = app.get(
|
|
1318 |
'/api/agenda/%s/bookings/0/' % (agenda.slug), params={'user_external_id': '42'}, status=404
|
|
1319 |
)
|
|
1320 |
resp = app.get(
|
|
1321 |
'/api/agenda/%s/bookings/foobar/' % (agenda.slug), params={'user_external_id': '42'}, status=404
|
|
1322 |
)
|
|
1323 |
|
|
1324 |
# get event by pk
|
|
1325 |
resp = app.get('/api/agenda/%s/bookings/%s/' % (agenda.slug, event.pk), params={'user_external_id': '42'})
|
|
1326 |
assert resp.json['err'] == 0
|
|
1327 |
assert resp.json['data'] == [
|
|
1328 |
{'booking_id': primary1.pk, 'in_waiting_list': False},
|
|
1329 |
{'booking_id': primary4.pk, 'in_waiting_list': True},
|
|
1330 |
]
|
|
1331 |
# get event by slug
|
|
1332 |
resp = app.get(
|
|
1333 |
'/api/agenda/%s/bookings/%s/' % (agenda.slug, event.slug), params={'user_external_id': 'foobar'}
|
|
1334 |
)
|
|
1335 |
assert resp.json['err'] == 0
|
|
1336 |
assert resp.json['data'] == [
|
|
1337 |
{'booking_id': primary2.pk, 'in_waiting_list': False},
|
|
1338 |
]
|
|
1339 |
resp = app.get(
|
|
1340 |
'/api/agenda/%s/bookings/%s/' % (agenda.slug, event.slug), params={'user_external_id': '35'}
|
|
1341 |
)
|
|
1342 |
assert resp.json['err'] == 0
|
|
1343 |
assert resp.json['data'] == []
|
|
1344 |
# no user_external_id in params
|
|
1345 |
resp = app.get('/api/agenda/%s/bookings/%s/' % (agenda.slug, event.slug), params={'user_external_id': ''})
|
|
1346 |
assert resp.json['err'] == 1
|
|
1347 |
assert resp.json['reason'] == 'missing param user_external_id' # legacy
|
|
1348 |
assert resp.json['err_class'] == 'missing param user_external_id'
|
|
1349 |
assert resp.json['err_desc'] == 'missing param user_external_id'
|
|
1350 |
resp = app.get('/api/agenda/%s/bookings/%s/' % (agenda.slug, event.slug))
|
|
1351 |
assert resp.json['err'] == 1
|
|
1352 |
|
|
1353 |
|
1293 |
1354 |
def test_waiting_list_datetimes(app, some_data, user):
|
1294 |
1355 |
agenda_id = Agenda.objects.filter(label=u'Foo bar')[0].id
|
1295 |
1356 |
event = Event.objects.filter(agenda_id=agenda_id).exclude(start_datetime__lt=now())[0]
|
1296 |
|
-
|