571 |
571 |
assert resp.json['reason'] == 'slots list cannot be empty' # legacy
|
572 |
572 |
assert resp.json['err_class'] == 'slots list cannot be empty'
|
573 |
573 |
assert resp.json['err_desc'] == 'slots list cannot be empty'
|
574 |
|
# invalid slots format
|
575 |
|
resp = app.post_json('/api/agenda/%s/fillslots/' % agenda.id, params={'slots': 'foobar'}, status=400)
|
576 |
|
assert resp.json['err'] == 1
|
577 |
|
assert resp.json['reason'] == 'invalid payload' # legacy
|
578 |
|
assert resp.json['err_class'] == 'invalid payload'
|
579 |
|
assert resp.json['err_desc'] == 'invalid payload'
|
580 |
|
assert len(resp.json['errors']) == 1
|
581 |
|
assert 'slots' in resp.json['errors']
|
582 |
574 |
|
583 |
575 |
# unknown agendas
|
584 |
576 |
resp = app.post('/api/agenda/foobar/fillslots/', status=404)
|
585 |
577 |
resp = app.post('/api/agenda/233/fillslots/', status=404)
|
586 |
578 |
|
|
579 |
|
|
580 |
def test_booking_api_fillslots_slots_string_param(app, some_data, user):
|
|
581 |
agenda = Agenda.objects.filter(label=u'Foo bar')[0]
|
|
582 |
events_ids = [x.id for x in Event.objects.filter(agenda=agenda) if x.in_bookable_period()]
|
|
583 |
assert len(events_ids) == 3
|
|
584 |
app.authorization = ('Basic', ('john.doe', 'password'))
|
|
585 |
|
|
586 |
# empty string
|
|
587 |
resp = app.post_json(
|
|
588 |
'/api/agenda/%s/fillslots/' % agenda.slug, params={'slots': ''},
|
|
589 |
status=400
|
|
590 |
)
|
|
591 |
assert resp.json['err'] == 1
|
|
592 |
assert resp.json['err_class'] == 'invalid payload'
|
|
593 |
assert resp.json['err_desc'] == 'invalid payload'
|
|
594 |
|
|
595 |
slots_string_param = ','.join([str(e) for e in events_ids])
|
|
596 |
resp = app.post_json(
|
|
597 |
'/api/agenda/%s/fillslots/' % agenda.slug, params={'slots': slots_string_param}
|
|
598 |
)
|
|
599 |
primary_booking_id = resp.json['booking_id']
|
|
600 |
Booking.objects.get(id=primary_booking_id)
|
|
601 |
assert Booking.objects.count() == 3
|
|
602 |
|
|
603 |
|
587 |
604 |
def test_booking_api_meeting(app, meetings_agenda, user):
|
588 |
605 |
agenda_id = meetings_agenda.slug
|
589 |
606 |
meeting_type = MeetingType.objects.get(agenda=meetings_agenda)
|
590 |
|
-
|