Private
Public Access
1
0

Merge branch 'feature/forceunit' into develop

This commit is contained in:
Sander Roosendaal
2019-11-03 10:11:46 +01:00
5 changed files with 1842 additions and 327 deletions
+1 -1
View File
@@ -482,7 +482,7 @@ def clean_df_stats(datadf, workstrokesonly=True, ignorehr=True,
try:
mask = datadf['wash'] > 1
mask = datadf['wash'] < 1
datadf.loc[mask, 'wash'] = np.nan
except (KeyError,TypeError):
pass
+1 -1
View File
@@ -419,6 +419,7 @@ def interactive_forcecurve(theworkouts,workstrokesonly=True,plottype='scatter'):
'peakforceangle','peakforce','spm','distance',
'workoutstate','driveenergy']
rowdata = dataprep.getsmallrowdata_db(columns,ids=ids,
workstrokesonly=workstrokesonly)
@@ -4975,4 +4976,3 @@ def interactive_otw_advanced_pace_chart(id=0,promember=0):
div = ''
return [script,div]
+1
View File
@@ -9,6 +9,7 @@ pytestmark = pytest.mark.django_db
from rowers.opaque import encoder
encoded1 = str(encoder.encode_hex(1))
encoded2 = str(encoder.encode_hex(2))
encoded13 = str(encoder.encode_hex(13))
from bs4 import BeautifulSoup
import re
+52 -10
View File
@@ -31,6 +31,7 @@ class ForceUnits(TestCase):
rowerplan='coach')
self.user_workouts = WorkoutFactory.create_batch(12, user=self.r)
self.factory = RequestFactory()
self.password = faker.word()
self.u.set_password(self.password)
@@ -60,7 +61,7 @@ class ForceUnits(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded13+'/edit/',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -70,15 +71,15 @@ class ForceUnits(TestCase):
w = Workout.objects.get(id=1)
self.assertEqual(w.forceunit,'lbs')
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[1])
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13])
average_N = int(df['averageforce'].mean())
self.assertEqual(average_N,399)
data = dataprep.read_df_sql(1)
data = dataprep.read_df_sql(13)
average_N = int(data['averageforce'].mean())
self.assertEqual(average_N,398)
df,row = dataprep.getrowdata_db(id=1)
df,row = dataprep.getrowdata_db(id=13)
average_N = int(df['averageforce'].mean())
self.assertEqual(average_N,398)
@@ -107,20 +108,55 @@ class ForceUnits(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded13+'/edit/',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
f.close()
w = Workout.objects.get(id=1)
w = Workout.objects.get(id=13)
self.assertEqual(w.forceunit,'lbs')
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[1])
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13])
average_N = int(df['averageforce'].mean())
self.assertEqual(average_N,267)
def test_upload_speedcoach_colin(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
filename = 'rowers/tests/testdata/colinforce.csv'
f = open(filename,'rb')
file_data = {'file': f}
form_data = {
'title':'test',
'workouttype':'rower',
'boattype':'1x',
'notes':'aap noot mies',
'make_plot':False,
'upload_to_c2':False,
'plottype':'timeplot',
'file': f,
}
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded13+'/edit/',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
f.close()
w = Workout.objects.get(id=13)
self.assertEqual(w.forceunit,'lbs')
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13])
average_N = int(df['averageforce'].mean())
self.assertEqual(average_N,113)
@override_settings(TESTING=True)
class TestForceUnit(TestCase):
def setUp(self):
@@ -133,6 +169,7 @@ class TestForceUnit(TestCase):
rowerplan='coach')
self.c = Client()
self.user_workouts = WorkoutFactory.create_batch(14, user=self.r)
self.factory = RequestFactory()
self.password = faker.word()
self.u.set_password(self.password)
@@ -166,6 +203,11 @@ class TestForceUnit(TestCase):
self.assertEqual(average_N,398)
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[id])
average_N = int(df['averageforce'].mean())
self.assertEqual(average_N,399)
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[w[0].id],doclean=False,
compute=False)
try:
average_N = int(df['averageforce'].mean())
if average_N != 0:
self.assertEqual(average_N,398)
except KeyError:
pass
File diff suppressed because it is too large Load Diff