2120 |
2120 |
event3,
|
2121 |
2121 |
event4,
|
2122 |
2122 |
]
|
2123 |
|
assert slots['users'] == [
|
|
2123 |
assert slots['users'][0]['users'] == [
|
2124 |
2124 |
{
|
2125 |
2125 |
'user_id': 'user:1',
|
2126 |
2126 |
'user_first_name': 'Subscription',
|
... | ... | |
2213 |
2213 |
event2,
|
2214 |
2214 |
event3,
|
2215 |
2215 |
]
|
2216 |
|
assert len(slots['users']) == 8
|
2217 |
|
assert slots['users'][0]['user_id'] == 'user:2022-02-01-2022-02-02'
|
2218 |
|
assert slots['users'][1]['user_id'] == 'user:2022-02-01-2022-02-15'
|
2219 |
|
assert slots['users'][2]['user_id'] == 'user:2022-02-01-2022-02-16'
|
2220 |
|
assert slots['users'][3]['user_id'] == 'user:2022-02-01-2022-03-01'
|
2221 |
|
assert slots['users'][4]['user_id'] == 'user:2022-02-15-2022-02-28'
|
2222 |
|
assert slots['users'][5]['user_id'] == 'user:2022-02-15-2022-03-01'
|
2223 |
|
assert slots['users'][6]['user_id'] == 'user:2022-02-16-2022-03-01'
|
2224 |
|
assert slots['users'][7]['user_id'] == 'user:2022-02-28-2022-03-01'
|
|
2216 |
users = slots['users'][0]['users']
|
|
2217 |
assert len(users) == 8
|
|
2218 |
assert users[0]['user_id'] == 'user:2022-02-01-2022-02-02'
|
|
2219 |
assert users[1]['user_id'] == 'user:2022-02-01-2022-02-15'
|
|
2220 |
assert users[2]['user_id'] == 'user:2022-02-01-2022-02-16'
|
|
2221 |
assert users[3]['user_id'] == 'user:2022-02-01-2022-03-01'
|
|
2222 |
assert users[4]['user_id'] == 'user:2022-02-15-2022-02-28'
|
|
2223 |
assert users[5]['user_id'] == 'user:2022-02-15-2022-03-01'
|
|
2224 |
assert users[6]['user_id'] == 'user:2022-02-16-2022-03-01'
|
|
2225 |
assert users[7]['user_id'] == 'user:2022-02-28-2022-03-01'
|
2225 |
2226 |
|
2226 |
2227 |
|
2227 |
2228 |
def test_events_timesheet_users(app, admin_user):
|
... | ... | |
2278 |
2279 |
resp.form['date_end'] = '2022-02-28'
|
2279 |
2280 |
resp = resp.form.submit()
|
2280 |
2281 |
slots = resp.context['form'].get_slots()
|
2281 |
|
assert [u['user_id'] for u in slots['users']] == [
|
|
2282 |
assert [u['user_id'] for u in slots['users'][0]['users']] == [
|
2282 |
2283 |
'user:2',
|
2283 |
2284 |
'user:5',
|
2284 |
2285 |
'user:3',
|
... | ... | |
2339 |
2340 |
|
2340 |
2341 |
resp = resp.form.submit()
|
2341 |
2342 |
slots = resp.context['form'].get_slots()
|
2342 |
|
assert [u['user_id'] for u in slots['users']] == [
|
|
2343 |
assert [u['user_id'] for u in slots['users'][0]['users']] == [
|
2343 |
2344 |
'user:2',
|
2344 |
2345 |
'user:5',
|
2345 |
2346 |
'user:6',
|
... | ... | |
2366 |
2367 |
resp = resp.form.submit()
|
2367 |
2368 |
slots = resp.context['form'].get_slots()
|
2368 |
2369 |
# no user_id found
|
2369 |
|
assert [u['user_id'] for u in slots['users']] == []
|
2370 |
|
assert [u['user_first_name'] for u in slots['users']] == []
|
2371 |
|
assert [u['user_last_name'] for u in slots['users']] == []
|
|
2370 |
assert [u['user_id'] for u in slots['users'][0]['users']] == []
|
|
2371 |
assert [u['user_first_name'] for u in slots['users'][0]['users']] == []
|
|
2372 |
assert [u['user_last_name'] for u in slots['users'][0]['users']] == []
|
2372 |
2373 |
|
2373 |
2374 |
booking.user_external_id = 'user:1'
|
2374 |
2375 |
booking.save()
|
2375 |
2376 |
|
2376 |
2377 |
resp = resp.form.submit()
|
2377 |
2378 |
slots = resp.context['form'].get_slots()
|
2378 |
|
assert [u['user_id'] for u in slots['users']] == [
|
|
2379 |
assert [u['user_id'] for u in slots['users'][0]['users']] == [
|
2379 |
2380 |
'user:1',
|
2380 |
2381 |
]
|
2381 |
|
assert [u['user_first_name'] for u in slots['users']] == ['User']
|
2382 |
|
assert [u['user_last_name'] for u in slots['users']] == ['42']
|
|
2382 |
assert [u['user_first_name'] for u in slots['users'][0]['users']] == ['User']
|
|
2383 |
assert [u['user_last_name'] for u in slots['users'][0]['users']] == ['42']
|
2383 |
2384 |
|
2384 |
2385 |
Subscription.objects.create(
|
2385 |
2386 |
agenda=agenda,
|
... | ... | |
2392 |
2393 |
|
2393 |
2394 |
resp = resp.form.submit()
|
2394 |
2395 |
slots = resp.context['form'].get_slots()
|
2395 |
|
assert [u['user_id'] for u in slots['users']] == [
|
|
2396 |
assert [u['user_id'] for u in slots['users'][0]['users']] == [
|
2396 |
2397 |
'user:1',
|
2397 |
2398 |
]
|
2398 |
|
assert [u['user_first_name'] for u in slots['users']] == [
|
|
2399 |
assert [u['user_first_name'] for u in slots['users'][0]['users']] == [
|
2399 |
2400 |
'Subscription',
|
2400 |
2401 |
]
|
2401 |
|
assert [u['user_last_name'] for u in slots['users']] == [
|
|
2402 |
assert [u['user_last_name'] for u in slots['users'][0]['users']] == [
|
2402 |
2403 |
'41',
|
2403 |
2404 |
]
|
2404 |
2405 |
|
... | ... | |
2480 |
2481 |
recurring_event1,
|
2481 |
2482 |
recurring_event2,
|
2482 |
2483 |
]
|
2483 |
|
assert len(slots['users']) == 1
|
2484 |
|
assert slots['users'][0]['events'] == [
|
|
2484 |
assert len(slots['users'][0]['users']) == 1
|
|
2485 |
assert slots['users'][0]['users'][0]['events'] == [
|
2485 |
2486 |
{
|
2486 |
2487 |
'event': event1,
|
2487 |
2488 |
'dates': {datetime.date(2022, 2, 15): True},
|
... | ... | |
2527 |
2528 |
slots = resp.context['form'].get_slots()
|
2528 |
2529 |
|
2529 |
2530 |
assert len(slots['users']) == 1
|
|
2531 |
assert slots['users'][0]['grouper'] == ''
|
|
2532 |
assert len(slots['users'][0]['users']) == 1
|
2530 |
2533 |
assert slots['extra_data'] == ['foo']
|
2531 |
|
assert slots['users'][0]['extra_data']['foo'] == 'bar'
|
|
2534 |
assert slots['users'][0]['users'][0]['extra_data']['foo'] == 'bar'
|
2532 |
2535 |
|
2533 |
2536 |
resp.form['extra_data'] = ' foo ,baz,,'
|
2534 |
2537 |
resp = resp.form.submit()
|
2535 |
2538 |
slots = resp.context['form'].get_slots()
|
2536 |
2539 |
|
2537 |
|
assert len(slots['users']) == 1
|
|
2540 |
assert len(slots['users'][0]['users']) == 1
|
2538 |
2541 |
assert slots['extra_data'] == ['foo', 'baz']
|
2539 |
|
assert slots['users'][0]['extra_data']['foo'] == 'bar'
|
2540 |
|
assert slots['users'][0]['extra_data']['baz'] == 'blah'
|
|
2542 |
assert slots['users'][0]['users'][0]['extra_data']['foo'] == 'bar'
|
|
2543 |
assert slots['users'][0]['users'][0]['extra_data']['baz'] == 'blah'
|
2541 |
2544 |
|
2542 |
2545 |
resp.form['extra_data'] = 'unknown'
|
2543 |
2546 |
resp = resp.form.submit()
|
2544 |
2547 |
slots = resp.context['form'].get_slots()
|
2545 |
2548 |
|
2546 |
|
assert len(slots['users']) == 1
|
|
2549 |
assert len(slots['users'][0]['users']) == 1
|
2547 |
2550 |
assert slots['extra_data'] == ['unknown']
|
2548 |
|
assert slots['users'][0]['extra_data']['unknown'] == ''
|
|
2551 |
assert slots['users'][0]['users'][0]['extra_data']['unknown'] == ''
|
2549 |
2552 |
|
2550 |
2553 |
Subscription.objects.create(
|
2551 |
2554 |
agenda=agenda,
|
... | ... | |
2561 |
2564 |
resp = resp.form.submit()
|
2562 |
2565 |
slots = resp.context['form'].get_slots()
|
2563 |
2566 |
|
2564 |
|
assert len(slots['users']) == 1
|
|
2567 |
assert len(slots['users'][0]['users']) == 1
|
2565 |
2568 |
assert slots['extra_data'] == ['foo']
|
2566 |
|
assert slots['users'][0]['extra_data']['foo'] == 'baz'
|
|
2569 |
assert slots['users'][0]['users'][0]['extra_data']['foo'] == 'baz'
|
2567 |
2570 |
|
2568 |
2571 |
resp.form['extra_data'] = ' foo ,baz,,'
|
2569 |
2572 |
resp = resp.form.submit()
|
2570 |
2573 |
slots = resp.context['form'].get_slots()
|
2571 |
2574 |
|
2572 |
|
assert len(slots['users']) == 1
|
|
2575 |
assert len(slots['users'][0]['users']) == 1
|
2573 |
2576 |
assert slots['extra_data'] == ['foo', 'baz']
|
2574 |
|
assert slots['users'][0]['extra_data']['foo'] == 'baz'
|
2575 |
|
assert slots['users'][0]['extra_data']['baz'] == ''
|
|
2577 |
assert slots['users'][0]['users'][0]['extra_data']['foo'] == 'baz'
|
|
2578 |
assert slots['users'][0]['users'][0]['extra_data']['baz'] == ''
|
|
2579 |
|
|
2580 |
Booking.objects.create(
|
|
2581 |
event=event,
|
|
2582 |
user_first_name='User',
|
|
2583 |
user_last_name='43',
|
|
2584 |
user_external_id='user:2',
|
|
2585 |
extra_data={'foo': 'bar', 'baz': 'aa'},
|
|
2586 |
)
|
|
2587 |
Booking.objects.create(
|
|
2588 |
event=event,
|
|
2589 |
user_first_name='User',
|
|
2590 |
user_last_name='44',
|
|
2591 |
user_external_id='user:3',
|
|
2592 |
extra_data={'foo': 'bar2', 'baz': 'aa'},
|
|
2593 |
)
|
|
2594 |
|
|
2595 |
resp.form['extra_data'] = ''
|
|
2596 |
resp.form['group_by'] = 'foo'
|
|
2597 |
resp = resp.form.submit()
|
|
2598 |
slots = resp.context['form'].get_slots()
|
|
2599 |
|
|
2600 |
assert len(slots['users']) == 3
|
|
2601 |
assert slots['users'][0]['grouper'] == 'bar'
|
|
2602 |
assert len(slots['users'][0]['users']) == 1
|
|
2603 |
assert slots['users'][0]['users'][0]['user_id'] == 'user:2'
|
|
2604 |
assert slots['users'][1]['grouper'] == 'bar2'
|
|
2605 |
assert len(slots['users'][1]['users']) == 1
|
|
2606 |
assert slots['users'][1]['users'][0]['user_id'] == 'user:3'
|
|
2607 |
assert slots['users'][2]['grouper'] == 'baz'
|
|
2608 |
assert len(slots['users'][2]['users']) == 1
|
|
2609 |
assert slots['users'][2]['users'][0]['user_id'] == 'user:1'
|
|
2610 |
|
|
2611 |
resp.form['group_by'] = 'baz'
|
|
2612 |
resp = resp.form.submit()
|
|
2613 |
slots = resp.context['form'].get_slots()
|
|
2614 |
|
|
2615 |
assert len(slots['users']) == 2
|
|
2616 |
assert slots['users'][0]['grouper'] == 'aa'
|
|
2617 |
assert len(slots['users'][0]['users']) == 2
|
|
2618 |
assert slots['users'][0]['users'][0]['user_id'] == 'user:2'
|
|
2619 |
assert slots['users'][0]['users'][1]['user_id'] == 'user:3'
|
|
2620 |
assert slots['users'][1]['grouper'] == ''
|
|
2621 |
assert len(slots['users'][1]['users']) == 1
|
|
2622 |
assert slots['users'][1]['users'][0]['user_id'] == 'user:1'
|
|
2623 |
|
|
2624 |
Subscription.objects.update(extra_data={'foo': 'baz', 'baz': 'blah'})
|
|
2625 |
resp = resp.form.submit()
|
|
2626 |
slots = resp.context['form'].get_slots()
|
|
2627 |
|
|
2628 |
assert len(slots['users']) == 2
|
|
2629 |
assert slots['users'][0]['grouper'] == 'aa'
|
|
2630 |
assert len(slots['users'][0]['users']) == 2
|
|
2631 |
assert slots['users'][0]['users'][0]['user_id'] == 'user:2'
|
|
2632 |
assert slots['users'][0]['users'][1]['user_id'] == 'user:3'
|
|
2633 |
assert slots['users'][1]['grouper'] == 'blah'
|
|
2634 |
assert len(slots['users'][1]['users']) == 1
|
|
2635 |
assert slots['users'][1]['users'][0]['user_id'] == 'user:1'
|
|
2636 |
|
|
2637 |
resp.form['group_by'] = 'unknown'
|
|
2638 |
resp = resp.form.submit()
|
|
2639 |
slots = resp.context['form'].get_slots()
|
|
2640 |
|
|
2641 |
assert len(slots['users']) == 1
|
|
2642 |
assert slots['users'][0]['grouper'] == ''
|
|
2643 |
assert len(slots['users'][0]['users']) == 3
|
2576 |
2644 |
|
2577 |
2645 |
|
2578 |
2646 |
@pytest.mark.freeze_time('2022-04-01')
|
2579 |
|
-
|