Private
Public Access
1
0

improved testing

This commit is contained in:
Sander Roosendaal
2019-11-03 17:01:29 +01:00
parent 64ce92732c
commit 0466ca9ac7
2 changed files with 115 additions and 107 deletions

View File

@@ -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)