diff --git a/rowers/tests/test_plans.py b/rowers/tests/test_plans.py index 6034a616..d69a3dc9 100644 --- a/rowers/tests/test_plans.py +++ b/rowers/tests/test_plans.py @@ -14,7 +14,7 @@ import rowers.plannedsessions as plannedsessions class TrainingPlanTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], gdproptin=True, @@ -38,7 +38,7 @@ class TrainingPlanTest(TestCase): def test_createplan(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/createplan/' response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -46,7 +46,7 @@ class TrainingPlanTest(TestCase): # add target targetdate = (nu+datetime.timedelta(days=300)) - + form_data = { 'name': faker.word(), 'date': targetdate.strftime("%Y-%m-%d"), @@ -122,7 +122,7 @@ class TrainingPlanTest(TestCase): urls = [a['href'] for a in html.find_all('a')] tested = False - + for url in urls: if 'planbyweeks' in url and not tested: print(url) @@ -132,7 +132,7 @@ class TrainingPlanTest(TestCase): # add test for creating new sessions def test_sessions_create(self): - + login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) @@ -166,13 +166,13 @@ class TrainingPlanTest(TestCase): response = self.c.post(url,post_data) self.assertEqual(response.status_code,200) - - + + @override_settings(TESTING=True) class SessionLinkTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], gdproptin=True, @@ -193,7 +193,7 @@ class SessionLinkTest(TestCase): startdate = (startdatetime-datetime.timedelta(days=1)).date() enddate = (startdatetime+datetime.timedelta(days=1)).date() preferreddate = startdatetime.date() - + ps = SessionFactory(startdate=startdate,enddate=enddate, sessiontype='session', sessionmode = 'time', @@ -203,14 +203,14 @@ class SessionLinkTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + ps.save() self.pss.append(ps) - + result = plannedsessions.add_rower_session(self.r,ps) - + def tearDown(self): for workout in self.user_workouts: @@ -218,12 +218,12 @@ class SessionLinkTest(TestCase): os.remove(workout.csvfilename) except (IOError, FileNotFoundError,OSError): pass - + def test_plannedsessions(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - - + + w = self.user_workouts[0] startdatetime = w.startdatetime @@ -243,7 +243,7 @@ class SessionLinkTest(TestCase): self.assertEqual(response.status_code,200) url2 = '/rowers/sessions/manage/' - response = self.c.post(url2,post_data) + response = self.c.get(url2,post_data) self.assertEqual(response.status_code,200) pss = PlannedSession.objects.filter(startdate=startdate,enddate=enddate) @@ -263,7 +263,14 @@ class SessionLinkTest(TestCase): plannedsessionstuple.append(sessiontpl) plannedsessionstuple = tuple(plannedsessionstuple) - + + + url2 += '?startdate={startdate}&enddate={enddate}'.format( + startdate=startdate.strftime("%Y-%m-%d"), + enddate = enddate.strftime("%Y-%m-%d"), + ) + + workoutdata = {} workoutdata['initial'] = [] @@ -272,9 +279,9 @@ class SessionLinkTest(TestCase): for w in self.user_workouts: wtpl = (w.id,w.__str__()) choices.append(wtpl) - + workoutdata['choices'] = tuple(choices) - + form = PlannedSessionSelectForm(plannedsessionstuple,post_data) self.assertTrue(form.is_valid()) @@ -285,7 +292,7 @@ class SessionLinkTest(TestCase): response = self.c.post(url2,post_data) self.assertEqual(response.status_code,200) - + urlsession = '/rowers/sessions/{id}/'.format(id=ps.id) response = self.c.get(urlsession) @@ -333,12 +340,12 @@ class SessionLinkTest(TestCase): # 2019-01-13, rScore 69, # 2019-01-12, HM - + @override_settings(TESTING=True) class SessionCompleteTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], gdproptin=True, @@ -372,7 +379,7 @@ class SessionCompleteTest(TestCase): normp = 236, user=self.r, ) - + # self.w1.save() startdatetime = self.w1.startdatetime @@ -391,7 +398,7 @@ class SessionCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_rscore.save() added = plannedsessions.add_rower_session(self.r,self.ps_rscore) @@ -406,11 +413,11 @@ class SessionCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_dist.save() added = plannedsessions.add_rower_session(self.r,self.ps_dist) - + self.ps_time = SessionFactory( startdate=startdate,enddate=enddate, sessiontype='session', @@ -421,11 +428,11 @@ class SessionCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_time.save() added = plannedsessions.add_rower_session(self.r,self.ps_time) - + self.ps_trimp = SessionFactory( startdate=startdate,enddate=enddate, sessiontype='session', @@ -436,11 +443,11 @@ class SessionCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_trimp.save() added = plannedsessions.add_rower_session(self.r,self.ps_trimp) - + def tearDown(self): try: @@ -453,7 +460,7 @@ class SessionCompleteTest(TestCase): result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_rscore,self.r ) - + ratio,verdict,completiondate = plannedsessions.is_session_complete( self.r,self.ps_rscore ) @@ -470,7 +477,7 @@ class SessionCompleteTest(TestCase): self.assertEqual(verdict,'on target') - + result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_time,self.r ) @@ -510,8 +517,8 @@ class SessionCompleteTest(TestCase): response = self.c.post(url,form_data,follow=True) self.assertEqual(response.status_code,200) - - + + def test_session1_exact_complete(self): self.ps_rscore.criterium = 'exact' self.ps_rscore.save() @@ -528,7 +535,7 @@ class SessionCompleteTest(TestCase): result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_rscore,self.r ) - + ratio,verdict,completiondate = plannedsessions.is_session_complete( self.r,self.ps_rscore ) @@ -545,7 +552,7 @@ class SessionCompleteTest(TestCase): self.assertEqual(verdict,'on target') - + result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_time,self.r ) @@ -575,7 +582,7 @@ class SessionCompleteTest(TestCase): self.assertEqual(verdict,'on target') - + login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) @@ -593,7 +600,7 @@ class SessionCompleteTest(TestCase): class ChallengeCompleteTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], gdproptin=True, @@ -627,7 +634,7 @@ class ChallengeCompleteTest(TestCase): normp = 236, user=self.r, ) - + # self.w1.save() startdatetime = self.w1.startdatetime @@ -646,7 +653,7 @@ class ChallengeCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_rscore.save() added = plannedsessions.add_rower_session(self.r,self.ps_rscore) @@ -661,11 +668,11 @@ class ChallengeCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_dist.save() added = plannedsessions.add_rower_session(self.r,self.ps_dist) - + self.ps_time = SessionFactory( startdate=startdate,enddate=enddate, sessiontype='challenge', @@ -676,11 +683,11 @@ class ChallengeCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_time.save() added = plannedsessions.add_rower_session(self.r,self.ps_time) - + self.ps_trimp = SessionFactory( startdate=startdate,enddate=enddate, sessiontype='challenge', @@ -691,11 +698,11 @@ class ChallengeCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_trimp.save() added = plannedsessions.add_rower_session(self.r,self.ps_trimp) - + def tearDown(self): try: @@ -708,7 +715,7 @@ class ChallengeCompleteTest(TestCase): result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_rscore,self.r ) - + ratio,verdict,completiondate = plannedsessions.is_session_complete( self.r,self.ps_rscore ) @@ -725,7 +732,7 @@ class ChallengeCompleteTest(TestCase): self.assertEqual(verdict,'partial') - + result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_time,self.r ) @@ -746,8 +753,8 @@ class ChallengeCompleteTest(TestCase): self.assertEqual(verdict,'partial') - - + + def test_challenge1_exact_complete(self): self.ps_rscore.criterium = 'exact' self.ps_rscore.save() @@ -764,7 +771,7 @@ class ChallengeCompleteTest(TestCase): result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_rscore,self.r ) - + ratio,verdict,completiondate = plannedsessions.is_session_complete( self.r,self.ps_rscore ) @@ -781,7 +788,7 @@ class ChallengeCompleteTest(TestCase): self.assertEqual(verdict,'on target') - + result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_time,self.r ) @@ -800,7 +807,7 @@ class ChallengeCompleteTest(TestCase): self.assertEqual(result,0) - + login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) @@ -812,12 +819,12 @@ class ChallengeCompleteTest(TestCase): url = '/rowers/sessions/' response = self.c.get(url) self.assertEqual(response.status_code,200) - + @override_settings(TESTING=True) class MandatoryTestCompleteTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], gdproptin=True, @@ -851,7 +858,7 @@ class MandatoryTestCompleteTest(TestCase): normp = 236, user=self.r, ) - + # self.w1.save() startdatetime = self.w1.startdatetime @@ -870,7 +877,7 @@ class MandatoryTestCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_rscore.save() added = plannedsessions.add_rower_session(self.r,self.ps_rscore) @@ -885,11 +892,11 @@ class MandatoryTestCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_dist.save() added = plannedsessions.add_rower_session(self.r,self.ps_dist) - + self.ps_time = SessionFactory( startdate=startdate,enddate=enddate, sessiontype='test', @@ -900,11 +907,11 @@ class MandatoryTestCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_time.save() added = plannedsessions.add_rower_session(self.r,self.ps_time) - + self.ps_trimp = SessionFactory( startdate=startdate,enddate=enddate, sessiontype='test', @@ -915,11 +922,11 @@ class MandatoryTestCompleteTest(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_trimp.save() added = plannedsessions.add_rower_session(self.r,self.ps_trimp) - + def tearDown(self): try: @@ -932,7 +939,7 @@ class MandatoryTestCompleteTest(TestCase): result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_rscore,self.r ) - + ratio,verdict,completiondate = plannedsessions.is_session_complete( self.r,self.ps_rscore ) @@ -949,7 +956,7 @@ class MandatoryTestCompleteTest(TestCase): self.assertEqual(verdict,'on target') - + result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_time,self.r ) @@ -970,8 +977,8 @@ class MandatoryTestCompleteTest(TestCase): self.assertEqual(verdict,'partial') - - + + def test_mandatorytest1_exact_complete(self): self.ps_rscore.criterium = 'exact' self.ps_rscore.save() @@ -996,7 +1003,7 @@ class MandatoryTestCompleteTest(TestCase): self.assertEqual(verdict,'on target') - + result = plannedsessions.add_workouts_plannedsession( [self.w1],self.ps_time,self.r ) @@ -1008,7 +1015,7 @@ class MandatoryTestCompleteTest(TestCase): self.assertEqual(verdict,'partial') - + login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) @@ -1024,7 +1031,7 @@ class MandatoryTestCompleteTest(TestCase): url = reverse('plannedsession_compare_view',kwargs={'id':self.ps_dist.id}) response = self.c.get(url,follow=True) self.assertEqual(response.status_code,200) - + @override_settings(TESTING=True) class PlannedSessionsView(TestCase): def setUp(self): @@ -1057,12 +1064,12 @@ class PlannedSessionsView(TestCase): ) self.team.save() - + self.r.team.add(self.team) self.r2.team.add(self.team) self.r.save() self.r2.save() - + # workouts # workout 1 - 2019-01-13, rScore 69 result = get_random_file(filename='rowers/tests/testdata/2019-01-13_session.csv',name='sprintervals') @@ -1089,7 +1096,7 @@ class PlannedSessionsView(TestCase): normp = 236, user=self.u.rower, ) - + # plan self.target = TrainingTarget.objects.create( @@ -1099,7 +1106,7 @@ class PlannedSessionsView(TestCase): ) self.target.rowers.add(self.u.rower) self.target.save() - + self.plan = TrainingPlan.objects.create( manager = self.u.rower, name = faker.word(), @@ -1172,7 +1179,7 @@ class PlannedSessionsView(TestCase): name = 'Week %s' % monday.isocalendar()[1], type='userdefined') micro.save() - + # sessions startdatetime = self.w1.startdatetime @@ -1194,7 +1201,7 @@ class PlannedSessionsView(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_rscore.save() added = plannedsessions.add_rower_session(self.u.rower,self.ps_rscore) @@ -1209,11 +1216,11 @@ class PlannedSessionsView(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_dist.save() added = plannedsessions.add_rower_session(self.u.rower,self.ps_dist) - + self.ps_time = SessionFactory( startdate=startdate,enddate=enddate, sessiontype='test', @@ -1224,11 +1231,11 @@ class PlannedSessionsView(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_time.save() added = plannedsessions.add_rower_session(self.u.rower,self.ps_time) - + self.ps_trimp = SessionFactory( startdate=startdate,enddate=enddate, sessiontype='test', @@ -1239,7 +1246,7 @@ class PlannedSessionsView(TestCase): preferreddate=preferreddate, manager=self.u, ) - + self.ps_trimp.save() added = plannedsessions.add_rower_session(self.u.rower,self.ps_trimp) @@ -1291,7 +1298,7 @@ class PlannedSessionsView(TestCase): startdate = self.startdate, enddate = self.enddate ) - + formdata = { 'plannedsessions':[self.ps_time.id,self.ps_trimp.id], 'shiftstartdate':datetime.date.today()+timezone.timedelta(days=6) @@ -1303,13 +1310,13 @@ class PlannedSessionsView(TestCase): form = SessionDateShiftForm(formdata) - + self.assertTrue(form.is_valid()) response = self.c.post(url,formdata,follow=True) self.assertEqual(response.status_code,200) - + def test_multicreate_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) @@ -1334,7 +1341,7 @@ class PlannedSessionsView(TestCase): value = current_form[field_name].value() data['%s-%s' % (current_form.prefix, field_name)] = value if value is not None else '' - + # post data response = self.c.post(url,data,follow=True) self.assertEqual(response.status_code,200) @@ -1364,7 +1371,7 @@ class PlannedSessionsView(TestCase): } plannedsessionform = PlannedSessionForm(form_data) - + self.assertTrue(plannedsessionform.is_valid()) teamform = PlannedSessionTeamForm(self.u,form_data) @@ -1373,13 +1380,13 @@ class PlannedSessionsView(TestCase): response = self.c.post(url,form_data,follow=True) self.assertEqual(response.status_code,200) - + def test_teamedit_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/sessions/teamedit/{id}/'.format(id=self.ps_trimp.id) response = self.c.get(url) @@ -1387,8 +1394,8 @@ class PlannedSessionsView(TestCase): s = self.w1.startdatetime.date().strftime("%Y-%m-%d") e = (self.w1.startdatetime+datetime.timedelta(days=5)).date().strftime("%Y-%m-%d") - p = self.w1.startdatetime.date().strftime("%Y-%m-%d") - + p = self.w1.startdatetime.date().strftime("%Y-%m-%d") + form_data = { 'team':['1'], 'startdate': s, @@ -1406,7 +1413,7 @@ class PlannedSessionsView(TestCase): 'initial-startdate':s, 'initial-enddate':e, 'initial-preferreddate':p - + } @@ -1441,7 +1448,7 @@ class PlannedSessionsView(TestCase): enddate=d2,startdate=d1) self.assertTrue(len(sps)>0) - + url = '/rowers/sessions/coach/?when={d1}/{d2}'.format( d1=d1, d2=d2, @@ -1449,12 +1456,12 @@ class PlannedSessionsView(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + def test_plannedsessions_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/sessions/?when={d1}/{d2}'.format( d1=self.ps_trimp.startdate.strftime("%Y-%m-%d"), d2=self.ps_trimp.enddate.strftime("%Y-%m-%d") @@ -1482,7 +1489,7 @@ class PlannedSessionsView(TestCase): response = self.c.get(url, dates) self.assertEqual(response.status_code,200) - + dates = { 'startdate': d1.strftime("%d-%m-%Y"), 'enddate': d2.strftime("%d-%m-%Y"), @@ -1490,7 +1497,7 @@ class PlannedSessionsView(TestCase): response = self.c.get(url, dates) self.assertEqual(response.status_code,200) - + dates = { 'startdate': d1.strftime("%d.%m.%Y"), 'enddate': d2.strftime("%d.%m.%Y"), @@ -1498,7 +1505,7 @@ class PlannedSessionsView(TestCase): response = self.c.get(url, dates) self.assertEqual(response.status_code,200) - + dates = { 'startdate': d1.strftime("%d/%m/%Y"), 'enddate': d2.strftime("%d/%m/%Y"), @@ -1506,12 +1513,12 @@ class PlannedSessionsView(TestCase): response = self.c.get(url, dates) self.assertEqual(response.status_code,200) - - + + def test_plannedsessions_print_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/sessions/print/?when={d1}/{d2}'.format( d1=self.ps_trimp.startdate.strftime("%Y-%m%d"), d2=self.ps_trimp.enddate.strftime("%Y-%m%d") @@ -1519,7 +1526,7 @@ class PlannedSessionsView(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + def test_plannedsession_manage_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) @@ -1536,7 +1543,7 @@ class PlannedSessionsView(TestCase): def test_plannedsession_edit_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/sessions/{id}/edit/'.format( id=self.ps_time.id, ) @@ -1561,7 +1568,7 @@ class PlannedSessionsView(TestCase): form = PlannedSessionForm(form_data,instance=self.ps_time) if not form.is_valid(): print(form.errors) - + self.assertTrue(form.is_valid()) response = self.c.post(url,follow=True) @@ -1576,10 +1583,10 @@ class PlannedSessionsView(TestCase): self.w1.plannedsession = self.ps_time self.w1.save() - + login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/sessions/{psid}/detach/{id}/'.format( psid=self.ps_time.id, id = encoder.encode_hex(self.w1.id), @@ -1595,7 +1602,7 @@ class PlannedSessionsView(TestCase): url = '/rowers/sessions/{psid}/'.format( psid = self.ps_time.id ) - + response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -1606,7 +1613,7 @@ class PlannedSessionsView(TestCase): url = '/rowers/sessions/{psid}/delete/'.format( psid = self.ps_time.id ) - + response = self.c.get(url) self.assertEqual(response.status_code,200) diff --git a/rowers/views/planviews.py b/rowers/views/planviews.py index 63505a2a..2dcf28b9 100644 --- a/rowers/views/planviews.py +++ b/rowers/views/planviews.py @@ -1337,6 +1337,7 @@ def plannedsessions_manage_view(request,userid=0, messages.error(request,er) + ps_form = PlannedSessionSelectForm(plannedsessionstuple, initialsession=initialsession) w_form = WorkoutSessionSelectForm(workoutdata=workoutdata)