increased workoutviews coverage
This commit is contained in:
@@ -158,12 +158,20 @@ class WorkoutViewTest(TestCase):
|
|||||||
d1 = self.werg1.date-datetime.timedelta(days=2)
|
d1 = self.werg1.date-datetime.timedelta(days=2)
|
||||||
d2 = self.werg2.date+datetime.timedelta(days=2)
|
d2 = self.werg2.date+datetime.timedelta(days=2)
|
||||||
|
|
||||||
date_form_data = {
|
form_data = {
|
||||||
'startdate': d1.strftime('%Y-%m%d'),
|
'startdate': d1.strftime('%Y-%m-%d'),
|
||||||
'enddate': d2.strftime('%Y-%m%d')
|
'enddate': d2.strftime('%Y-%m-%d'),
|
||||||
|
'modality':'water',
|
||||||
|
'waterboattype':['1x'],
|
||||||
}
|
}
|
||||||
|
|
||||||
response = self.c.post(url,date_form_data)
|
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)
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
url = reverse('workouts_join_view')
|
url = reverse('workouts_join_view')
|
||||||
@@ -215,11 +223,34 @@ class WorkoutViewTest(TestCase):
|
|||||||
session.save()
|
session.save()
|
||||||
|
|
||||||
response = self.c.get('/')
|
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={
|
url = reverse('multi_compare_view',kwargs={
|
||||||
'userid':self.u.id,
|
'userid':self.u.id,
|
||||||
'id':encoder.encode_hex(self.werg1.id),
|
'id':encoder.encode_hex(self.werg1.id),
|
||||||
})
|
})
|
||||||
print(url)
|
|
||||||
|
|
||||||
form_data = {
|
form_data = {
|
||||||
'xparam':'time',
|
'xparam':'time',
|
||||||
@@ -369,7 +400,9 @@ class WorkoutViewTest(TestCase):
|
|||||||
|
|
||||||
@patch('rowers.dataprep.create_engine')
|
@patch('rowers.dataprep.create_engine')
|
||||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||||
def test_setpowerform(self, mocked_sqlalchemy, mocked_getsmallrowdata_db):
|
@patch('rowers.middleware.myqueue')
|
||||||
|
def test_setpowerform(self, mocked_sqlalchemy, mocked_getsmallrowdata_db,
|
||||||
|
mocked_myqueue):
|
||||||
login = self.c.login(username=self.u.username, password=self.password)
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
self.assertTrue(login)
|
self.assertTrue(login)
|
||||||
|
|
||||||
@@ -383,6 +416,17 @@ class WorkoutViewTest(TestCase):
|
|||||||
|
|
||||||
self.assertTrue(len(instrokemetrics)>0)
|
self.assertTrue(len(instrokemetrics)>0)
|
||||||
|
|
||||||
|
url = reverse('instroke_chart',
|
||||||
|
kwargs={
|
||||||
|
'id':encoder.encode_hex(self.winstroke.id),
|
||||||
|
'metric':instrokemetrics[0],
|
||||||
|
})
|
||||||
|
url2 = reverse(self.r.defaultlandingpage,kwargs={'id':encoder.encode_hex(self.winstroke.id)})
|
||||||
|
response = self.c.get(url)
|
||||||
|
self.assertRedirects(response,
|
||||||
|
expected_url=url2,
|
||||||
|
status_code=302,target_status_code=200)
|
||||||
|
|
||||||
@patch('rowers.dataprep.create_engine')
|
@patch('rowers.dataprep.create_engine')
|
||||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||||
def test_setpowerform(self, mocked_sqlalchemy, mocked_getsmallrowdata_db):
|
def test_setpowerform(self, mocked_sqlalchemy, mocked_getsmallrowdata_db):
|
||||||
@@ -543,6 +587,22 @@ class WorkoutViewTest(TestCase):
|
|||||||
self.assertEqual(response.status_code,200)
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
|
||||||
|
def test_remove_power_view(self):
|
||||||
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
|
self.assertTrue(login)
|
||||||
|
|
||||||
|
url = reverse('remove_power_view',kwargs={'id':encoder.encode_hex(self.wwater.id)})
|
||||||
|
url2 = reverse(self.r.defaultlandingpage,
|
||||||
|
kwargs={
|
||||||
|
'id':encoder.encode_hex(self.wwater.id)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
response = self.c.get(url)
|
||||||
|
self.assertRedirects(response,
|
||||||
|
expected_url=url2,
|
||||||
|
status_code=302,
|
||||||
|
target_status_code=200
|
||||||
|
)
|
||||||
|
|
||||||
@patch('rowers.dataprep.create_engine')
|
@patch('rowers.dataprep.create_engine')
|
||||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||||
@@ -597,6 +657,38 @@ class WorkoutViewTest(TestCase):
|
|||||||
response = self.c.post(url,form_data)
|
response = self.c.post(url,form_data)
|
||||||
self.assertEqual(response.status_code,200)
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
@patch('rowers.dataprep.create_engine')
|
||||||
|
@patch('rowers.dataprep.getrowdata_db',side_effect=mocked_getrowdata_db)
|
||||||
|
@patch('rowers.dataprep.get_video_data',side_effect=mocked_videodata)
|
||||||
|
def test_video_selectworkout(self, mocked_sqlalchemy, mocked_getsmallrowdata_db,
|
||||||
|
mocked_videodata):
|
||||||
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
|
self.assertTrue(login)
|
||||||
|
|
||||||
|
url = reverse('video_selectworkout')
|
||||||
|
|
||||||
|
response = self.c.get(url)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
d1 = self.wwater.date-datetime.timedelta(days=24)
|
||||||
|
d2 = self.wwater.date+datetime.timedelta(days=24)
|
||||||
|
|
||||||
|
|
||||||
|
form_data = {
|
||||||
|
'workout':'1',
|
||||||
|
'startdate': d1.strftime("%Y-%m-%d"),
|
||||||
|
'enddate': d2.strftime("%Y-%m-%d")
|
||||||
|
}
|
||||||
|
|
||||||
|
url2 = reverse('workout_video_create_view',kwargs={'id':encoder.encode_hex(1)})
|
||||||
|
|
||||||
|
response = self.c.post(url,form_data)
|
||||||
|
self.assertRedirects(response,
|
||||||
|
expected_url=url2,
|
||||||
|
status_code=302,
|
||||||
|
target_status_code=200)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@patch('rowers.dataprep.create_engine')
|
@patch('rowers.dataprep.create_engine')
|
||||||
@patch('rowers.dataprep.getsmallrowdata_db')
|
@patch('rowers.dataprep.getsmallrowdata_db')
|
||||||
|
|||||||
@@ -43,6 +43,8 @@ workout run
|
|||||||
m.save()
|
m.save()
|
||||||
a2 = 'media/mailbox_attachments/colin3.csv'
|
a2 = 'media/mailbox_attachments/colin3.csv'
|
||||||
copy('rowers/tests/testdata/emails/colin.csv',a2)
|
copy('rowers/tests/testdata/emails/colin.csv',a2)
|
||||||
|
a3 = 'media/mailbox_attachments/colin4.csv'
|
||||||
|
copy('rowers/tests/testdata/emails/colin.csv',a3)
|
||||||
a = MessageAttachment(message=m,document=a2[6:])
|
a = MessageAttachment(message=m,document=a2[6:])
|
||||||
a.save()
|
a.save()
|
||||||
|
|
||||||
@@ -76,6 +78,11 @@ workout run
|
|||||||
response = self.c.post(url,form_data,HTTP_HOST='127.0.0.1:4533')
|
response = self.c.post(url,form_data,HTTP_HOST='127.0.0.1:4533')
|
||||||
self.assertEqual(response.status_code,200)
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
form_data['file'] = 'media/mailbox_attachments/colin4.csv'
|
||||||
|
response = self.c.post(url,json.dumps(form_data),HTTP_HOST='127.0.0.1:4533',
|
||||||
|
content_type='application/json')
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
# should also test if workout is created
|
# should also test if workout is created
|
||||||
w = Workout.objects.get(id=1)
|
w = Workout.objects.get(id=1)
|
||||||
self.assertEqual(w.name,'test')
|
self.assertEqual(w.name,'test')
|
||||||
|
|||||||
@@ -2621,82 +2621,6 @@ def workout_smoothenpace_view(request,id=0,message="",successmessage=""):
|
|||||||
|
|
||||||
return HttpResponseRedirect(url)
|
return HttpResponseRedirect(url)
|
||||||
|
|
||||||
# Process CrewNerd Summary CSV and update summary
|
|
||||||
@user_passes_test(ispromember,login_url="/rowers/paidplans",
|
|
||||||
message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality. If you are already a Pro user, please log in to access this functionality",
|
|
||||||
redirect_field_name=None)
|
|
||||||
def workout_crewnerd_summary_view(request,id=0,message="",successmessage=""):
|
|
||||||
row = get_workoutuser(id, request)
|
|
||||||
r = getrower(request.user)
|
|
||||||
breadcrumbs = [
|
|
||||||
{
|
|
||||||
'url':'/rowers/list-workouts/',
|
|
||||||
'name':'Workouts'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'url':get_workout_default_page(request,id),
|
|
||||||
'name': row.name
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'url':reverse('workout_crewnerd_summary_view',kwargs={'id':id}),
|
|
||||||
'name': 'CrewNerd Summary'
|
|
||||||
}
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
|
||||||
form = CNsummaryForm(request.POST,request.FILES)
|
|
||||||
if form.is_valid():
|
|
||||||
f = request.FILES['file']
|
|
||||||
res = handle_uploaded_file(f)
|
|
||||||
fname = res[1]
|
|
||||||
try:
|
|
||||||
sumd = summarydata(fname)
|
|
||||||
row.summary = sumd.allstats()
|
|
||||||
row.save()
|
|
||||||
os.remove(fname)
|
|
||||||
successmessage = "CrewNerd summary added"
|
|
||||||
messages.info(request,successmessage)
|
|
||||||
url = reverse('workout_edit_view',
|
|
||||||
kwargs = {
|
|
||||||
'id':id,
|
|
||||||
})
|
|
||||||
|
|
||||||
return HttpResponseRedirect(url)
|
|
||||||
except:
|
|
||||||
try:
|
|
||||||
os.remove(fname)
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
message = "Something went wrong (workout_crewnerd_summary_view)"
|
|
||||||
messages.error(request,message)
|
|
||||||
url = reverse('workout_edit_view',
|
|
||||||
kwargs = {
|
|
||||||
'id':id,
|
|
||||||
})
|
|
||||||
return HttpResponseRedirect(url)
|
|
||||||
else:
|
|
||||||
return render(request,
|
|
||||||
"cn_form.html",
|
|
||||||
{'form':form,
|
|
||||||
'active':'nav-workouts',
|
|
||||||
'rower':r,
|
|
||||||
'workout':row,
|
|
||||||
'breadcrumbs':breadcrumbs,
|
|
||||||
'teams':get_my_teams(request.user),
|
|
||||||
'id':row.id})
|
|
||||||
else:
|
|
||||||
form = CNsummaryForm()
|
|
||||||
|
|
||||||
return render(request,
|
|
||||||
"cn_form.html",
|
|
||||||
{'form':form,
|
|
||||||
'active':'nav-workouts',
|
|
||||||
'rower':r,
|
|
||||||
'workout':row,
|
|
||||||
'breadcrumbs':breadcrumbs,
|
|
||||||
'teams':get_my_teams(request.user),
|
|
||||||
'id':row.id})
|
|
||||||
|
|
||||||
# Get weather for given location and date/time
|
# Get weather for given location and date/time
|
||||||
@permission_required('workout.change_workout',fn=get_workout_by_opaqueid,raise_exception=True)
|
@permission_required('workout.change_workout',fn=get_workout_by_opaqueid,raise_exception=True)
|
||||||
@@ -4846,7 +4770,6 @@ def workout_upload_api(request):
|
|||||||
q = request.POST
|
q = request.POST
|
||||||
post_data = {k: q.getlist(k) if len(q.getlist(k))>1 else v for k, v in q.items()}
|
post_data = {k: q.getlist(k) if len(q.getlist(k))>1 else v for k, v in q.items()}
|
||||||
|
|
||||||
|
|
||||||
# only allow local host
|
# only allow local host
|
||||||
hostt = request.get_host().split(':')
|
hostt = request.get_host().split(':')
|
||||||
if hostt[0] not in ['localhost','127.0.0.1','dev.rowsandall.com','rowsandall.com']:
|
if hostt[0] not in ['localhost','127.0.0.1','dev.rowsandall.com','rowsandall.com']:
|
||||||
|
|||||||
Reference in New Issue
Block a user