22 |
22 |
|
23 |
23 |
|
24 |
24 |
def test_statistics_bookings(app, user, freezer):
|
25 |
|
agenda = Agenda.objects.create(label='Foo bar', kind='events')
|
26 |
|
event = Event.objects.create(start_datetime=now(), places=5, agenda=agenda)
|
|
25 |
freezer.move_to('2020-10-01')
|
|
26 |
agenda = Agenda.objects.create(
|
|
27 |
label='Foo bar', kind='events', minimal_booking_delay=0, maximal_booking_delay=0
|
|
28 |
)
|
|
29 |
event1 = Event.objects.create(start_datetime=now().replace(day=10), places=5, agenda=agenda)
|
|
30 |
event2 = Event.objects.create(start_datetime=now().replace(day=15), places=5, agenda=agenda)
|
27 |
31 |
|
28 |
32 |
app.authorization = ('Basic', ('john.doe', 'password'))
|
29 |
33 |
resp = app.get('/api/statistics/')
|
... | ... | |
32 |
36 |
resp = app.get(url)
|
33 |
37 |
assert len(resp.json['data']['series']) == 0
|
34 |
38 |
|
35 |
|
freezer.move_to('2020-10-10')
|
36 |
39 |
for _ in range(10):
|
37 |
|
Booking.objects.create(event=event)
|
38 |
|
freezer.move_to('2020-10-15')
|
39 |
|
Booking.objects.create(event=event)
|
|
40 |
Booking.objects.create(event=event1)
|
|
41 |
Booking.objects.create(event=event2)
|
40 |
42 |
|
41 |
43 |
resp = app.get(url + '?time_interval=day')
|
42 |
44 |
assert resp.json['data'] == {
|
... | ... | |
53 |
55 |
|
54 |
56 |
category = Category.objects.create(label='Category A', slug='category-a')
|
55 |
57 |
agenda = Agenda.objects.create(label='Foo bar', kind='events', category=category)
|
56 |
|
event = Event.objects.create(start_datetime=now(), places=5, agenda=agenda)
|
57 |
|
freezer.move_to('2020-10-25')
|
58 |
|
Booking.objects.create(event=event)
|
|
58 |
event3 = Event.objects.create(start_datetime=now().replace(day=25), places=5, agenda=agenda)
|
|
59 |
Booking.objects.create(event=event3)
|
59 |
60 |
|
60 |
61 |
# category filter
|
61 |
62 |
resp = app.get(url + '?category=category-a')
|
... | ... | |
71 |
72 |
|
72 |
73 |
# absence/presence
|
73 |
74 |
for i in range(10):
|
74 |
|
Booking.objects.create(event=event, user_was_present=bool(i % 2))
|
|
75 |
Booking.objects.create(event=event3, user_was_present=bool(i % 2))
|
75 |
76 |
|
76 |
|
freezer.move_to('2020-11-01')
|
77 |
|
Booking.objects.create(event=event, user_was_present=True)
|
|
77 |
event4 = Event.objects.create(start_datetime=now().replace(month=11, day=1), places=5, agenda=agenda)
|
|
78 |
Booking.objects.create(event=event4, user_was_present=True)
|
78 |
79 |
|
79 |
80 |
resp = app.get(url)
|
80 |
81 |
assert resp.json['data'] == {
|
81 |
|
-
|