Private
Public Access
1
0

adding tests related to planviews

This commit is contained in:
Sander Roosendaal
2021-04-19 14:10:19 +02:00
parent ed5af7d8b7
commit c494fdca2c
5 changed files with 278 additions and 103 deletions

View File

@@ -292,6 +292,20 @@ class C2Objects(DjangoTestCase):
res = add_workout_from_strokedata(self.u,1,data,strokedata,source='c2')
@patch('rowers.tasks.requests.get',side_effect=mocked_requests)
@patch('rowers.tasks.requests.post',side_effect=mocked_requests)
@patch('rowers.tasks.requests.session', side_effect=mocked_requests)
def test_handle_c2_get_workouts(self, mock_get, mockpost,MockSession):
with open('rowers/tests/testdata/c2workoutlist.txt','r') as infile:
c2workoutdata = json.load(infile)
alldata = {}
for item in c2workoutdata['data']:
alldata[item['id']] = item
res = tasks.handle_c2_async_workout(alldata,self.u.id,self.r.c2token,33991243,0,self.r.defaulttimezone)
self.assertEqual(res,1)
@override_settings(TESTING=True)
class C2ObjectsTokenExpired(DjangoTestCase):
def setUp(self):

View File

@@ -182,6 +182,99 @@ class TrainingPlanTest(TestCase):
# status_code=302,target_status_code=200)
@override_settings(TESTING=True)
class SessionTemplateTest(TestCase):
def setUp(self):
self.u = UserFactory()
self.r = Rower.objects.create(user=self.u,
birthdate=faker.profile()['birthdate'],
gdproptin=True,surveydone=True,
gdproptindate=timezone.now(),
rowerplan='coach')
self.c = Client()
self.user_workouts = WorkoutFactory.create_batch(5, user=self.r)
self.factory = RequestFactory()
self.password = faker.word()
self.u.set_password(self.password)
self.u.save()
self.pss = []
for w in self.user_workouts:
startdatetime = w.startdatetime
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',
criterium = 'none',
sessionvalue = 60,
sessionunit='min',
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:
try:
os.remove(workout.csvfilename)
except (IOError, FileNotFoundError,OSError):
pass
def test_createtemplate_view(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = reverse('plannedsession_createtemplate_view')
response = self.c.get(url)
self.assertEqual(response.status_code,200)
post_data = {
'comment': faker.text(),
'criterium': 'none',
'sessionsport': 'water',
'sessionmode':'time',
'sessiontype':'session',
'sessionunit':'min',
'sessionvalue': '60',
'name': faker.word(),
}
form = PlannedSessionTemplateForm(post_data)
self.assertTrue(form.is_valid())
expected_url = reverse('template_library_view')
response = self.c.post(url,post_data,follow=True)
self.assertRedirects(response,expected_url=expected_url,status_code=302,target_status_code=200)
templates = PlannedSession.objects.filter(is_template=True)
self.assertEqual(templates.count(),1)
t = templates[0]
t.tags.add('test')
url = reverse('template_share_view',kwargs={'id':t.id})
response = self.c.get(url,follow=True)
self.assertRedirects(response,expected_url=expected_url,status_code=302,target_status_code=200)
url = reverse('template_makeprivate_view',kwargs={'id':t.id})
response = self.c.get(url,follow=True)
self.assertRedirects(response,expected_url=expected_url,status_code=302,target_status_code=200)
@override_settings(TESTING=True)
class SessionLinkTest(TestCase):
@@ -1335,6 +1428,7 @@ class PlannedSessionsView(TestCase):
self.ps_trimp.save()
added = plannedsessions.add_rower_session(self.u.rower,self.ps_trimp)
added = plannedsessions.add_team_session(self.team,self.ps_trimp)
self.ps_trimp.save()
def tearDown(self):
try:
@@ -1359,6 +1453,53 @@ class PlannedSessionsView(TestCase):
# expected_url=expected_url,
# status_code=302,target_status_code=200)
def test_teamclone_view(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = reverse('plannedsession_teamclone_view',kwargs={'id':self.ps_trimp.id})
today = datetime.date.today()
b = datetime.date.today()-timezone.timedelta(today.weekday())
e = b+timezone.timedelta(days=6)
expected_url = '/rowers/sessions/teamedit/5/'
response = self.c.get(url,follow=True)
self.assertEqual(response.status_code,200)
def test_totemplate_view(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = reverse('plannedsession_totemplate_view',kwargs={'id':self.ps_trimp.id})
response = self.c.get(url,follow=True)
self.assertEqual(response.status_code,200)
def test_message_view(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = reverse('plannedsession_message_view',kwargs={'id':self.ps_trimp.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
form_data = {
'rower':[self.r.id],
'subject':'test',
'message':'apestaart en knokroos'
}
form = VirtualRaceAthleteForm(form_data,instance=self.ps_trimp)
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data,follow=True)
expected_url = reverse('plannedsession_view',kwargs={'id':self.ps_trimp.id})
self.assertRedirects(response,expected_url=expected_url,status_code=302,target_status_code=200)
def test_multiclone_view(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
@@ -1441,6 +1582,7 @@ class PlannedSessionsView(TestCase):
form_data = {
'team':[self.team.id],
'members': [self.r.id],
'startdate': self.w1.startdatetime.date(),
'enddate': (self.w1.startdatetime+datetime.timedelta(days=5)).date(),
'preferreddate': self.w1.startdatetime.date(),
@@ -1466,6 +1608,21 @@ class PlannedSessionsView(TestCase):
response = self.c.post(url,form_data,follow=True)
self.assertEqual(response.status_code,200)
pss = PlannedSession.objects.filter(name=form_data['name'],comment=form_data['comment'])
self.assertEqual(pss.count(),1)
ps = pss[0]
url = reverse('plannedsession_teamedit_view',kwargs={'id':ps.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
form_data['name'] = faker.word()
plannedsessionform = PlannedSessionForm(form_data,instance=ps)
self.assertTrue(plannedsessionform.is_valid())
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)
@@ -1630,9 +1787,7 @@ class PlannedSessionsView(TestCase):
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,
)
url = reverse('plannedsession_edit_view',kwargs={'id':self.ps_time.id})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
@@ -1658,7 +1813,7 @@ class PlannedSessionsView(TestCase):
self.assertTrue(form.is_valid())
response = self.c.post(url,follow=True)
response = self.c.post(url,form_data,follow=True)
self.assertEqual(response.status_code,200)