progress on coverage and course export
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user