begin of unit tests
This commit is contained in:
@@ -2655,7 +2655,7 @@ def read_cols_df_sql(ids, columns, convertnewtons=True):
|
|||||||
try:
|
try:
|
||||||
df = pd.read_parquet(f,columns=columns)
|
df = pd.read_parquet(f,columns=columns)
|
||||||
data.append(df)
|
data.append(df)
|
||||||
except (OSError,IndexError):
|
except (OSError,IndexError,ArrowInvalid):
|
||||||
rowdata,row = getrowdata(id=id)
|
rowdata,row = getrowdata(id=id)
|
||||||
if rowdata and len(rowdata.df):
|
if rowdata and len(rowdata.df):
|
||||||
datadf = dataprep(rowdata.df,id=id,bands=True,otwpower=True,barchart=True)
|
datadf = dataprep(rowdata.df,id=id,bands=True,otwpower=True,barchart=True)
|
||||||
|
|||||||
@@ -936,7 +936,7 @@ class History(TestCase):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
@patch('rowers.dataprep.create_engine')
|
@patch('rowers.dataprep.create_engine')
|
||||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
@patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db)
|
||||||
def test_workouts_history(self, mocked_sqlalchemy,
|
def test_workouts_history(self, mocked_sqlalchemy,
|
||||||
mocked_getsmallrowdata_db):
|
mocked_getsmallrowdata_db):
|
||||||
|
|
||||||
@@ -948,6 +948,11 @@ class History(TestCase):
|
|||||||
response = self.c.get(url)
|
response = self.c.get(url)
|
||||||
self.assertEqual(response.status_code,200)
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
url = '/rowers/history/data/'
|
||||||
|
response = self.c.get(url)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
|
||||||
@patch('rowers.dataprep.create_engine')
|
@patch('rowers.dataprep.create_engine')
|
||||||
@patch('rowers.dataprep.getsmallrowdata_db', side_effect=mocked_getsmallrowdata_db)
|
@patch('rowers.dataprep.getsmallrowdata_db', side_effect=mocked_getsmallrowdata_db)
|
||||||
def test_workouts_history_submit(self, mocked_sqlalchemy,
|
def test_workouts_history_submit(self, mocked_sqlalchemy,
|
||||||
@@ -978,6 +983,11 @@ class History(TestCase):
|
|||||||
|
|
||||||
self.assertEqual(response.status_code,200)
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
response = self.c.get('/rowers/history/data/',form_data,xhr=True)
|
||||||
|
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
|
||||||
class GoldMedalScores(TestCase):
|
class GoldMedalScores(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.u = UserFactory()
|
self.u = UserFactory()
|
||||||
|
|||||||
61
rowers/tests/test_unit_tests.py
Normal file
61
rowers/tests/test_unit_tests.py
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
from __future__ import absolute_import
|
||||||
|
from __future__ import division
|
||||||
|
from __future__ import print_function
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from .statements import *
|
||||||
|
|
||||||
|
|
||||||
|
nu = datetime.datetime.now()
|
||||||
|
|
||||||
|
# interactive plots
|
||||||
|
from rowers import interactiveplots
|
||||||
|
|
||||||
|
class InteractivePlotTests(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()
|
||||||
|
|
||||||
|
def test_interactive_hr_piechart(self):
|
||||||
|
df = pd.read_csv('rowers/tests/testdata/getrowdata_mock.csv')
|
||||||
|
|
||||||
|
script, div = interactiveplots.interactive_hr_piechart(df, self.r,'')
|
||||||
|
self.assertFalse(len(script)==0)
|
||||||
|
self.assertFalse(len(div)==0)
|
||||||
|
|
||||||
|
def test_interactive_workouttype_piechart(self):
|
||||||
|
workouts = Workout.objects.filter(user=self.r)
|
||||||
|
script, div = interactiveplots.interactive_workouttype_piechart(workouts)
|
||||||
|
self.assertFalse(len(script)==0)
|
||||||
|
self.assertFalse(len(div)==0)
|
||||||
|
|
||||||
|
def test_interactive_boxchart(self):
|
||||||
|
df = pd.read_csv('rowers/tests/testdata/boxplotdata.csv')
|
||||||
|
print(df.info())
|
||||||
|
|
||||||
|
script, div = interactiveplots.interactive_boxchart(df, 'spm')
|
||||||
|
|
||||||
|
self.assertFalse(len(script)==0)
|
||||||
|
self.assertFalse(len(div)==0)
|
||||||
|
|
||||||
|
def test_interactive_activitychart(self):
|
||||||
|
workouts = Workout.objects.filter(user=self.r).order_by('date')
|
||||||
|
workouts2 = Workout.objects.filter(user=self.r).order_by('-date')
|
||||||
|
|
||||||
|
startdate = workouts[0].date-datetime.timedelta(days=5)
|
||||||
|
enddate = workouts2[0].date+datetime.timedelta(days=5)
|
||||||
|
script, div = interactiveplots.interactive_activitychart(workouts,startdate,enddate)
|
||||||
|
self.assertFalse(len(script)==0)
|
||||||
|
self.assertFalse(len(div)==0)
|
||||||
18820
rowers/tests/testdata/boxplotdata.csv
vendored
Normal file
18820
rowers/tests/testdata/boxplotdata.csv
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@@ -780,8 +780,6 @@ def boxplotdata(workouts,options):
|
|||||||
# prepare data frame
|
# prepare data frame
|
||||||
datadf,extracols = dataprep.read_cols_df_sql(ids,fieldlist)
|
datadf,extracols = dataprep.read_cols_df_sql(ids,fieldlist)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
datadf = dataprep.clean_df_stats(datadf,workstrokesonly=workstrokesonly)
|
datadf = dataprep.clean_df_stats(datadf,workstrokesonly=workstrokesonly)
|
||||||
|
|
||||||
datadf = dataprep.filter_df(datadf,'spm',spmmin,
|
datadf = dataprep.filter_df(datadf,'spm',spmmin,
|
||||||
@@ -1686,7 +1684,7 @@ def performancemanager_view(request,userid=0,mode='rower',
|
|||||||
dofatigue = dofatigue,
|
dofatigue = dofatigue,
|
||||||
showtests = True,
|
showtests = True,
|
||||||
)
|
)
|
||||||
|
|
||||||
ids = pd.Series(ids).dropna().values
|
ids = pd.Series(ids).dropna().values
|
||||||
|
|
||||||
bestworkouts = Workout.objects.filter(id__in=ids).order_by('date')
|
bestworkouts = Workout.objects.filter(id__in=ids).order_by('date')
|
||||||
@@ -5248,16 +5246,19 @@ def history_view_data(request,userid=0):
|
|||||||
time_min = datetime.time(hour=0,minute=0,second=0)
|
time_min = datetime.time(hour=0,minute=0,second=0)
|
||||||
time_max = datetime.time(hour=23,minute=59,second=59)
|
time_max = datetime.time(hour=23,minute=59,second=59)
|
||||||
|
|
||||||
|
startdate = timezone.now()-datetime.timedelta(days=14)
|
||||||
|
enddate = timezone.now()
|
||||||
|
activity_enddate = usertimezone.localize(timezone.datetime.combine(enddate.date(),time_max))
|
||||||
|
activity_startdate = usertimezone.localize(timezone.datetime.combine(startdate.date(),time_min))
|
||||||
|
|
||||||
|
|
||||||
if request.GET.get('startdate'):
|
if request.GET.get('startdate'):
|
||||||
startdate = datetime.datetime.strptime(request.GET.get('startdate'),"%Y-%m-%d")
|
startdate = datetime.datetime.strptime(request.GET.get('startdate'),"%Y-%m-%d")
|
||||||
enddate = datetime.datetime.strptime(request.GET.get('enddate'),"%Y-%m-%d")
|
|
||||||
activity_startdate = usertimezone.localize(timezone.datetime.combine(startdate,time_min))
|
activity_startdate = usertimezone.localize(timezone.datetime.combine(startdate,time_min))
|
||||||
|
|
||||||
|
if request.GET.get('enddate'):
|
||||||
|
enddate = datetime.datetime.strptime(request.GET.get('enddate'),"%Y-%m-%d")
|
||||||
activity_enddate = usertimezone.localize(timezone.datetime.combine(enddate,time_max))
|
activity_enddate = usertimezone.localize(timezone.datetime.combine(enddate,time_max))
|
||||||
else:
|
|
||||||
activity_enddate = timezone.now()
|
|
||||||
activity_enddate = usertimezone.localize(timezone.datetime.combine(activity_enddate.date(),time_max))
|
|
||||||
startdate = timezone.now()-datetime.timedelta(days=14)
|
|
||||||
activity_startdate = usertimezone.localize(timezone.datetime.combine(startdate.date(),time_min))
|
|
||||||
|
|
||||||
|
|
||||||
typeselect = 'All'
|
typeselect = 'All'
|
||||||
@@ -5386,7 +5387,6 @@ def history_view_data(request,userid=0):
|
|||||||
ddf = dataprep.clean_df_stats(ddf,workstrokesonly=True,
|
ddf = dataprep.clean_df_stats(ddf,workstrokesonly=True,
|
||||||
ignoreadvanced=True)
|
ignoreadvanced=True)
|
||||||
|
|
||||||
|
|
||||||
totalscript, totaldiv = interactive_hr_piechart(
|
totalscript, totaldiv = interactive_hr_piechart(
|
||||||
ddf,r,mytypes.workouttypes_ordered[typeselect],
|
ddf,r,mytypes.workouttypes_ordered[typeselect],
|
||||||
totalseconds=totalseconds)
|
totalseconds=totalseconds)
|
||||||
|
|||||||
Reference in New Issue
Block a user