From ccdb94d9a8353926c620044a0bfda2a5326863d4 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 12 Feb 2019 17:50:31 +0100 Subject: [PATCH] a few more races tests --- rowers/tests/test_aavirtualevents.py | 177 +++++++++++++++++++++++++- rowers/tests/testdata/testdata.csv.gz | Bin 11426 -> 11426 bytes rowers/views/racesviews.py | 108 ++++++++-------- 3 files changed, 229 insertions(+), 56 deletions(-) diff --git a/rowers/tests/test_aavirtualevents.py b/rowers/tests/test_aavirtualevents.py index 1b684bfe..895eca36 100644 --- a/rowers/tests/test_aavirtualevents.py +++ b/rowers/tests/test_aavirtualevents.py @@ -71,6 +71,11 @@ class VirtualEventViewTest(TestCase): nextweek = nu+datetime.timedelta(days=7) lastweek = nu-datetime.timedelta(days=7) + self.yesterday = yesterday + self.tomorrow = tomorrow + self.nextweek = nextweek + self.lastweek = lastweek + # erg races self.openergrace = VirtualRace.objects.create( @@ -338,12 +343,177 @@ class VirtualEventViewTest(TestCase): # set up new OTE race + def test_new_indoorrace(self): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + + url = reverse('indoorvirtualevent_create_view') + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + form_data = { + 'startdate':self.tomorrow.strftime('%Y-%m-%d'), + 'start_time':'8:00:00', + 'enddate': self.nextweek.strftime('%Y-%m-%d'), + 'end_time':'8:00:00', + 'comment': faker.text(), + 'sessionunit': 'm', + 'sessionvalue': 500, + 'name': faker.word(), + 'registration_form':'deadline', + 'registration_closure_0': self.nextweek.strftime('%Y-%m-%d'), + 'registration_closure_1': self.nextweek.strftime('%H:%M:%S'), + 'evaluation_closure_0': self.nextweek.strftime('%Y-%m-%d'), + 'evaluation_closure_1': self.nextweek.strftime('%H:%M:%S'), + 'contact_phone': '', + 'contact_email': self.u.email, + 'timezone': 'UTC' + } + + + form = IndoorVirtualRaceForm(form_data) + if not form.is_valid(): + print form.errors + self.assertTrue(form.is_valid()) + + response = self.c.post(url,form_data,follow=True) + + self.assertRedirects(response, + expected_url = reverse('virtualevents_view'), + status_code=302,target_status_code=200) + + + + # set up new otw race + # set up new OTE race + def test_new_race(self): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + + url = reverse('virtualevent_create_view') + response = self.c.get(url) + self.assertEqual(response.status_code,200) - # register + form_data = { + 'startdate':self.tomorrow.strftime('%Y-%m-%d'), + 'start_time':'8:00:00', + 'enddate': self.nextweek.strftime('%Y-%m-%d'), + 'end_time':'8:00:00', + 'comment': faker.text(), + 'course': str(self.course.id), + 'name': faker.word(), + 'registration_form':'deadline', + 'registration_closure_0': self.nextweek.strftime('%Y-%m-%d'), + 'registration_closure_1': self.nextweek.strftime('%H:%M:%S'), + 'evaluation_closure_0': self.nextweek.strftime('%Y-%m-%d'), + 'evaluation_closure_1': self.nextweek.strftime('%H:%M:%S'), + 'contact_phone': '', + 'contact_email': self.u.email, + } - # withdraw + + form = VirtualRaceForm(form_data) + if not form.is_valid(): + print form.errors + self.assertTrue(form.is_valid()) + + response = self.c.post(url,form_data,follow=True) + + self.assertRedirects(response, + expected_url = reverse('virtualevents_view'), + status_code=302,target_status_code=200) + + # view + def test_race_view(self): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + + url = reverse('virtualevent_view',kwargs={'id':self.openotwrace.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + url = reverse('virtualevent_view',kwargs={'id':self.submitotwrace.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + url = reverse('virtualevent_view',kwargs={'id':self.openergrace.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + + url = reverse('virtualevent_view',kwargs={'id':self.submitergrace.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + + + # register # withdraw + def register_race_view(self): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + + url = reverse('indoorvirtualevent_register_view',kwargs={'id':self.openergrace.id}) + response = self.c.get(url) + + form_data = { + 'teamname': faker.word(), + 'weightcategory': 'hwt', + 'adaptiveclass': 'None', + 'age': 46, + 'boatclass':'rower' + } + + form = IndoorVirtualRaceResultForm(form_data) + if not form.is_valid(): + print form.errors + self.assertTrue(form.is_valid()) + + response = self.c.post(url,form_data,follow=True) + + expected_url = reverse('virtualevent_view',kwargs={'id':self.openergrace.id}) + + self.assertRedirects(response, + expected_url=expected_url, + status_code=302,target_status_code=200) + + + login = self.c.login(username=self.upiet.username, password=self.passwordpiet) + self.assertTrue(login) + + url = reverse('indoorvirtualevent_register_view',kwargs={'id':self.openergrace.id}) + response = self.c.get(url) + + form_data = { + 'teamname': faker.word(), + 'weightcategory': 'hwt', + 'adaptiveclass': 'None', + 'age': 46, + 'boatclass':'rower' + } + + form = IndoorVirtualRaceResultForm(form_data) + if not form.is_valid(): + print form.errors + self.assertTrue(form.is_valid()) + + response = self.c.post(url,form_data,follow=True) + + expected_url = reverse('virtualevent_view',kwargs={'id':self.openergrace.id}) + + self.assertRedirects(response, + expected_url=expected_url, + status_code=302,target_status_code=200) + + url = reverse('virtualevent_withdraw_view',kwargs={'id':self.openergrace.id}) + response = self.c.get(url,follow=True) + + expected_url = reverse('virtualevent_view',kwargs={'id':self.openergrace.id}) + + self.assertRedirects(response, + expected_url=expected_url, + status_code=302,target_status_code=200) # add boat (OTW) @@ -351,6 +521,9 @@ class VirtualEventViewTest(TestCase): # submit result (OTW) + # course view + + # standalone # calculate course adherence # other background jobs diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index 8ba4ff5f6ae22130f7d9c09011e6f477e782c660..5c341767b8bc4448e50fa1c979299d0a764faa4d 100644 GIT binary patch delta 15 WcmZ1!xhRrNzMF%?^y@~pIXVC< delta 15 WcmZ1!xhRrNzMF$%|HF-Jb94YMy#>|) diff --git a/rowers/views/racesviews.py b/rowers/views/racesviews.py index 0425a88c..3067f23c 100644 --- a/rowers/views/racesviews.py +++ b/rowers/views/racesviews.py @@ -43,7 +43,7 @@ def course_map_view(request,id=0): breadcrumbs = [ { - 'url': reverse(virtualevents_view), + 'url': reverse('virtualevents_view'), 'name': 'Racing' }, { @@ -110,7 +110,7 @@ def course_replace_view(request,id=0): breadcrumbs = [ { - 'url': reverse(virtualevents_view), + 'url': reverse('virtualevents_view'), 'name': 'Racing' }, { @@ -196,7 +196,7 @@ def course_edit_view(request,id=0): breadcrumbs = [ { - 'url': reverse(virtualevents_view), + 'url': reverse('virtualevents_view'), 'name': 'Racing' }, { @@ -239,7 +239,7 @@ def course_view(request,id=0): breadcrumbs = [ { - 'url': reverse(virtualevents_view), + 'url': reverse('virtualevents_view'), 'name': 'Racing' }, { @@ -275,7 +275,7 @@ def logo_delete_view(request,id=0): logo.delete() messages.info(request,"Logo Deleted") - url = reverse(virtualevents_view) + url = reverse('virtualevents_view') return HttpResponseRedirect(url) @@ -303,7 +303,7 @@ def virtualevent_setlogo_view(request,id=0,logoid=0): message = "You do not own this race or this image" messages.error(request,message) - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs={'id':id}) return HttpResponseRedirect(url) @@ -326,11 +326,11 @@ def virtualevent_uploadimage_view(request,id=0): breadcrumbs = [ { - 'url': reverse(virtualevents_view), + 'url': reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url': reverse(virtualevent_view,kwargs={'id':id}), + 'url': reverse('virtualevent_view',kwargs={'id':id}), 'name': race.name }, { @@ -381,7 +381,7 @@ def virtualevent_uploadimage_view(request,id=0): logo.save() - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs={'id':id}) if is_ajax: @@ -560,7 +560,7 @@ def virtualevents_view(request): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, ] @@ -601,7 +601,7 @@ def virtualevent_disqualify_view(request,raceid=0,recordid=0): if timezone.now() > race.evaluation_closure+datetime.timedelta(hours=1): messages.error(request,"The evaluation is already closed and the results are official") - url = reverse(virtualevent_view,kwargs={'id':raceid}) + url = reverse('virtualevent_view',kwargs={'id':raceid}) return HttpResponseRedirect(url) @@ -624,7 +624,7 @@ def virtualevent_disqualify_view(request,raceid=0,recordid=0): record.coursecompleted = False record.save() - url = reverse(virtualevent_view,kwargs={'id':raceid}) + url = reverse('virtualevent_view',kwargs={'id':raceid}) return HttpResponseRedirect(url) @@ -668,11 +668,11 @@ def virtualevent_disqualify_view(request,raceid=0,recordid=0): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(virtualevent_view, + 'url':reverse('virtualevent_view', kwargs={'id':race.id}), 'name': race.name }, @@ -864,11 +864,11 @@ def virtualevent_view(request,id=0): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(virtualevent_view, + 'url':reverse('virtualevent_view', kwargs={'id':race.id} ), 'name': race.name @@ -1043,11 +1043,11 @@ def virtualevent_ranking_view(request,id=0): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(virtualevent_view, + 'url':reverse('virtualevent_view', kwargs={'id':race.id} ), 'name': race.name @@ -1094,7 +1094,7 @@ def virtualevent_withdraw_view(request,id=0,recordid=None): else: messages.error(request,"You cannot withdraw from this race") - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -1112,7 +1112,7 @@ def virtualevent_addboat_view(request,id=0): if not race_can_adddiscipline(r,race): messages.error(request,"You cannot register for this race") - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -1167,7 +1167,7 @@ def virtualevent_addboat_view(request,id=0): request, "You have already registered in that boat class/type" ) - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id': race.id } @@ -1204,7 +1204,7 @@ def virtualevent_addboat_view(request,id=0): "You have successfully registered for this race. Good luck!" ) - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -1222,11 +1222,11 @@ def virtualevent_addboat_view(request,id=0): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(virtualevent_view, + 'url':reverse('virtualevent_view', kwargs={'id':race.id} ), 'name': race.name @@ -1282,7 +1282,7 @@ def virtualevent_register_view(request,id=0): if not race_can_register(r,race): messages.error(request,"You cannot register for this race") - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -1359,7 +1359,7 @@ def virtualevent_register_view(request,id=0): "You have successfully registered for this race. Good luck!" ) - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -1377,11 +1377,11 @@ def virtualevent_register_view(request,id=0): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(virtualevent_view, + 'url':reverse('virtualevent_view', kwargs={'id':race.id} ), 'name': race.name @@ -1440,7 +1440,7 @@ def virtualevent_toggle_email_view(request,id=0): record.emailnotifications = newsetting record.save() - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs={'id':record.race.id}) return HttpResponseRedirect(url) @@ -1462,7 +1462,7 @@ def indoorvirtualevent_toggle_email_view(request,id=0): record.emailnotifications = newsetting record.save() - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs={'id':record.race.id}) return HttpResponseRedirect(url) @@ -1478,7 +1478,7 @@ def indoorvirtualevent_register_view(request,id=0): if not race_can_register(r,race): messages.error(request,"You cannot register for this race") - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -1550,7 +1550,7 @@ def indoorvirtualevent_register_view(request,id=0): "You have successfully registered for this race. Good luck!" ) - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -1568,11 +1568,11 @@ def indoorvirtualevent_register_view(request,id=0): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(virtualevent_view, + 'url':reverse('virtualevent_view', kwargs={'id':race.id} ), 'name': race.name @@ -1702,7 +1702,7 @@ def indoorvirtualevent_create_view(request): vs.save() # create Site Announcement & Tweet - if settings.DEBUG: + if settings.DEBUG or settings.TESTING: dotweet = False elif 'dev' in settings.SITE_URL: dotweet = False @@ -1728,7 +1728,7 @@ def indoorvirtualevent_create_view(request): sa.save() - url = reverse(virtualevents_view) + url = reverse('virtualevents_view') return HttpResponseRedirect(url) else: @@ -1737,11 +1737,11 @@ def indoorvirtualevent_create_view(request): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(indoorvirtualevent_create_view, + 'url':reverse('indoorvirtualevent_create_view', ), 'name': 'New Indoor Virtual Regatta' }, @@ -1835,7 +1835,7 @@ def virtualevent_create_view(request): vs.save() # create Site Announcement & Tweet - if settings.DEBUG: + if settings.DEBUG or settings.TESTING: dotweet = False elif 'dev' in settings.SITE_URL: dotweet = False @@ -1863,7 +1863,7 @@ def virtualevent_create_view(request): sa.save() - url = reverse(virtualevents_view) + url = reverse('virtualevents_view') return HttpResponseRedirect(url) else: @@ -1872,7 +1872,7 @@ def virtualevent_create_view(request): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { @@ -1910,7 +1910,7 @@ def virtualevent_edit_view(request,id=0): if timezone.now() > startdatetime: messages.error(request,"You cannot edit a race after the start of the race window") - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs={ 'id':race.id, }) @@ -1927,7 +1927,7 @@ def virtualevent_edit_view(request,id=0): else: messages.error(request,message) - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -1940,11 +1940,11 @@ def virtualevent_edit_view(request,id=0): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(virtualevent_view, + 'url':reverse('virtualevent_view', kwargs={'id':race.id} ), 'name': race.name @@ -2008,7 +2008,7 @@ def indoorvirtualevent_edit_view(request,id=0): if timezone.now() > startdatetime: messages.error(request,"You cannot edit a race after the start of the race window") - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs={ 'id':race.id, }) @@ -2025,7 +2025,7 @@ def indoorvirtualevent_edit_view(request,id=0): else: messages.error(request,message) - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -2039,11 +2039,11 @@ def indoorvirtualevent_edit_view(request,id=0): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(virtualevent_view, + 'url':reverse('virtualevent_view', kwargs={'id':race.id} ), 'name': race.name @@ -2134,7 +2134,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): if not can_submit: messages.error(request,'You cannot submit a result to this race') - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':id } @@ -2154,7 +2154,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): 'You have no workouts executed during the race window. Please upload a result or enter it manually.' ) - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':id }) @@ -2239,7 +2239,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): # redirect to race page - url = reverse(virtualevent_view, + url = reverse('virtualevent_view', kwargs = { 'id':race.id }) @@ -2255,11 +2255,11 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0): breadcrumbs = [ { - 'url':reverse(virtualevents_view), + 'url':reverse('virtualevents_view'), 'name': 'Racing' }, { - 'url':reverse(virtualevent_view, + 'url':reverse('virtualevent_view', kwargs={'id':race.id} ), 'name': race.name