Private
Public Access
1
0

begin of unit tests

This commit is contained in:
Sander Roosendaal
2021-01-11 13:03:56 +01:00
parent 40d58c9403
commit 6e236ae1e2
5 changed files with 18903 additions and 12 deletions

View File

@@ -2655,7 +2655,7 @@ def read_cols_df_sql(ids, columns, convertnewtons=True):
try:
df = pd.read_parquet(f,columns=columns)
data.append(df)
except (OSError,IndexError):
except (OSError,IndexError,ArrowInvalid):
rowdata,row = getrowdata(id=id)
if rowdata and len(rowdata.df):
datadf = dataprep(rowdata.df,id=id,bands=True,otwpower=True,barchart=True)

View File

@@ -936,7 +936,7 @@ class History(TestCase):
pass
@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,
mocked_getsmallrowdata_db):
@@ -948,6 +948,11 @@ class History(TestCase):
response = self.c.get(url)
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.getsmallrowdata_db', side_effect=mocked_getsmallrowdata_db)
def test_workouts_history_submit(self, mocked_sqlalchemy,
@@ -978,6 +983,11 @@ class History(TestCase):
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):
def setUp(self):
self.u = UserFactory()

View 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

File diff suppressed because it is too large Load Diff

View File

@@ -780,8 +780,6 @@ def boxplotdata(workouts,options):
# prepare data frame
datadf,extracols = dataprep.read_cols_df_sql(ids,fieldlist)
datadf = dataprep.clean_df_stats(datadf,workstrokesonly=workstrokesonly)
datadf = dataprep.filter_df(datadf,'spm',spmmin,
@@ -1686,7 +1684,7 @@ def performancemanager_view(request,userid=0,mode='rower',
dofatigue = dofatigue,
showtests = True,
)
ids = pd.Series(ids).dropna().values
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_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'):
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))
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))
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'
@@ -5386,7 +5387,6 @@ def history_view_data(request,userid=0):
ddf = dataprep.clean_df_stats(ddf,workstrokesonly=True,
ignoreadvanced=True)
totalscript, totaldiv = interactive_hr_piechart(
ddf,r,mytypes.workouttypes_ordered[typeselect],
totalseconds=totalseconds)