diff --git a/rowers/tests/test_aavirtualevents.py b/rowers/tests/test_aavirtualevents.py index 13609595..7cc66429 100644 --- a/rowers/tests/test_aavirtualevents.py +++ b/rowers/tests/test_aavirtualevents.py @@ -423,6 +423,46 @@ class VirtualEventViewTest(TestCase): status_code=302,target_status_code=200) + # set up new OTE race + def test_new_fastestrace(self): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + + url = reverse('fastestvirtualevent_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.intwoweeks.strftime('%Y-%m-%d'), + 'evaluation_closure_1': self.intwoweeks.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 OTE race diff --git a/rowers/tests/test_races.py b/rowers/tests/test_races.py index 5ff07be1..e8a50800 100644 --- a/rowers/tests/test_races.py +++ b/rowers/tests/test_races.py @@ -391,6 +391,20 @@ class ChallengesTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) + form_data = { + 'message':'zo niet he', + 'reason':'suspicious' + } + form = DisqualificationForm(form_data) + self.assertTrue(form.is_valid()) + + response = self.c.post(url,form_data,follow=True) + expected_url = reverse('virtualevent_view',kwargs={'id':race.id}) + self.assertRedirects(response, expected_url=expected_url, + status_code=302,target_status_code=200) + + self.assertEqual(response.status_code, 200) + # register again url = reverse('virtualevent_register_view',kwargs={'id':race.id}) @@ -422,6 +436,37 @@ class ChallengesTest(TestCase): self.assertEqual(response.status_code, 200) + records = VirtualRaceResult.objects.filter(userid=self.u.id) + self.assertEqual(len(records),1) + + record = records[0] + record.workoutid = self.wthyro.id + record.save() + + url = reverse('virtualevent_disqualify_view',kwargs={'id':race.id,'recordid':record.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + form_data = { + 'message':'zo niet he', + 'reason':'suspicious' + } + form = DisqualificationForm(form_data) + self.assertTrue(form.is_valid()) + + response = self.c.post(url,form_data,follow=True) + expected_url = reverse('virtualevent_view',kwargs={'id':race.id}) + self.assertRedirects(response, expected_url=expected_url, + status_code=302,target_status_code=200) + + self.assertEqual(response.status_code, 200) + + url = reverse('virtualevent_results_download_view',kwargs={'id':race.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + # add boat + @override_settings(TESTING=True) class IndoorChallengesTest(TestCase): diff --git a/rowers/views/racesviews.py b/rowers/views/racesviews.py index f5710e38..001cb1b9 100644 --- a/rowers/views/racesviews.py +++ b/rowers/views/racesviews.py @@ -1060,7 +1060,10 @@ def virtualevent_disqualify_view(request,id=0,recordid=0): else: form = DisqualificationForm(request.POST) - workout = Workout.objects.get(id=record.workoutid) + try: + workout = Workout.objects.get(id=record.workoutid) + except Workout.DoesNotExist: + raise Http404("Workout not found") g = GraphImage.objects.filter(workout=workout).order_by("-creationdatetime") for i in g: