From be5178c155a215355c1d5e4328176e34ac8f71e6 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 4 Nov 2021 19:41:11 +0100 Subject: [PATCH] adding a few more tests - coverage --- rowers/tasks.py | 19 ++++++++++------ rowers/tests/test_races.py | 42 ++++++++++++++++++++++++++++++++++++ rowers/views/workoutviews.py | 7 +++--- 3 files changed, 59 insertions(+), 9 deletions(-) diff --git a/rowers/tasks.py b/rowers/tasks.py index fbef29dd..d6d5284d 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -348,18 +348,25 @@ def handle_strava_sync(stravatoken,workoutid,filename,name,activity_type,descrip try: act = client.update_activity(res.id,activity_type=activity_type, description=description,device_name='Rowsandall.com') + dologging('stravalog.log','Updating activity {id} to {type}'.format( + id=workoutid, + type=activity_type + )) except TypeError: # pragma: no cover act = client.update_activity(res.id,activity_type=activity_type, description=description) + dologging('stravalog.log','Updating activity {id} to {type}'.format( + id=workoutid, + type=activity_type + )) except: # pragma: no cover e = sys.exc_info()[0] - t = time.localtime() - timestamp = bytes('{t}'.format(t=time.strftime('%b-%d-%Y_%H%M', t)),'utf-8') - with open('stravalog.log','ab') as f: - f.write(b'\n') - f.write(timestamp) - f.write(str(e)) + dologging('stravalog.log','Update activity failed with error {e} for {id} to {type}'.format( + id=workoutid, + type=activity_type, + e=e + )) try: os.remove(filename) except: # pragma: no cover diff --git a/rowers/tests/test_races.py b/rowers/tests/test_races.py index e9a9c765..53fa254b 100644 --- a/rowers/tests/test_races.py +++ b/rowers/tests/test_races.py @@ -269,6 +269,24 @@ class ChallengesTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) + def test_coursemapcompare_view(self): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + + url = reverse('course_mapcompare_view',kwargs={'id':self.ThyroBaantje.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + def test_coursecompare_view(self): + login = self.c.login(username=self.u.username, password=self.password) + self.assertTrue(login) + + url = reverse('course_compare_view',kwargs={'id':self.ThyroBaantje.id}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + + def test_course_create_edit_delete(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) @@ -553,6 +571,25 @@ class ChallengesTest(TestCase): response = self.c.post(url) self.assertEqual(response.status_code,200) + @patch('rowers.views.racesviews.myqueue') + def test_course_view(self, mocked_myqueue): + login = self.c.login(username=self.u, password=self.password) + self.assertTrue(login) + + url = reverse('workout_summary_edit_view',kwargs={'id':encoder.encode_hex(self.wthyro.id)}) + + response = self.c.get(url) + self.assertEqual(response.status_code, 200) + + + formdata = { + 'course': self.ThyroBaantje.id + } + + response = self.c.post(url, formdata, follow=True) + self.assertEqual(response.status_code, 200) + + @patch('rowers.views.racesviews.myqueue') def test_virtualevent_view(self,mocked_myqueue): login = self.c.login(username=self.u.username, password=self.password) @@ -764,6 +801,11 @@ class ChallengesTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) + # workout_mapcompare + url = reverse('workout_course_view', kwargs={'id':encoder.encode_hex(self.wthyro.id)}) + response = self.c.get(url) + self.assertEqual(response.status_code, 200) + # post to compare form_data = { 'workouts':[self.wthyro2.id], diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index ea75cd0a..1245b057 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -308,7 +308,7 @@ def workout_video_create_view(request,id=0): metricsgroups = metricsform.cleaned_data['groups'] try: video_id = get_video_id(url) - except ValueError: + except ValueError: # pragma: no cover messages.error(request,"Not a valid YouTube video link") video_id = None if 'save_button' in request.POST: @@ -2646,7 +2646,7 @@ def workout_view(request,id=0,raceresult=0,sessionresult=0,nocourseraceresult=0) longitudes = rowdata.df[' longitude'] mapscript,mapdiv = leaflet_chart(latitudes,longitudes,row.name,raceresult=raceresult) records = VirtualRaceResult.objects.filter(workoutid=row.id,userid=row.user.user.id,coursecompleted=True) - if records.count()>0: + if records.count()>0: # pragma: no cover courses = list(set([record.course for record in records])) @@ -4751,7 +4751,7 @@ def workout_edit_view(request,id=0,message="",successmessage=""): pass records = VirtualRaceResult.objects.filter(workoutid=row.id,userid=row.user.user.id,coursecompleted=True) - if records.count()>0: + if records.count()>0: # pragma: no cover courses = list(set([record.course for record in records])) @@ -6430,6 +6430,7 @@ def workout_summary_edit_view(request,id,message="",successmessage="" ): row = get_workout_by_opaqueid(request,id) r = getrower(request.user) + breadcrumbs = [ { 'url':'/rowers/list-workouts/',