Merge branch 'develop' into feature/workoutslist
This commit is contained in:
@@ -36,7 +36,7 @@ from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from io import StringIO
|
||||
|
||||
from django.test.client import RequestFactory
|
||||
from rowers.views import c2_open, multi_compare_view
|
||||
from rowers.views import c2_open
|
||||
|
||||
|
||||
from rowers.forms import (
|
||||
|
||||
@@ -11,70 +11,6 @@ nu = datetime.datetime.now()
|
||||
from rowers.views import *
|
||||
from rowers.views.analysisviews import histodata
|
||||
|
||||
class WorkoutCompareTest(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 tearDown(self):
|
||||
for workout in self.user_workouts:
|
||||
try:
|
||||
os.remove(workout.csvfilename)
|
||||
except (IOError, FileNotFoundError, OSError):
|
||||
pass
|
||||
|
||||
@patch('rowers.dataprep.create_engine')
|
||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||
def test_workouts_compare(self, mocked_sqlalchemy,
|
||||
mocked_getsmallrowdata_db):
|
||||
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = '/rowers/team-compare-select/workout/'+encoded1+'/team/0/user/1/'
|
||||
|
||||
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_compare_submit(self, mocked_sqlalchemy,
|
||||
mocked_getsmallrowdata_db):
|
||||
|
||||
login = self.c.login(username=self.u.username,password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
form_data = {
|
||||
'chartform':'Compare',
|
||||
'plottype':'scatter',
|
||||
'teamid':0,
|
||||
'workouts':['1','2','3'],
|
||||
'xparam':'distance',
|
||||
'yparam':'hr',
|
||||
}
|
||||
|
||||
form = WorkoutMultipleCompareForm(form_data)
|
||||
chartform = ChartParamChoiceForm(form_data)
|
||||
self.assertTrue(form.is_valid())
|
||||
self.assertTrue(chartform.is_valid())
|
||||
|
||||
response = self.c.post('/rowers/multi-compare/',form_data)
|
||||
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
|
||||
|
||||
|
||||
class ListWorkoutTest(TestCase):
|
||||
|
||||
@@ -214,70 +214,6 @@ class WorkoutViewTest(TestCase):
|
||||
expected_url=expected_url,
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
@patch('rowers.dataprep.create_engine')
|
||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||
@patch('rowers.middleware.myqueue')
|
||||
def test_compares(self, mocked_sqlalchemy, mocked_getsmallrowdata_db,
|
||||
mocked_myqueue):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
|
||||
session = self.c.session
|
||||
session['ids'] = [self.werg1.id,self.werg2.id]
|
||||
session.save()
|
||||
|
||||
response = self.c.get('/')
|
||||
|
||||
url = reverse('team_comparison_select')
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
d1 = self.werg1.date-datetime.timedelta(days=2)
|
||||
d2 = self.werg2.date+datetime.timedelta(days=2)
|
||||
|
||||
form_data = {
|
||||
'startdate': d1.strftime('%Y-%m-%d'),
|
||||
'enddate': d2.strftime('%Y-%m-%d'),
|
||||
'modality':'water',
|
||||
'waterboattype':['1x'],
|
||||
}
|
||||
|
||||
form = DateRangeForm(form_data)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
form = TrendFlexModalForm(form_data)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
response = self.c.post(url,form_data)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
url = reverse('multi_compare_view',kwargs={
|
||||
'userid':self.u.id,
|
||||
'id':encoder.encode_hex(self.werg1.id),
|
||||
})
|
||||
|
||||
form_data = {
|
||||
'xparam':'time',
|
||||
'yparam':'power',
|
||||
'plottype':'line',
|
||||
'teamid': '',
|
||||
}
|
||||
|
||||
|
||||
response = self.c.post(url,form_data,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
session['plottype'] = 'scatter'
|
||||
session['xparam'] = 'time'
|
||||
session['yparam'] = 'hr'
|
||||
|
||||
session.save()
|
||||
|
||||
response = self.c.get('/')
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
@patch('rowers.dataprep.create_engine')
|
||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||
|
||||
@@ -16,6 +16,7 @@ from django.db import transaction
|
||||
import json
|
||||
|
||||
from rowers.views.workoutviews import plannedsession_compare_view
|
||||
from rowers.views.analysisviews import analysis_new
|
||||
from rowers.views.otherviews import download_fit
|
||||
from rowers.opaque import encoder
|
||||
from django.utils.crypto import get_random_string
|
||||
@@ -443,7 +444,11 @@ class SessionLinkTest(TestCase):
|
||||
|
||||
url = reverse(plannedsession_compare_view,kwargs={'id':ps.id,'userid':self.u.id})
|
||||
response = self.c.get(url,follow=True)
|
||||
expected_url = reverse('multi_compare_view',kwargs={'userid':self.u.id,'id':encoder.encode_hex(w.id)})
|
||||
expected_url = reverse('analysis_new',
|
||||
kwargs={'function':'compare',
|
||||
'id':encoder.encode_hex(w.id),
|
||||
'session':ps.id,
|
||||
})
|
||||
self.assertRedirects(response,expected_url=expected_url,
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
@@ -473,7 +478,7 @@ class SessionLinkTest(TestCase):
|
||||
session.save()
|
||||
|
||||
request.user = self.u
|
||||
response = multi_compare_view(request,id=str(w.id))
|
||||
response = analysis_new(request,id=encoder.encode_hex(w.id))
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
# and adding a get
|
||||
@@ -491,7 +496,7 @@ class SessionLinkTest(TestCase):
|
||||
session.save()
|
||||
|
||||
request.user = self.u
|
||||
response = multi_compare_view(request,id=str(w.id))
|
||||
response = analysis_new(request,id=encoder.encode_hex(w.id))
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
|
||||
|
||||
@@ -169,70 +169,6 @@ class TeamTest(TestCase):
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
@patch('rowers.dataprep.create_engine')
|
||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||
@patch('rowers.middleware.myqueue')
|
||||
def test_compares(self, mocked_sqlalchemy, mocked_getsmallrowdata_db,
|
||||
mocked_myqueue):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
|
||||
session = self.c.session
|
||||
session['ids'] = [self.werg1.id,self.werg2.id]
|
||||
session.save()
|
||||
|
||||
response = self.c.get('/')
|
||||
|
||||
url = reverse('team_comparison_select',kwargs={'teamid':self.t.id})
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
d1 = self.werg1.date-timedelta(days=2)
|
||||
d2 = self.werg2.date+timedelta(days=2)
|
||||
|
||||
form_data = {
|
||||
'startdate': d1.strftime('%Y-%m-%d'),
|
||||
'enddate': d2.strftime('%Y-%m-%d'),
|
||||
'modality':'water',
|
||||
'waterboattype':['1x'],
|
||||
}
|
||||
|
||||
form = DateRangeForm(form_data)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
form = TrendFlexModalForm(form_data)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
response = self.c.post(url,form_data)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
url = reverse('multi_compare_view',kwargs={
|
||||
'userid':self.u.id,
|
||||
'id':encoder.encode_hex(self.werg1.id),
|
||||
})
|
||||
|
||||
form_data = {
|
||||
'xparam':'time',
|
||||
'yparam':'power',
|
||||
'plottype':'line',
|
||||
'teamid': '',
|
||||
}
|
||||
|
||||
|
||||
response = self.c.post(url,form_data,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
session['plottype'] = 'scatter'
|
||||
session['xparam'] = 'time'
|
||||
session['yparam'] = 'hr'
|
||||
|
||||
session.save()
|
||||
|
||||
response = self.c.get('/')
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
def test_teamsview(self):
|
||||
|
||||
|
||||
@@ -124,8 +124,6 @@ class URLTests(TestCase):
|
||||
'/rowers/sessions/multicreate/',
|
||||
'/rowers/sessions/print/',
|
||||
'/rowers/sessions/teamcreate/',
|
||||
'/rowers/team-compare-select/',
|
||||
'/rowers/team-compare-select/workout/'+encoded1+'/',
|
||||
'/rowers/workout/'+encoded1+'/',
|
||||
'/rowers/workout/'+encoded1+'/adddistanceplot/',
|
||||
'/rowers/workout/'+encoded1+'/adddistanceplot2/',
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
22,24,courses_view,see race courses,TRUE,200,FALSE,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE,TRUE,
|
||||
23,25,course_upload_view,upload a new course,TRUE,302,basic,200,302,FALSE,200,302,FALSE,200,302,FALSE,FALSE,FALSE,TRUE,TRUE,
|
||||
24,26,addmanual_view,upload a manual workout,TRUE,302,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,TRUE,TRUE,
|
||||
25,27,team_comparison_select,compare with a team member workout,TRUE,302,pro,200,302,pro,200,302,coach,200,302,FALSE,TRUE,TRUE,TRUE,TRUE,
|
||||
26,28,workouts_join_view,join workouts,TRUE,302,pro,302,302,pro,403,403,coach,302,403,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
27,29,workouts_join_select,select workouts to join,TRUE,404,pro,200,302,pro,403,403,coach,200,403,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
29,31,analysis_new,analysis front page,TRUE,302,pro,200,302,FALSE,200,302,coach,200,302,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
@@ -97,7 +96,6 @@
|
||||
111,137,workout_recalcsummary_view,recalculates workout summary,TRUE,403,basic,302,403,basic,403,403,coach,302,403,FALSE,FALSE,TRUE,TRUE,TRUE,
|
||||
112,138,workout_sporttracks_upload_view,uploads workout to C2,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE,FALSE,
|
||||
115,141,workout_tp_upload_view,uploads workout to C2,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,TRUE,FALSE,FALSE,
|
||||
116,142,multi_compare_view,compare workouts ,TRUE,302,basic,302,403,basic,302,403,coach,302,302,FALSE,FALSE,TRUE,TRUE,TRUE,
|
||||
117,145,alerts_view,view alerts,TRUE,302,basic,200,403,basic,403,403,coach,200,302,FALSE,TRUE,FALSE,TRUE,TRUE,
|
||||
118,147,AlertDelete,delete alert,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE,FALSE,
|
||||
119,148,alert_edit_view,edit alert,TRUE,200,basic,200,302,basic,200,302,coach,200,302,FALSE,FALSE,FALSE,FALSE,FALSE,
|
||||
|
||||
|
Reference in New Issue
Block a user