From a6b9a5a3f0cbb06d5b780f596a258852c3c9853a Mon Sep 17 00:00:00 2001 From: Oleg Lavrovsky Date: Wed, 27 Mar 2024 18:10:03 +0100 Subject: [PATCH] Userlist test --- dribdat/public/api.py | 16 ++++++++++++---- tests/test_api.py | 6 ++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/dribdat/public/api.py b/dribdat/public/api.py index b1c5d31c..d7a7d309 100644 --- a/dribdat/public/api.py +++ b/dribdat/public/api.py @@ -272,15 +272,23 @@ def project_info_json(project_id): # ------ USERS ---------- +def get_users_for_event(event=None): + if event is None: return [] + userlist = [] + for u in GetEventUsers(event): + # with_challenges=True, limit=-1, event=None + udata = u.data + udata['teams'] = u.joined_projects(True, -1, event) + userlist.append(udata) + return userlist + + @blueprint.route('/event//participants.csv') @admin_required def event_participants_csv(event_id): """Download a CSV of event participants.""" event = Event.query.filter_by(id=event_id).first_or_404() - userlist = [] - for u in GetEventUsers(event): - u['teams'] = u.joined_projects(True, -1, event) - userlist.append(u) + userlist = get_users_for_event(event) headers = { 'Content-Disposition': 'attachment; ' + 'filename=user_list_%d.csv' % event.id diff --git a/tests/test_api.py b/tests/test_api.py index 2073343f..ee618b77 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -60,6 +60,12 @@ def test_get_event_data(self, testapp): ProjectActivity(project, 'star', user2) assert project in user1.joined_projects() assert project not in user1.joined_projects(False) # no challenges + + # Test event API + userlist = get_users_for_event(event) + assert user1.username in [ u['username'] for u in userlist ] + assert user2.username in [ u['username'] for u in userlist ] + def test_get_platform_data(self): """More global data types."""