0001-api-return-events-details-if-multiple-booking-38330.patch
chrono/api/views.py | ||
---|---|---|
576 | 576 |
if agenda.kind == 'events' and not multiple_booking: |
577 | 577 |
event = events[0] |
578 | 578 |
response['places'] = get_event_places(event) |
579 |
if agenda.kind == 'events' and multiple_booking: |
|
580 |
response['events'] = [ |
|
581 |
{ |
|
582 |
'slug': x.slug, |
|
583 |
'text': str(x), |
|
584 |
'datetime': format_response_datetime(x.start_datetime), |
|
585 |
'description': x.description |
|
586 |
} for x in events |
|
587 |
] |
|
579 | 588 | |
580 | 589 |
return Response(response) |
581 | 590 |
tests/test_api.py | ||
---|---|---|
1233 | 1233 |
assert 'accept_url' not in resp.json['api'] |
1234 | 1234 |
assert 'cancel_url' in resp.json['api'] |
1235 | 1235 |
assert 'ics_url' in resp.json['api'] |
1236 |
resp_events = resp.json['events'] |
|
1237 |
assert len(resp_events) == len(events) |
|
1238 |
for (e, resp_e) in zip(events, resp_events): |
|
1239 |
assert e.slug == resp_e['slug'] |
|
1240 |
assert e.description == resp_e['description'] |
|
1241 |
assert str(e) == resp_e['text'] |
|
1242 |
assert localtime(e.start_datetime).strftime('%Y-%m-%d %H:%M:%S') == resp_e['datetime'] |
|
1236 | 1243 |
for event in events: |
1237 | 1244 |
assert Event.objects.get(id=event.id).booked_places == 3 |
1238 | 1245 | |
1239 |
- |