Private
Public Access
1
0

removing wind, setpower, stream

This commit is contained in:
2024-04-13 10:47:07 +02:00
parent 2b90c9bfea
commit a0cecf23ba
5 changed files with 2 additions and 172 deletions

View File

@@ -778,59 +778,7 @@ class PredictedPieceFormNoDistance(forms.Form):
value = forms.FloatField(initial=10, label='Free ranking piece') value = forms.FloatField(initial=10, label='Free ranking piece')
# On the Geeky side, to update stream information for river dwellers
class UpdateStreamForm(forms.Form):
unitchoices = (
('m', 'm/s'),
('f', 'foot/s'),
('k', 'knots'),
('p', 'pace difference (sec/500m)'),
)
dist1 = forms.FloatField(initial=0, label='Distance 1')
dist2 = forms.FloatField(initial=1000, label='Distance 2')
stream1 = forms.FloatField(initial=0, label='Stream velocity 1')
stream2 = forms.FloatField(initial=0, label='Stream velocity 2')
streamunit = forms.ChoiceField(required=True,
choices=unitchoices,
initial='m',
label='Unit')
class Meta:
fields = ['dist1', 'dist2', 'stream1', 'stream2', 'streamunit']
# add wind information to your workout
class UpdateWindForm(forms.Form):
unitchoices = (
('m', 'm/s'),
('k', 'knots'),
('b', 'beaufort'),
('kmh', 'km/h'),
('mph', 'miles/hour'),
)
dist1 = forms.FloatField(initial=0, label='Distance 1')
dist2 = forms.FloatField(initial=1000, label='Distance 2')
vwind1 = forms.FloatField(initial=0, required=False, label='Wind Speed 1')
vwind2 = forms.FloatField(initial=0, required=False, label='Wind Speed 2')
windunit = forms.ChoiceField(required=True,
choices=unitchoices,
initial='m',
label='Unit')
winddirection1 = forms.IntegerField(initial=0, required=False,
label='Wind Direction 1')
winddirection2 = forms.IntegerField(initial=0, required=False,
label='Wind Direction 2')
class Meta:
fields = ['dist1', 'dist2',
'vwind1', 'vwind2',
'windunit',
'winddirection1', 'winddirection2']
# Form to select a data range to show workouts from a certain time period # Form to select a data range to show workouts from a certain time period
class DateRangeForm(forms.Form): class DateRangeForm(forms.Form):
startdate = forms.DateField( startdate = forms.DateField(
initial=timezone.now()-datetime.timedelta(days=365), initial=timezone.now()-datetime.timedelta(days=365),

View File

@@ -371,10 +371,6 @@ class WorkoutViewTest(TestCase):
response = self.c.get(url,follow=True) response = self.c.get(url,follow=True)
self.assertEqual(response.status_code,200) self.assertEqual(response.status_code,200)
url = reverse('workout_downloadwind_view',kwargs={
'id': encoder.encode_hex(self.wwater.id),
}
)
response = self.c.get(url,follow=True) response = self.c.get(url,follow=True)
self.assertEqual(response.status_code,200) self.assertEqual(response.status_code,200)
@@ -459,122 +455,9 @@ class WorkoutViewTest(TestCase):
status_code=302,target_status_code=200) status_code=302,target_status_code=200)
@patch('rowers.dataprep.create_engine')
@patch('rowers.dataprep.getsmallrowdata_db')
def test_windform(self, mocked_sqlalchemy, mocked_getsmallrowdata_db):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = reverse('workout_wind_view',kwargs={'id':encoder.encode_hex(self.wwater.id)})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
form_data = {
'dist1':1000,
'dist2':2000,
'vwind1':2.0,
'vwind2':1.4,
'windunit':'m',
'winddirection1': 0,
'winddirection2': 90,
}
form = UpdateWindForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data)
self.assertEqual(response.status_code,200)
@patch('rowers.dataprep.create_engine')
@patch('rowers.dataprep.getsmallrowdata_db')
def test_streamform(self, mocked_sqlalchemy, mocked_getsmallrowdata_db):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = reverse('workout_stream_view',kwargs={'id':encoder.encode_hex(self.wwater.id)})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
form_data = {
'dist1':1000,
'dist2':2000,
'stream1':2.0,
'stream2':1.4,
'streamunit':'m',
}
form = UpdateStreamForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data)
self.assertEqual(response.status_code,200)
@patch('rowers.dataprep.create_engine')
@patch('rowers.dataprep.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)
self.assertTrue(login)
url = reverse('instroke_view',kwargs={'id':encoder.encode_hex(self.winstroke.id)})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
rowdata = rowingdata.rowingdata(csvfile=self.winstroke.csvfilename)
instrokemetrics = rowdata.get_instroke_columns()
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.getsmallrowdata_db')
def test_setpowerform(self, mocked_sqlalchemy, mocked_getsmallrowdata_db):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
url = reverse('workout_otwsetpower_view',kwargs={'id':encoder.encode_hex(self.wwater.id)})
response = self.c.get(url)
self.assertEqual(response.status_code,200)
form_data = {
'quick_calc':True,
'boattype': '1x',
'weightvalue': 75.0,
'boatbrand':'maas',
}
form = AdvancedWorkoutForm(form_data)
self.assertTrue(form.is_valid())
response = self.c.post(url,form_data,follow=True)
self.assertEqual(response.status_code,200)
expected_url = reverse('workout_edit_view',kwargs={'id':encoder.encode_hex(self.wwater.id)})
self.assertRedirects(response,
expected_url=expected_url,
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_commentview(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): def test_commentview(self, mocked_sqlalchemy, mocked_getsmallrowdata_db):

View File

@@ -154,7 +154,6 @@ class URLTests(TestCase):
'/rowers/workout/'+encoded1+'/get-thumbnails/', '/rowers/workout/'+encoded1+'/get-thumbnails/',
'/rowers/workout/'+encoded1+'/image/', '/rowers/workout/'+encoded1+'/image/',
'/rowers/workout/'+encoded1+'/instroke/', '/rowers/workout/'+encoded1+'/instroke/',
'/rowers/workout/'+encoded1+'/interactiveotwplot/',
'/rowers/workout/'+encoded1+'/map/', '/rowers/workout/'+encoded1+'/map/',
'/rowers/workout/'+encoded1+'/recalcsummary/', '/rowers/workout/'+encoded1+'/recalcsummary/',
'/rowers/workout/'+encoded1+'/restore/', '/rowers/workout/'+encoded1+'/restore/',

Binary file not shown.

View File

@@ -136,9 +136,9 @@ from rowers.forms import (
FitnessMetricForm, PredictedPieceFormNoDistance, FitnessMetricForm, PredictedPieceFormNoDistance,
EmailForm, RegistrationForm, RegistrationFormTermsOfService, EmailForm, RegistrationForm, RegistrationFormTermsOfService,
RegistrationFormUniqueEmail, RegistrationFormSex, RegistrationFormUniqueEmail, RegistrationFormSex,
CNsummaryForm, UpdateWindForm, CNsummaryForm,
StandardsForm, StandardsForm,
UpdateStreamForm, WorkoutMultipleCompareForm, ChartParamChoiceForm, WorkoutMultipleCompareForm, ChartParamChoiceForm,
FusionMetricChoiceForm, BoxPlotChoiceForm, MultiFlexChoiceForm, FusionMetricChoiceForm, BoxPlotChoiceForm, MultiFlexChoiceForm,
TrendFlexModalForm, WorkoutSplitForm, WorkoutJoinParamForm, TrendFlexModalForm, WorkoutSplitForm, WorkoutJoinParamForm,
AnalysisOptionsForm, AnalysisChoiceForm, AnalysisOptionsForm, AnalysisChoiceForm,