Private
Public Access
1
0

progress on coverage and course export

This commit is contained in:
Sander Roosendaal
2019-01-08 13:37:50 +01:00
parent e0bf0e3fe7
commit 5a0f69a835
10 changed files with 2986 additions and 4 deletions

View File

@@ -30,6 +30,7 @@ import os
from rowers.tasks import handle_makeplot
from rowers.utils import serialize_list,deserialize_list
from rowers.utils import NoTokenError
from rowers.plannedsessions import get_dates_timeperiod
from shutil import copyfile
from nose.tools import assert_true
from mock import Mock, patch
@@ -337,12 +338,119 @@ class PlannedSessionTests(TestCase):
response = self.c.get('/rowers/sessions/sendcalendar/')
self.assertEqual(response.status_code,200)
startdate, enddate = get_dates_timeperiod(response.wsgi_request)
filename = 'training_plan_{u}_{d1}_{d2}.ics'.format(
u = self.u.username,
d1 = timezone.now().date().strftime("%Y%m%d"),
d2 = (a_week_from_now()-datetime.timedelta(days=1)).date().strftime("%Y%m%d"),
d1 = startdate.strftime("%Y%m%d"),
d2 = enddate.strftime("%Y%m%d"),
)
self.assertEquals(
response.get('Content-Disposition'),
'attachment; filename="{name}"'.format(name=filename)
)
class ForcecurveTest(TestCase):
def setUp(self):
self.u = UserFactory()
self.r = Rower.objects.create(user=self.u,
birthdate=faker.profile()['birthdate'],
gdproptin=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()
@patch('rowers.dataprep.getsmallrowdata_db',side_effect = mocked_getempowerdata_db)
def test_forcecurve_plot(self, mocked_getsmallrowdata_db):
login = self.c.login(username=self.u.username, password = self.password)
self.assertTrue(login)
url = '/rowers/workout/1/forcecurve/'
response = self.c.get(url)
self.assertEqual(response.status_code,200)
class HistoTest(TestCase):
def setUp(self):
self.u = UserFactory()
self.r = Rower.objects.create(user=self.u,
birthdate=faker.profile()['birthdate'],
gdproptin=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()
@patch('rowers.dataprep.create_engine')
@patch('rowers.dataprep.getsmallrowdata_db', side_effect=mocked_getpowerdata_db)
def test_histo_workouts(self, mocked_sqlalchemy,
mocked_getsmallrowdata_db):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
startdate = (self.user_workouts[0].startdatetime-datetime.timedelta(days=3)).date()
enddate = (self.user_workouts[0].startdatetime+datetime.timedelta(days=3)).date()
waterboattype = [u'1x',
u'2x',
u'2x+',
u'2-',
u'2+',
u'3x+',
u'3x-',
u'4x',
u'4x+',
u'4-',
u'4+',
u'8+',
u'8x+']
form_data = {
'startdate':startdate,
'enddate':enddate,
'modality':u'all',
'waterboattype': waterboattype
}
url = '/rowers/histo/'
response = self.c.get(url)
self.assertEqual(response.status_code,200)
response = self.c.post(url, form_data)
self.assertEqual(response.status_code,200)
options = {
'includereststrokes':False,
'rankingonly':False,
'modality':'all',
'waterboattype':waterboattype,
'theuser':0,
'enddatestring':enddate.strftime("%Y-%m-%d"),
'startdatestring':startdate.strftime("%Y-%m-%d"),
}
self.c.session['options'] = options
self.c.session.save()
sessionoptions = self.c.session['options']
response = self.c.get('/rowers/histodata/')
self.assertEqual(response.status_code,200)