1693 |
1693 |
resp = app.get('/api/agenda/%s/status/%s/' % (agenda_id, 'unknown'), status=404)
|
1694 |
1694 |
|
1695 |
1695 |
|
1696 |
|
def test_bookings(app, some_data, user):
|
1697 |
|
agenda = Agenda.objects.filter(label=u'Foo bar')[0]
|
1698 |
|
event = Event.objects.filter(agenda=agenda).exclude(start_datetime__lt=now())[0]
|
1699 |
|
event.slug = 'event-slug'
|
1700 |
|
event.places = 5
|
1701 |
|
event.waiting_list_places = 5
|
1702 |
|
event.save()
|
|
1696 |
def test_bookings(app, user):
|
|
1697 |
agenda = Agenda.objects.create(label='Foo bar', kind='events', minimal_booking_delay=0)
|
|
1698 |
event = Event.objects.create(
|
|
1699 |
slug='event-slug',
|
|
1700 |
start_datetime=(now() + datetime.timedelta(days=5)).replace(hour=10, minute=0),
|
|
1701 |
places=5,
|
|
1702 |
waiting_list_places=5,
|
|
1703 |
agenda=agenda,
|
|
1704 |
)
|
1703 |
1705 |
|
1704 |
1706 |
# create a booking not on the waiting list
|
1705 |
1707 |
primary1 = Booking.objects.create(event=event, in_waiting_list=False, user_external_id='42')
|
... | ... | |
1724 |
1726 |
'/api/agenda/%s/bookings/foobar/' % (agenda.slug), params={'user_external_id': '42'}, status=404
|
1725 |
1727 |
)
|
1726 |
1728 |
|
|
1729 |
# search for '42' external user
|
1727 |
1730 |
resp = app.get(
|
1728 |
1731 |
'/api/agenda/%s/bookings/%s/' % (agenda.slug, event.slug), params={'user_external_id': '42'}
|
1729 |
1732 |
)
|
... | ... | |
1732 |
1735 |
{'booking_id': primary1.pk, 'in_waiting_list': False},
|
1733 |
1736 |
{'booking_id': primary4.pk, 'in_waiting_list': True},
|
1734 |
1737 |
]
|
|
1738 |
# primary1 is cancelled
|
|
1739 |
primary1.cancel()
|
|
1740 |
resp = app.get(
|
|
1741 |
'/api/agenda/%s/bookings/%s/' % (agenda.slug, event.slug), params={'user_external_id': '42'}
|
|
1742 |
)
|
|
1743 |
assert resp.json['err'] == 0
|
|
1744 |
assert resp.json['data'] == [
|
|
1745 |
{'booking_id': primary4.pk, 'in_waiting_list': True},
|
|
1746 |
]
|
|
1747 |
|
|
1748 |
# search for 'foobar' external user
|
1735 |
1749 |
resp = app.get(
|
1736 |
1750 |
'/api/agenda/%s/bookings/%s/' % (agenda.slug, event.slug), params={'user_external_id': 'foobar'}
|
1737 |
1751 |
)
|
... | ... | |
1739 |
1753 |
assert resp.json['data'] == [
|
1740 |
1754 |
{'booking_id': primary2.pk, 'in_waiting_list': False},
|
1741 |
1755 |
]
|
|
1756 |
|
|
1757 |
# no bookings for this external user
|
1742 |
1758 |
resp = app.get(
|
1743 |
1759 |
'/api/agenda/%s/bookings/%s/' % (agenda.slug, event.slug), params={'user_external_id': '35'}
|
1744 |
1760 |
)
|
1745 |
|
-
|