got team upload working
This commit is contained in:
@@ -714,8 +714,6 @@ class PermissionsViewTests(TestCase):
|
||||
|
||||
url = reverse('team_workout_upload_view')
|
||||
|
||||
aantal = len(Workout.objects.filter(user=self.rbasic))
|
||||
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
@@ -743,9 +741,6 @@ class PermissionsViewTests(TestCase):
|
||||
expected_url = url,
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
aantal2 = len(Workout.objects.filter(user=self.rbasic))
|
||||
|
||||
self.assertEqual(aantal2,aantal+1)
|
||||
|
||||
## Coach can upload on behalf of athlete - if team allows
|
||||
@patch('rowers.dataprep.create_engine')
|
||||
|
||||
@@ -39,128 +39,7 @@ class ForceUnits(TestCase):
|
||||
def tearDown(self):
|
||||
dataprep.delete_strokedata(1)
|
||||
|
||||
def test_upload_painsled_lbs(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
filename = 'rowers/tests/testdata/PainsledForce.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',
|
||||
'rpe': 1,
|
||||
'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=1)
|
||||
self.assertEqual(w.forceunit,'lbs')
|
||||
|
||||
df = dataprep.read_data(['averageforce'],ids=[13])
|
||||
df = dataprep.remove_nulls_pl(df)
|
||||
average_N = int(df['averageforce'].mean())
|
||||
self.assertEqual(average_N,400)
|
||||
|
||||
data = dataprep.read_df_sql(13)
|
||||
average_N = int(data['averageforce'].mean())
|
||||
self.assertEqual(average_N,398)
|
||||
|
||||
df,row = dataprep.getrowdata_db(id=13)
|
||||
average_N = int(df['averageforce'].mean())
|
||||
self.assertEqual(average_N,398)
|
||||
|
||||
df = dataprep.clean_df_stats(df,ignoreadvanced=False)
|
||||
average_N = int(df['averageforce'].mean())
|
||||
self.assertEqual(average_N,398)
|
||||
|
||||
def test_upload_speedcoach_N(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
filename = 'rowers/tests/testdata/EmpowerSpeedCoachForce.csv'
|
||||
f = open(filename,'rb')
|
||||
file_data = {'file': f}
|
||||
form_data = {
|
||||
'title':'test',
|
||||
'workouttype':'rower',
|
||||
'boattype':'1x',
|
||||
'notes':'aap noot mies',
|
||||
'make_plot':False,
|
||||
'rpe': 1,
|
||||
'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,'N')
|
||||
|
||||
df = dataprep.read_data(['averageforce'],ids=[13])
|
||||
df = dataprep.remove_nulls_pl(df)
|
||||
average_N = int(df['averageforce'].mean())
|
||||
self.assertEqual(average_N,271)
|
||||
|
||||
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',
|
||||
'rpe':1,
|
||||
'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,'N')
|
||||
|
||||
df = dataprep.read_data(['averageforce'],ids=[13])
|
||||
df = dataprep.remove_nulls_pl(df)
|
||||
average_N = int(df['averageforce'].mean())
|
||||
self.assertEqual(average_N,120)
|
||||
|
||||
@override_settings(TESTING=True)
|
||||
class TestForceUnit(TestCase):
|
||||
|
||||
@@ -9,7 +9,7 @@ nu = datetime.datetime.now()
|
||||
from django.db import transaction
|
||||
|
||||
from rowers.views import add_defaultfavorites
|
||||
from rowers.dataflow import process_single_file, upload_handler
|
||||
from rowers.dataflow import process_single_file, upload_handler, unzip_and_process
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.conf import settings
|
||||
|
||||
@@ -47,11 +47,15 @@ class ViewTest(TestCase):
|
||||
'rowers/tests/testdata/painsled_desktop_example.csv',
|
||||
'rowers/tests/testdata/ergdata_example.csv',
|
||||
'rowers/tests/testdata/boatcoach_2021-09-09__18-15-53.csv',
|
||||
'rowers/tests/testdata/colinforce.csv',
|
||||
'rowers/tests/testdata/PainsledForce.csv',
|
||||
'rowers/tests/testdata/EmpowerSpeedCoachForce.csv',
|
||||
'rowers/tests/testdata/boatcoach.csv',
|
||||
'rowers/tests/testdata/ergstick.csv',
|
||||
]
|
||||
@parameterized.expand(file_list)
|
||||
def test_upload_view(self, filename):
|
||||
@patch('rowers.dataflow.myqueue')
|
||||
def test_upload_view(self, filename, mocked_myqueue):
|
||||
# simple test to see if upload view works. Submits a DocumentsForm to /rowers/workout/upload/
|
||||
login = self.c.login(username='john',password='koeinsloot')
|
||||
self.assertTrue(login)
|
||||
@@ -95,5 +99,45 @@ class ViewTest(TestCase):
|
||||
|
||||
self.assertEqual(result["status"], "processing")
|
||||
|
||||
@parameterized.expand(file_list)
|
||||
@patch('rowers.dataflow.myqueue')
|
||||
def test_process_single_file(self, filename, mocked_myqueue):
|
||||
uploadoptions = {
|
||||
'title':'test',
|
||||
'workouttype':'rower',
|
||||
'boattype':'1x',
|
||||
'notes':'aap noot mies',
|
||||
'make_plot':False,
|
||||
'rpe':6,
|
||||
'upload_to_c2':False,
|
||||
'plottype':'timeplot',
|
||||
'landingpage':'workout_edit_view',
|
||||
'raceid':0,
|
||||
'user': self.u,
|
||||
'file': filename,
|
||||
}
|
||||
result, f2 = process_single_file(filename, uploadoptions, 1)
|
||||
self.assertEqual(result, True)
|
||||
os.remove(f2+'.gz')
|
||||
|
||||
@patch('rowers.dataflow.myqueue')
|
||||
def test_process_zip_file(self, mocked_myqueue):
|
||||
filename = 'rowers/tests/testdata/zipfile.zip'
|
||||
uploadoptions = {
|
||||
'title':'test',
|
||||
'workouttype':'rower',
|
||||
'boattype':'1x',
|
||||
'notes':'aap noot mies',
|
||||
'make_plot':False,
|
||||
'rpe':6,
|
||||
'upload_to_c2':False,
|
||||
'plottype':'timeplot',
|
||||
'landingpage':'workout_edit_view',
|
||||
'raceid':0,
|
||||
'user': self.u,
|
||||
'file': filename,
|
||||
}
|
||||
result = unzip_and_process(filename, uploadoptions, 1)
|
||||
self.assertEqual(result['status'], "completed")
|
||||
|
||||
|
||||
|
||||
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Binary file not shown.
Reference in New Issue
Block a user