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