diff --git a/rowers/tests/test_aavirtualevents.py b/rowers/tests/test_aavirtualevents.py index a5be7e82..13609595 100644 --- a/rowers/tests/test_aavirtualevents.py +++ b/rowers/tests/test_aavirtualevents.py @@ -20,7 +20,7 @@ class VirtualEventViewTest(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='coach') self.c = Client() @@ -36,7 +36,7 @@ class VirtualEventViewTest(TestCase): self.rpiet = Rower.objects.create(user=self.upiet, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='basic') self.piet_workouts = WorkoutFactory.create_batch(5, user=self.rpiet) @@ -49,7 +49,7 @@ class VirtualEventViewTest(TestCase): self.rklaas = Rower.objects.create(user=self.uklaas, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='basic') self.klaas_workouts = WorkoutFactory.create_batch(5, user=self.rklaas) @@ -62,7 +62,7 @@ class VirtualEventViewTest(TestCase): self.rhenk = Rower.objects.create(user=self.uhenk, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='basic') self.henk_workouts = WorkoutFactory.create_batch(5, user=self.rhenk) @@ -83,7 +83,7 @@ class VirtualEventViewTest(TestCase): self.lastweek = lastweek self.intwoweeks = intwoweeks - + # erg races self.openergrace = VirtualRace.objects.create( name = faker.word(), @@ -104,7 +104,7 @@ class VirtualEventViewTest(TestCase): country = 'Indoor', manager = self.u ) - + self.submitergrace = VirtualRace.objects.create( name = faker.word(), startdate = yesterday.date(), @@ -143,7 +143,7 @@ class VirtualEventViewTest(TestCase): ) result = plannedsessions.add_rower_race(self.rpiet,self.submitergrace) - + # register Henk for submitergrace self.henkrecord = IndoorVirtualRaceResult.objects.create( userid = self.rhenk.id, @@ -161,7 +161,7 @@ class VirtualEventViewTest(TestCase): ) result = plannedsessions.add_rower_race(self.rhenk,self.submitergrace) - + # course coursefile = 'rowers/tests/testdata/course_22.kml' @@ -176,8 +176,8 @@ class VirtualEventViewTest(TestCase): course = courses.createcourse(self.r,cname,polygons,notes=cnotes) self.course = course - - + + # otw races self.openotwrace = VirtualRace.objects.create( name = faker.word(), @@ -247,11 +247,11 @@ class VirtualEventViewTest(TestCase): distance=result['totaldist'], workouttype = 'water', ) - + # OTW not matching course result = get_random_file(filename='rowers/tests/testdata/onwater2.csv') - + self.wwater = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -262,11 +262,11 @@ class VirtualEventViewTest(TestCase): ) - + # OTE 1k result = get_random_file(filename='rowers/tests/testdata/duzend_ote.csv') - + self.wduzend_r = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=nu.time(), @@ -279,7 +279,7 @@ class VirtualEventViewTest(TestCase): # Piet result = get_random_file(filename='rowers/tests/testdata/duzend_ote.csv') - + self.wduzend_rpiet = WorkoutFactory(user=self.rpiet, csvfilename=result['filename'], starttime=nu.time(), @@ -292,7 +292,7 @@ class VirtualEventViewTest(TestCase): # Klaas result = get_random_file(filename='rowers/tests/testdata/duzend_ote.csv') - + self.wduzend_rklaas = WorkoutFactory(user=self.rklaas, csvfilename=result['filename'], starttime=nu.time(), @@ -305,7 +305,7 @@ class VirtualEventViewTest(TestCase): # Henk result = get_random_file(filename='rowers/tests/testdata/duzend_ote.csv') - + self.wduzend_rhenk = WorkoutFactory(user=self.rhenk, csvfilename=result['filename'], starttime=nu.time(), @@ -317,7 +317,7 @@ class VirtualEventViewTest(TestCase): - + # OTE different result = get_random_file() self.wother_rpiet = WorkoutFactory(user=self.rpiet, @@ -334,8 +334,8 @@ class VirtualEventViewTest(TestCase): os.remove('rowers/tests/testdata/temp/course.kml') except (FileNotFoundError, OSError, IOError): pass - - + + #Scenarios @@ -344,7 +344,7 @@ class VirtualEventViewTest(TestCase): def test_races_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = reverse('virtualevents_view') response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -360,7 +360,7 @@ class VirtualEventViewTest(TestCase): response = self.c.post(url,form_data) self.assertEqual(response.status_code,200) - + form_data = { 'country':'All', 'regattatype':'ongoing' @@ -370,7 +370,7 @@ class VirtualEventViewTest(TestCase): response = self.c.post(url,form_data) self.assertEqual(response.status_code,200) - + form_data = { 'country':'All', 'regattatype':'previous' @@ -380,13 +380,13 @@ class VirtualEventViewTest(TestCase): response = self.c.post(url,form_data) self.assertEqual(response.status_code,200) - - + + # set up new OTE race def test_new_indoorrace(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = reverse('indoorvirtualevent_create_view') response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -421,15 +421,15 @@ class VirtualEventViewTest(TestCase): self.assertRedirects(response, expected_url = reverse('virtualevents_view'), status_code=302,target_status_code=200) - - - + + + # set up new OTE race def test_edit_indoorrace(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = reverse('indoorvirtualevent_edit_view', kwargs={'id':self.openergrace.id}) response = self.c.get(url) @@ -466,17 +466,17 @@ class VirtualEventViewTest(TestCase): expected_url = reverse('virtualevent_view', kwargs={'id':self.openergrace.id}), status_code=302,target_status_code=200) - - - + + + # set up new otw race # set up new OTE race def test_new_race(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = reverse('virtualevent_create_view') response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -513,7 +513,7 @@ class VirtualEventViewTest(TestCase): def test_edit_race(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = reverse('virtualevent_edit_view',kwargs={'id':self.openotwrace.id}) response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -547,12 +547,12 @@ class VirtualEventViewTest(TestCase): expected_url = reverse('virtualevent_view', kwargs={'id':self.openotwrace.id}), status_code=302,target_status_code=200) - + # view def test_race_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = reverse('virtualevent_view',kwargs={'id':self.openotwrace.id}) response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -565,21 +565,21 @@ class VirtualEventViewTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + url = reverse('virtualevent_view',kwargs={'id':self.submitergrace.id}) response = self.c.get(url) self.assertEqual(response.status_code,200) - + # register # withdraw def test_register_race_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = reverse('indoorvirtualevent_register_view', kwargs={'id':self.openergrace.id}) - + response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -607,7 +607,7 @@ class VirtualEventViewTest(TestCase): login = self.c.login(username=self.upiet.username, password=self.passwordpiet) self.assertTrue(login) - + url = reverse('indoorvirtualevent_register_view',kwargs={'id':self.openergrace.id}) response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -653,10 +653,10 @@ class VirtualEventViewTest(TestCase): def test_register_otwrace_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = reverse('virtualevent_register_view', kwargs={'id':self.openotwrace.id}) - + response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -705,7 +705,7 @@ class VirtualEventViewTest(TestCase): response = self.c.post(url,form_data,follow=True) expected_url = reverse('virtualevent_view',kwargs={'id':self.openotwrace.id}) - + self.assertRedirects(response, expected_url=expected_url, status_code=302,target_status_code=200) @@ -716,13 +716,13 @@ class VirtualEventViewTest(TestCase): response = self.c.get(url,follow=True) self.assertEqual(response.status_code,200) - + # submit result (OTE) def test_ote_submit(self): login = self.c.login(username=self.upiet.username, password=self.passwordpiet) self.assertTrue(login) - + url = reverse('virtualevent_submit_result_view', kwargs={'id':self.submitergrace.id, 'workoutid':self.wduzend_rpiet.id}) @@ -741,7 +741,7 @@ class VirtualEventViewTest(TestCase): therecord = IndoorVirtualRaceResult.objects.get(userid=self.rpiet.id, race=self.submitergrace, id=self.pietrecord.id) - + self.assertTrue(therecord.coursecompleted) @@ -755,7 +755,7 @@ class VirtualEventViewTest(TestCase): def test_ote_submitfalse(self): login = self.c.login(username=self.upiet.username, password=self.passwordpiet) self.assertTrue(login) - + url = reverse('virtualevent_submit_result_view', kwargs={'id':self.submitergrace.id, 'workoutid':self.wother_rpiet.id}) @@ -774,7 +774,7 @@ class VirtualEventViewTest(TestCase): therecord = IndoorVirtualRaceResult.objects.get(userid=self.rpiet.id, race=self.submitergrace, id=self.pietrecord.id) - + self.assertTrue(not therecord.coursecompleted) @@ -782,7 +782,7 @@ class VirtualEventViewTest(TestCase): def test_otw_submit(self): login = self.c.login(username=self.upiet.username, password=self.passwordpiet) self.assertTrue(login) - + url = reverse('virtualevent_submit_result_view', kwargs={'id':self.submitotwrace.id, 'workoutid':self.wuh_otw.id}) @@ -819,7 +819,7 @@ class VirtualEventViewTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + def test_otw_courses_edit(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) @@ -850,5 +850,4 @@ class VirtualEventViewTest(TestCase): # standalone # calculate course adherence - # other background jobs - + # other background jobs diff --git a/rowers/tests/test_analysis.py b/rowers/tests/test_analysis.py index a4a0de04..50b0ab36 100644 --- a/rowers/tests/test_analysis.py +++ b/rowers/tests/test_analysis.py @@ -9,15 +9,15 @@ from .statements import * nu = datetime.datetime.now() from rowers.views import * - + class WorkoutCompareTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -42,7 +42,7 @@ class WorkoutCompareTest(TestCase): 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) @@ -74,14 +74,14 @@ class WorkoutCompareTest(TestCase): self.assertEqual(response.status_code,200) - + class BoxPlotTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -107,7 +107,7 @@ class BoxPlotTest(TestCase): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/user-boxplot-select/' response = self.c.get(url) @@ -169,17 +169,17 @@ class BoxPlotTest(TestCase): response = self.c.get('/rowers/user-boxplot-data/') - + self.assertEqual(response.status_code,200) - + class ListWorkoutTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -223,14 +223,14 @@ class ListWorkoutTest(TestCase): response = self.c.post(url, form_data) self.assertEqual(response.status_code,200) - + class PlannedSessionTests(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -281,7 +281,7 @@ class ForcecurveTest(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -314,10 +314,10 @@ class ForcecurveTest(TestCase): class CumStatsTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -347,14 +347,14 @@ class CumStatsTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + class CumFlexTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -393,7 +393,7 @@ class CumFlexTest(TestCase): u'4+', u'8+', u'8x+'] - + form_data = { 'startdate':startdate, 'enddate':enddate, @@ -409,7 +409,7 @@ class CumFlexTest(TestCase): self.factory.user = self.u form = FlexAxesForm(self.factory,form_data) - + url = '/rowers/flexall/' @@ -447,19 +447,19 @@ class CumFlexTest(TestCase): session['options'] = options session.save() response = self.c.get('/') - + url = '/rowers/flexalldata/' response = self.c.get(url) self.assertEqual(response.status_code, 200) - + class MultiFlexTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -498,7 +498,7 @@ class MultiFlexTest(TestCase): u'4+', u'8+', u'8x+'] - + form_data = { 'startdate':startdate, 'enddate':enddate, @@ -550,18 +550,18 @@ class MultiFlexTest(TestCase): session['options'] = options session.save() response = self.c.get('/') - + url = '/rowers/user-multiflex-data/' response = self.c.get(url) self.assertEqual(response.status_code, 200) - + class HistoTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -603,7 +603,7 @@ class HistoTest(TestCase): u'4+', u'8+', u'8x+'] - + form_data = { 'startdate':startdate, 'enddate':enddate, @@ -614,11 +614,11 @@ class HistoTest(TestCase): url = '/rowers/histo/' response = self.c.get(url) self.assertEqual(response.status_code,200) - + response = self.c.post(url, form_data) self.assertEqual(response.status_code,200) - + options = { 'includereststrokes':False, 'rankingonly':False, @@ -647,10 +647,10 @@ class HistoTest(TestCase): class WorkoutCompareTestNew(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -675,7 +675,7 @@ class WorkoutCompareTestNew(TestCase): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/user-analysis-select/compare/' response = self.c.get(url) @@ -724,7 +724,7 @@ class WorkoutCompareTestNew(TestCase): result = form.is_valid() if not result: print(form.errors) - + self.assertTrue(form.is_valid()) self.assertTrue(optionsform.is_valid()) self.assertTrue(dateform.is_valid()) @@ -736,10 +736,10 @@ class WorkoutCompareTestNew(TestCase): class WorkoutBoxPlotTestNew(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -764,7 +764,7 @@ class WorkoutBoxPlotTestNew(TestCase): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/user-analysis-select/boxplot/' response = self.c.get(url) @@ -812,7 +812,7 @@ class WorkoutBoxPlotTestNew(TestCase): result = form.is_valid() if not result: print(form.errors) - + self.assertTrue(form.is_valid()) self.assertTrue(optionsform.is_valid()) self.assertTrue(dateform.is_valid()) @@ -824,10 +824,10 @@ class WorkoutBoxPlotTestNew(TestCase): class WorkoutHistoTestNew(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -852,7 +852,7 @@ class WorkoutHistoTestNew(TestCase): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/user-analysis-select/histo/' response = self.c.get(url) @@ -900,7 +900,7 @@ class WorkoutHistoTestNew(TestCase): result = form.is_valid() if not result: print(form.errors) - + self.assertTrue(form.is_valid()) self.assertTrue(optionsform.is_valid()) self.assertTrue(dateform.is_valid()) @@ -912,10 +912,10 @@ class WorkoutHistoTestNew(TestCase): class WorkoutFlexallTestNew(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -940,7 +940,7 @@ class WorkoutFlexallTestNew(TestCase): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/user-analysis-select/flexall/' response = self.c.get(url) @@ -988,7 +988,7 @@ class WorkoutFlexallTestNew(TestCase): result = form.is_valid() if not result: print(form.errors) - + self.assertTrue(form.is_valid()) self.assertTrue(optionsform.is_valid()) self.assertTrue(dateform.is_valid()) @@ -1000,10 +1000,10 @@ class WorkoutFlexallTestNew(TestCase): class WorkoutStatsTestNew(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -1028,7 +1028,7 @@ class WorkoutStatsTestNew(TestCase): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/user-analysis-select/stats/' response = self.c.get(url) @@ -1082,8 +1082,8 @@ class WorkoutStatsTestNew(TestCase): script, div = statsdata(workouts,options) script, div = comparisondata(workouts,options) - - + + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.getsmallrowdata_db', side_effect=mocked_getsmallrowdata_db) def test_workouts_stats_submit(self, mocked_sqlalchemy, @@ -1126,7 +1126,7 @@ class WorkoutStatsTestNew(TestCase): result = form.is_valid() if not result: print(form.errors) - + self.assertTrue(form.is_valid()) self.assertTrue(optionsform.is_valid()) self.assertTrue(dateform.is_valid()) @@ -1134,4 +1134,3 @@ class WorkoutStatsTestNew(TestCase): response = self.c.post('/rowers/user-analysis-select/',form_data) self.assertEqual(response.status_code,200) - diff --git a/rowers/tests/test_aworkouts.py b/rowers/tests/test_aworkouts.py index 1b23d1b6..d82bc9ac 100644 --- a/rowers/tests/test_aworkouts.py +++ b/rowers/tests/test_aworkouts.py @@ -33,10 +33,10 @@ def create_image(storage, filename, size=(100, 100), image_mode='RGB', image_for class WorkoutViewTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -48,7 +48,7 @@ class WorkoutViewTest(TestCase): self.u.save() result = get_random_file(filename='rowers/tests/testdata/onwater2.csv') - + self.wwater = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -75,7 +75,7 @@ class WorkoutViewTest(TestCase): ) result = get_random_file(filename='rowers/tests/testdata/erg1.csv') - + self.werg1 = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -86,7 +86,7 @@ class WorkoutViewTest(TestCase): ) result = get_random_file(filename='rowers/tests/testdata/erg2.csv') - + self.werg2 = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -97,7 +97,7 @@ class WorkoutViewTest(TestCase): ) result = get_random_file(filename='rowers/tests/testdata/erg2.csv') - + self.werg2copy = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -107,9 +107,9 @@ class WorkoutViewTest(TestCase): workouttype = 'rower', ) - + result = get_random_file(filename='rowers/tests/testdata/erg3.csv') - + self.werg3 = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -141,7 +141,7 @@ class WorkoutViewTest(TestCase): 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_joins(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): @@ -154,7 +154,7 @@ class WorkoutViewTest(TestCase): d1 = self.werg1.date-datetime.timedelta(days=2) d2 = self.werg2.date+datetime.timedelta(days=2) - + date_form_data = { 'startdate': d1.strftime('%Y-%m%d'), 'enddate': d2.strftime('%Y-%m%d') @@ -162,7 +162,7 @@ class WorkoutViewTest(TestCase): response = self.c.post(url,date_form_data) self.assertEqual(response.status_code,200) - + url = reverse('workouts_join_view') response = self.c.get(url,follow=True) @@ -197,7 +197,7 @@ class WorkoutViewTest(TestCase): self.assertRedirects(response, 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') @@ -224,8 +224,8 @@ class WorkoutViewTest(TestCase): 'plottype':'line', 'teamid': '', } - - + + response = self.c.post(url,form_data,follow=True) self.assertEqual(response.status_code,200) @@ -269,7 +269,7 @@ class WorkoutViewTest(TestCase): response = self.c.get(url,follow=True) self.assertEqual(response.status_code,200) - + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.getsmallrowdata_db') def test_smoothen(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): @@ -287,7 +287,7 @@ class WorkoutViewTest(TestCase): 'id':encoder.encode_hex(self.wwater.id) } ) - + self.assertRedirects(response, expected_url=expected_url, status_code=302,target_status_code=200) @@ -302,12 +302,12 @@ class WorkoutViewTest(TestCase): '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.getsmallrowdata_db') def test_windform(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): @@ -363,7 +363,7 @@ class WorkoutViewTest(TestCase): self.assertEqual(response.status_code,200) - + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.getsmallrowdata_db') def test_setpowerform(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): @@ -409,7 +409,7 @@ class WorkoutViewTest(TestCase): self.assertRedirects(response, expected_url=expected_url, status_code=302,target_status_code=200) - + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.getsmallrowdata_db') def test_commentview(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): @@ -435,7 +435,7 @@ class WorkoutViewTest(TestCase): url = reverse('workout_unsubscribe_view',kwargs={'id':encoder.encode_hex(self.wwater.id)}) response = self.c.get(url) self.assertEqual(response.status_code,200) - + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.getsmallrowdata_db') def test_mapview(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): @@ -471,7 +471,7 @@ class WorkoutViewTest(TestCase): #if not form.is_valid(): # print form.errors #self.assertTrue(form.is_valid()) - + response = self.c.post(url,form_data,format='multipart',follow=True) expected_url = reverse(self.r.defaultlandingpage, @@ -480,7 +480,7 @@ class WorkoutViewTest(TestCase): self.assertRedirects(response, expected_url=expected_url, status_code=302,target_status_code=200) - + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.getsmallrowdata_db') @patch('rowers.dataprep.getrowdata_db',side_effect=mocked_getrowdata_db) @@ -536,7 +536,7 @@ class WorkoutViewTest(TestCase): response = self.c.post(url,form_data,follow=True) self.assertEqual(response.status_code,200) - + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.getsmallrowdata_db') def test_editsummaryview(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): @@ -590,7 +590,7 @@ class WorkoutViewTest(TestCase): 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_workout_delete(self, mocked_sqlalchemy, mocked_getsmallrowdata_db): @@ -611,4 +611,3 @@ class WorkoutViewTest(TestCase): self.assertRedirects(response, expected_url=expected_url, status_code=302,target_status_code=200) - diff --git a/rowers/tests/test_basicrower.py b/rowers/tests/test_basicrower.py index bd889be3..268ab876 100644 --- a/rowers/tests/test_basicrower.py +++ b/rowers/tests/test_basicrower.py @@ -15,10 +15,10 @@ from rowers.views import get_workout class SimpleViewTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='basic') @@ -59,4 +59,3 @@ class SimpleViewTest(TestCase): self.assertRedirects(response, expected_url='/rowers/list-workouts/', status_code=302,target_status_code=200) - diff --git a/rowers/tests/test_courses.py b/rowers/tests/test_courses.py index a6a976ad..723dbc74 100644 --- a/rowers/tests/test_courses.py +++ b/rowers/tests/test_courses.py @@ -11,7 +11,7 @@ class CoursesTest(TestCase): self.u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', ) @@ -73,9 +73,8 @@ class CoursesTest(TestCase): response = self.c.get('/rowers/courses/1/downloadkml/') self.assertEqual(response.status_code,200) - + self.assertEquals( response.get('Content-Disposition'), 'attachment; filename="course_1.kml"' ) - diff --git a/rowers/tests/test_cpchart.py b/rowers/tests/test_cpchart.py index 5429b1cb..4ab3a2bb 100644 --- a/rowers/tests/test_cpchart.py +++ b/rowers/tests/test_cpchart.py @@ -13,15 +13,15 @@ from rowers.utils import calculate_age import rowers.dataprep as dataprep - + @override_settings(TESTING=True) class OTWCPChartTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True,sex='male', + gdproptin=True,surveydone=True,sex='male', weightcategory='hwt', gdproptindate=timezone.now(), rowerplan='coach') @@ -45,8 +45,8 @@ class OTWCPChartTest(TestCase): totaldist = row.df['cum_dist'].max() totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0] - - + + hours = int(totaltime/3600.) minutes = int((totaltime - 3600.*hours)/60.) seconds = int(totaltime - 3600.*hours - 60.*minutes) @@ -54,7 +54,7 @@ class OTWCPChartTest(TestCase): duration = "%s:%s:%s.%s" % (hours,minutes,seconds,tenths) duration = datetime.time(hour=hours,minute=minutes,second=seconds) - + workoutdate = row.rowdatetime.strftime('%Y-%m-%d') workoutstarttime = row.rowdatetime.strftime('%H:%M:%S') @@ -104,16 +104,16 @@ class OTWCPChartTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code, 200) - - + + @override_settings(TESTING=True) class CPChartTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True,sex='male', + gdproptin=True,surveydone=True,sex='male', weightcategory='hwt', gdproptindate=timezone.now(), rowerplan='coach') @@ -146,7 +146,7 @@ class CPChartTest(TestCase): perfsdf = pd.read_csv('rowers/tests/testdata/calcageperformance.csv') r = self.u.rower - + for i in perfsdf.index: perf = CalcAgePerformance( age = age, @@ -156,14 +156,14 @@ class CPChartTest(TestCase): weightcategory = r.weightcategory ) perf.save() - + def tearDown(self): for workout in self.user_workouts: try: os.remove(workout.csvfilename) except (IOError, FileNotFoundError,OSError): pass - + def test_analytics_page(self): login = self.c.login(username=self.u.username,password=self.password) self.assertTrue(login) @@ -228,7 +228,7 @@ class CPChartTest(TestCase): r = self.u.rower age = calculate_age(r.birthdate) - + wcdurations = [] wcpower = [] durations = [1,4,30,60] @@ -244,7 +244,7 @@ class CPChartTest(TestCase): ) jsondf = df.to_json() - + result = handle_getagegrouprecords( jsondf,distances,durations,age,r.sex,r.weightcategory) @@ -258,8 +258,8 @@ class CPChartTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - - + + @patch('rowers.dataprep.fetchcperg', side_effect = mocked_fetchcperg) @patch('rowers.dataprep.create_engine') def test_rankingpieces(self, mocked_fetchcperg, mocked_sqlalchemy): @@ -322,5 +322,3 @@ class CPChartTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code, 200) - - diff --git a/rowers/tests/test_emails.py b/rowers/tests/test_emails.py index 27bf2795..b65bcd9c 100644 --- a/rowers/tests/test_emails.py +++ b/rowers/tests/test_emails.py @@ -12,23 +12,23 @@ class EmailUpload(TestCase): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) self.theadmin = UserFactory(is_staff=True) self.rtheadmin = Rower.objects.create(user=self.theadmin, birthdate = faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') - + nu = datetime.datetime.now() workoutsbox = Mailbox.objects.create(name='workouts1') workoutsbox.save() failbox = Mailbox.objects.create(name='Failed') failbox.save() - + m = Message(mailbox=workoutsbox, from_header = u.email, subject = "run", @@ -73,23 +73,23 @@ class ZipEmailUpload(TestCase): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) self.theadmin = UserFactory(is_staff=True) self.rtheadmin = Rower.objects.create(user=self.theadmin, birthdate = faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') - + nu = datetime.datetime.now() workoutsbox = Mailbox.objects.create(name='workouts1') workoutsbox.save() failbox = Mailbox.objects.create(name='Failed') failbox.save() - + m = Message(mailbox=workoutsbox, from_header = u.email, subject = "Sprint", @@ -127,7 +127,7 @@ workout water w = ws[4] self.assertEqual(w.name,'Sprint (5)') - + @override_settings(TESTING=True) class EmailUniCodeUpload(TestCase): def setUp(self): @@ -135,23 +135,23 @@ class EmailUniCodeUpload(TestCase): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) self.theadmin = UserFactory(is_staff=True) self.rtheadmin = Rower.objects.create(user=self.theadmin, birthdate = faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') - + nu = datetime.datetime.now() workoutsbox = Mailbox.objects.create(name='workouts2') workoutsbox.save() failbox = Mailbox.objects.create(name='Failed') failbox.save() - + m = Message(mailbox=workoutsbox, from_header = u.email, subject = "Třeboň", @@ -196,23 +196,23 @@ class EmailBikeErgUpload(TestCase): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) self.theadmin = UserFactory(is_staff=True) self.rtheadmin = Rower.objects.create(user=self.theadmin, birthdate = faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') - + nu = datetime.datetime.now() workoutsbox = Mailbox.objects.create(name='workouts2') workoutsbox.save() failbox = Mailbox.objects.create(name='Failed') failbox.save() - + m = Message(mailbox=workoutsbox, from_header = u.email, subject = "bikeerg", @@ -257,23 +257,23 @@ class EmailBikeUpload(TestCase): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) self.theadmin = UserFactory(is_staff=True) self.rtheadmin = Rower.objects.create(user=self.theadmin, birthdate = faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') - + nu = datetime.datetime.now() workoutsbox = Mailbox.objects.create(name='workouts3') workoutsbox.save() failbox = Mailbox.objects.create(name='Failed') failbox.save() - + m = Message(mailbox=workoutsbox, from_header = u.email, subject = "bike", @@ -311,9 +311,9 @@ workout bike w = ws[0] self.assertEqual(w.workouttype,'Bike') - - -#@pytest.mark.django_db + + +#@pytest.mark.django_db @override_settings(TESTING=True) class EmailTests(TestCase): def setUp(self): @@ -321,24 +321,24 @@ class EmailTests(TestCase): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) self.theadmin = UserFactory(is_staff=True) self.rtheadmin = Rower.objects.create(user=self.theadmin, birthdate = faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') - + nu = datetime.datetime.now() workoutsbox = Mailbox.objects.create(name='workouts4') workoutsbox.save() failbox = Mailbox.objects.create(name='Failed') failbox.save() - + for filename in os.listdir(u'rowers/tests/testdata/emails'): m = Message(mailbox=workoutsbox, from_header = u.email, @@ -384,7 +384,7 @@ race 1 os.remove(path) except (IOError,FileNotFoundError,OSError): pass - + @patch('rowers.dataprep.create_engine') @patch('rowers.polarstuff.get_polar_notifications') @patch('rowers.c2stuff.requests.get', side_effect=mocked_requests) @@ -396,7 +396,7 @@ race 1 self.assertIn('Successfully processed email attachments',out.getvalue()) - + @override_settings(TESTING=True) class EmailAdminUpload(TestCase): def setUp(self): @@ -404,7 +404,7 @@ class EmailAdminUpload(TestCase): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now(), birthdate = faker.profile()['birthdate'] ) @@ -412,10 +412,10 @@ class EmailAdminUpload(TestCase): self.theadmin = UserFactory(is_staff=True) self.rtheadmin = Rower.objects.create(user=self.theadmin, birthdate = faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') - + self.race = RaceFactory(manager = self.theadmin) nu = datetime.datetime.now() @@ -423,7 +423,7 @@ class EmailAdminUpload(TestCase): workoutsbox.save() failbox = Mailbox.objects.create(name='Failed') failbox.save() - + m = Message(mailbox=workoutsbox, from_header = self.theadmin.email, subject = "johnsworkout", @@ -460,7 +460,7 @@ race 1 if not len(ws): for w in Workout.objects.all(): print(w) - + self.assertEqual(len(ws),1) w = ws[0] @@ -473,4 +473,3 @@ race 1 result = results[0] self.assertTrue(result.coursecompleted) - diff --git a/rowers/tests/test_empower.py b/rowers/tests/test_empower.py index 4681113a..9073dd0c 100644 --- a/rowers/tests/test_empower.py +++ b/rowers/tests/test_empower.py @@ -14,10 +14,10 @@ class EmpowerTest(TestCase): 'sander@ds.ds', 'koeinsloot', ) - r = Rower.objects.create(user=u,rowerplan='coach',gdproptin=True, + r = Rower.objects.create(user=u,rowerplan='coach',gdproptin=True,surveydone=True, gdproptindate=timezone.now()) self.c = Client() - + self.nu = datetime.datetime.now() filename = 'rowers/tests/testdata/testdata.csv' otwfilename = 'rowers/tests/testdata/empower.csv' @@ -27,20 +27,20 @@ class EmpowerTest(TestCase): starttime=self.nu.strftime('%H:%M:%S'), duration="0:55:00",distance=8000, csvfilename=filename) - + self.wote = Workout.objects.create(name='testworkout', workouttype='Indoor Rower', user=r,date=self.nu.strftime('%Y-%m-%d'), starttime=self.nu.strftime('%H:%M:%S'), duration="0:55:00",distance=8000, csvfilename=otwfilename) - + powerperc = 100*np.array([r.pw_ut2, r.pw_ut1, r.pw_at, r.pw_tr,r.pw_an])/r.ftp - + self.hrdata = { 'hrmax':r.max, 'hrut2':r.ut2, diff --git a/rowers/tests/test_flexchart.py b/rowers/tests/test_flexchart.py index 96ed9e52..27869afa 100644 --- a/rowers/tests/test_flexchart.py +++ b/rowers/tests/test_flexchart.py @@ -9,10 +9,10 @@ from .statements import * class WorkoutViewTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', showfavoritechartnotes=True) @@ -25,7 +25,7 @@ class WorkoutViewTest(TestCase): self.u.save() result = get_random_file(filename='rowers/tests/testdata/onwater2.csv') - + self.wwater = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -47,7 +47,7 @@ class WorkoutViewTest(TestCase): ) result = get_random_file(filename='rowers/tests/testdata/erg1.csv') - + self.werg1 = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -58,7 +58,7 @@ class WorkoutViewTest(TestCase): ) result = get_random_file(filename='rowers/tests/testdata/erg2.csv') - + self.werg2 = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -69,7 +69,7 @@ class WorkoutViewTest(TestCase): ) result = get_random_file(filename='rowers/tests/testdata/erg3.csv') - + self.werg3 = WorkoutFactory(user=self.r, csvfilename=result['filename'], starttime=result['starttime'], @@ -98,7 +98,7 @@ class WorkoutViewTest(TestCase): notes=faker.word(), user=self.r ) - + def tearDown(self): pass @@ -113,7 +113,7 @@ class WorkoutViewTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + # change chart form_data = { 'xaxis':'time', @@ -161,7 +161,7 @@ class WorkoutViewTest(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + # change chart form_data = { 'xaxis':'time', @@ -190,4 +190,4 @@ class WorkoutViewTest(TestCase): } response = self.c.post(url,form_data) - self.assertEqual(response.status_code,200) + self.assertEqual(response.status_code,200) diff --git a/rowers/tests/test_imports.py b/rowers/tests/test_imports.py index 1612cef5..03710671 100644 --- a/rowers/tests/test_imports.py +++ b/rowers/tests/test_imports.py @@ -10,7 +10,7 @@ nu = datetime.datetime.now() import rowers -@pytest.mark.django_db +@pytest.mark.django_db @override_settings(TESTING=True) class C2Objects(DjangoTestCase): def setUp(self): @@ -22,7 +22,7 @@ class C2Objects(DjangoTestCase): self.u.first_name = 'John' self.u.last_name = 'Sander' self.u.save() - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) @@ -33,9 +33,9 @@ class C2Objects(DjangoTestCase): self.c.login(username='john',password='koeinsloot') self.nu = datetime.datetime.now() - + filename = 'rowers/tests/testdata/testdata.csv' - + rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2, hrut1=self.r.ut1,hrat=self.r.at, hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp) @@ -44,7 +44,7 @@ class C2Objects(DjangoTestCase): totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0] - + hours = int(totaltime/3600.) minutes = int((totaltime - 3600.*hours)/60.) seconds = int(totaltime - 3600.*hours - 60.*minutes) @@ -65,15 +65,15 @@ class C2Objects(DjangoTestCase): csvfilename=filename ) - + @patch('rowers.c2stuff.Session', side_effect=mocked_requests) def test_c2_callback(self, mock_Session): response = self.c.get('/call_back?code=dsdoij232s',follow=True) - + self.assertEqual(response.status_code, 200) - + @patch('rowers.c2stuff.Session', side_effect=mocked_requests) def test_c2_token_refresh(self, mock_Session): response = self.c.get('/rowers/me/c2refresh/',follow=True) @@ -99,7 +99,7 @@ class C2Objects(DjangoTestCase): response = self.c.get('/rowers/workout/c2list',follow=True) self.assertEqual(response.status_code,200) - + @patch('rowers.c2stuff.requests.get', side_effect=mocked_requests) @patch('rowers.dataprep.create_engine') def test_c2_import(self, mock_get, mocked_sqlalchemy): @@ -112,7 +112,7 @@ class C2Objects(DjangoTestCase): self.assertEqual(response.status_code, 200) - + @patch('rowers.dataprep.create_engine') def test_strokedata(self, mocked_sqlalchemy): with open('rowers/tests/testdata/c2stroketestdata.txt','r') as infile: @@ -157,7 +157,7 @@ class C2ObjectsTokenExpired(DjangoTestCase): self.u.first_name = 'John' self.u.last_name = 'Sander' self.u.save() - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) @@ -168,9 +168,9 @@ class C2ObjectsTokenExpired(DjangoTestCase): self.c.login(username='john',password='koeinsloot') self.nu = datetime.datetime.now() - + filename = 'rowers/tests/testdata/testdata.csv' - + rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2, hrut1=self.r.ut1,hrat=self.r.at, hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp) @@ -179,7 +179,7 @@ class C2ObjectsTokenExpired(DjangoTestCase): totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0] - + hours = int(totaltime/3600.) minutes = int((totaltime - 3600.*hours)/60.) seconds = int(totaltime - 3600.*hours - 60.*minutes) @@ -200,7 +200,7 @@ class C2ObjectsTokenExpired(DjangoTestCase): csvfilename=filename ) - + @patch('rowers.c2stuff.requests.post', side_effect=mocked_requests) @patch('rowers.c2stuff.requests.get', side_effect=mocked_requests) @@ -209,7 +209,7 @@ class C2ObjectsTokenExpired(DjangoTestCase): response = self.c.get('/rowers/workout/c2list',follow=True) self.assertEqual(response.status_code,200) - + @patch('rowers.c2stuff.requests.get', side_effect=mocked_requests) @patch('rowers.dataprep.create_engine') def test_c2_import(self, mock_get, mocked_sqlalchemy): @@ -222,9 +222,9 @@ class C2ObjectsTokenExpired(DjangoTestCase): self.assertEqual(response.status_code, 200) - - -#@pytest.mark.django_db + + +#@pytest.mark.django_db @override_settings(TESTING=True) class StravaObjects(DjangoTestCase): def setUp(self): @@ -236,7 +236,7 @@ class StravaObjects(DjangoTestCase): self.u.first_name = 'John' self.u.last_name = 'Sander' self.u.save() - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) @@ -247,9 +247,9 @@ class StravaObjects(DjangoTestCase): self.r.save() self.c.login(username='john',password='koeinsloot') self.nu = datetime.datetime.now() - + filename = 'rowers/tests/testdata/testdata.csv' - + rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2, hrut1=self.r.ut1,hrat=self.r.at, hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp) @@ -258,7 +258,7 @@ class StravaObjects(DjangoTestCase): totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0] - + hours = int(totaltime/3600.) minutes = int((totaltime - 3600.*hours)/60.) seconds = int(totaltime - 3600.*hours - 60.*minutes) @@ -329,10 +329,10 @@ class StravaObjects(DjangoTestCase): self.assertEqual(result,"987654321234567898765432123456789") - -#@pytest.mark.django_db + +#@pytest.mark.django_db @override_settings(TESTING=True) -class STObjects(DjangoTestCase): +class STObjects(DjangoTestCase): def setUp(self): self.c = Client() self.u = User.objects.create_user('john', @@ -342,7 +342,7 @@ class STObjects(DjangoTestCase): self.u.first_name = 'John' self.u.last_name = 'Sander' self.u.save() - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) @@ -355,9 +355,9 @@ class STObjects(DjangoTestCase): self.c.login(username='john',password='koeinsloot') self.nu = datetime.datetime.now() - + filename = 'rowers/tests/testdata/testdata.csv' - + rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2, hrut1=self.r.ut1,hrat=self.r.at, hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp) @@ -366,7 +366,7 @@ class STObjects(DjangoTestCase): totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0] - + hours = int(totaltime/3600.) minutes = int((totaltime - 3600.*hours)/60.) seconds = int(totaltime - 3600.*hours - 60.*minutes) @@ -391,10 +391,10 @@ class STObjects(DjangoTestCase): def test_sporttracks_callback(self, mock_post): response = self.c.get('/sporttracks_callback?code=dsdoij232s',follow=True) - + self.assertEqual(response.status_code, 200) - + @patch('rowers.sporttracksstuff.requests.post', side_effect=mocked_requests) def test_sporttracks_token_refresh(self, mock_post): response = self.c.get('/rowers/me/sporttracksrefresh/',follow=True) @@ -419,7 +419,7 @@ class STObjects(DjangoTestCase): response = self.c.get('/rowers/workout/sporttracksimport',follow=True) self.assertEqual(response.status_code,200) - + @patch('rowers.imports.requests.get', side_effect=mocked_requests) def test_sporttracks_import(self, mock_get): @@ -478,9 +478,9 @@ class STObjects(DjangoTestCase): res = add_workout_from_data(self.u,1,data,data) -#@pytest.mark.django_db +#@pytest.mark.django_db @override_settings(TESTING=True) -class RunKeeperObjects(DjangoTestCase): +class RunKeeperObjects(DjangoTestCase): def setUp(self): self.c = Client() self.u = User.objects.create_user('john', @@ -490,7 +490,7 @@ class RunKeeperObjects(DjangoTestCase): self.u.first_name = 'John' self.u.last_name = 'Sander' self.u.save() - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) @@ -502,9 +502,9 @@ class RunKeeperObjects(DjangoTestCase): self.c.login(username='john',password='koeinsloot') self.nu = datetime.datetime.now() - + filename = 'rowers/tests/testdata/testdata.csv' - + rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2, hrut1=self.r.ut1,hrat=self.r.at, hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp) @@ -513,7 +513,7 @@ class RunKeeperObjects(DjangoTestCase): totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0] - + hours = int(totaltime/3600.) minutes = int((totaltime - 3600.*hours)/60.) seconds = int(totaltime - 3600.*hours - 60.*minutes) @@ -557,7 +557,7 @@ class RunKeeperObjects(DjangoTestCase): response = self.c.get('/rowers/workout/runkeeperimport',follow=True) self.assertEqual(response.status_code,200) - + @patch('rowers.imports.requests.get', side_effect=mocked_requests) def test_runkeeper_import(self, mock_get): @@ -570,10 +570,10 @@ class RunKeeperObjects(DjangoTestCase): self.assertEqual(response.status_code, 200) - -@pytest.mark.django_db + +@pytest.mark.django_db @override_settings(TESTING=True) -class UAObjects(DjangoTestCase): +class UAObjects(DjangoTestCase): def setUp(self): self.c = Client() self.u = User.objects.create_user('john', @@ -583,7 +583,7 @@ class UAObjects(DjangoTestCase): self.u.first_name = 'John' self.u.last_name = 'Sander' self.u.save() - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) @@ -596,9 +596,9 @@ class UAObjects(DjangoTestCase): self.c.login(username='john',password='koeinsloot') self.nu = datetime.datetime.now() - + filename = 'rowers/tests/testdata/testdata.csv' - + rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2, hrut1=self.r.ut1,hrat=self.r.at, hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp) @@ -607,7 +607,7 @@ class UAObjects(DjangoTestCase): totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0] - + hours = int(totaltime/3600.) minutes = int((totaltime - 3600.*hours)/60.) seconds = int(totaltime - 3600.*hours - 60.*minutes) @@ -632,10 +632,10 @@ class UAObjects(DjangoTestCase): def test_underarmour_callback(self, mock_post): response = self.c.get('/underarmour_callback?code=dsdoij232s',follow=True) - + self.assertEqual(response.status_code, 200) - + @patch('rowers.underarmourstuff.requests.post', side_effect=mocked_requests) def test_underarmour_token_refresh(self, mock_post): response = self.c.get('/rowers/me/underarmourrefresh/',follow=True) @@ -660,7 +660,7 @@ class UAObjects(DjangoTestCase): response = self.c.get('/rowers/workout/underarmourimport',follow=True) self.assertEqual(response.status_code,200) - + @patch('rowers.imports.requests.get', side_effect=mocked_requests) @patch('rowers.dataprep.create_engine') def test_underarmour_import(self, mock_get, mocked_sqlalchemy): @@ -674,9 +674,9 @@ class UAObjects(DjangoTestCase): self.assertEqual(response.status_code, 200) -#@pytest.mark.django_db +#@pytest.mark.django_db @override_settings(TESTING=True) -class TPObjects(DjangoTestCase): +class TPObjects(DjangoTestCase): def setUp(self): self.c = Client() self.u = User.objects.create_user('john', @@ -686,7 +686,7 @@ class TPObjects(DjangoTestCase): self.u.first_name = 'John' self.u.last_name = 'Sander' self.u.save() - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) @@ -699,9 +699,9 @@ class TPObjects(DjangoTestCase): self.c.login(username='john',password='koeinsloot') self.nu = datetime.datetime.now() - + filename = 'rowers/tests/testdata/testdata.csv' - + rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2, hrut1=self.r.ut1,hrat=self.r.at, hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp) @@ -710,7 +710,7 @@ class TPObjects(DjangoTestCase): totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0] - + hours = int(totaltime/3600.) minutes = int((totaltime - 3600.*hours)/60.) seconds = int(totaltime - 3600.*hours - 60.*minutes) @@ -735,10 +735,10 @@ class TPObjects(DjangoTestCase): def test_tp_callback(self, mock_post): response = self.c.get('/tp_callback?code=dsdoij232s',follow=True) - + self.assertEqual(response.status_code, 200) - + @patch('rowers.tpstuff.requests.post', side_effect=mocked_requests) def test_tp_token_refresh(self, mock_post): response = self.c.get('/rowers/me/tprefresh/',follow=True) @@ -761,7 +761,7 @@ class TPObjects(DjangoTestCase): self.assertEqual(response.status_code, 302) -#@pytest.mark.django_db +#@pytest.mark.django_db @override_settings(TESTING=True) class AutoExportTests(TestCase): def setUp(self): @@ -769,7 +769,7 @@ class AutoExportTests(TestCase): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) diff --git a/rowers/tests/test_interactivecharts.py b/rowers/tests/test_interactivecharts.py index 4d7fb2cd..7572d68e 100644 --- a/rowers/tests/test_interactivecharts.py +++ b/rowers/tests/test_interactivecharts.py @@ -14,7 +14,7 @@ class InteractiveChartTest(TestCase): u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) self.nu = datetime.datetime.now() @@ -26,7 +26,7 @@ class InteractiveChartTest(TestCase): starttime=self.nu.strftime('%H:%M:%S'), duration="0:55:00",distance=8000, csvfilename=self.filename) - + self.wote = Workout.objects.create(name='testworkout', workouttype='Indoor Rower', user=r,date=self.nu.strftime('%Y-%m-%d'), @@ -40,7 +40,7 @@ class InteractiveChartTest(TestCase): def test_painsled(self, mocked_sqlalchemy, mocked_read_df_sql): u = User.objects.get(username='john') r = Rower.objects.get(user=u) - + rr = rrower(hrmax=r.max,hrut2=r.ut2, hrut1=r.ut1,hrat=r.at, hrtr=r.tr,hran=r.an,ftp=r.ftp) @@ -59,7 +59,7 @@ class InteractiveChartTest(TestCase): @patch('rowers.dataprep.read_df_sql') @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) def test_interactive_chart2(self, mocked_sqlalchemy,mocked_read_df_sql, - mocked_getsmallrowdata_db): + mocked_getsmallrowdata_db): res = iplots.interactive_chart(self.wote.id,promember=1) @patch('rowers.dataprep.create_engine') @@ -69,7 +69,7 @@ class InteractiveChartTest(TestCase): @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') - def test_interactive_chart4(self, mocked_sqlalchemy,mocked_read_df_sql): + def test_interactive_chart4(self, mocked_sqlalchemy,mocked_read_df_sql): res = iplots.interactive_bar_chart(self.wote.id,promember=1) @patch('rowers.dataprep.create_engine') @@ -90,7 +90,7 @@ class InteractiveChartTest(TestCase): @patch('rowers.dataprep.read_df_sql') @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) def test_interactive_chart7(self, mocked_sqlalchemy,mocked_read_df_sql, - mocked_getsmallrowdata_db): + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id,promember=0, xparam='time', yparam1='pace',yparam2='spm') @@ -98,8 +98,8 @@ class InteractiveChartTest(TestCase): @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) - def test_interactive_chart8(self, mocked_sqlalchemy,mocked_read_df_sql, - mocked_getsmallrowdata_db): + def test_interactive_chart8(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id, promember=0,xparam='distance', yparam1='pace',yparam2='spm') @@ -108,23 +108,23 @@ class InteractiveChartTest(TestCase): @patch('rowers.dataprep.read_df_sql') @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) def test_interactive_chart9(self, mocked_sqlalchemy,mocked_read_df_sql, - mocked_getsmallrowdata_db): + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id, promember=1,xparam='time', yparam1='pace',yparam2='hr') @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) - def test_interactive_chart10(self, mocked_sqlalchemy,mocked_read_df_sql, - mocked_getsmallrowdata_db): + def test_interactive_chart10(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id, promember=1,xparam='distance', yparam1='pace',yparam2='hr') @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) - def test_interactive_chart11(self, mocked_sqlalchemy,mocked_read_df_sql, - mocked_getsmallrowdata_db): + def test_interactive_chart11(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id, promember=1,xparam='time', yparam1='pace',yparam2='spm') @@ -132,10 +132,8 @@ class InteractiveChartTest(TestCase): @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.read_df_sql') @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) - def test_interactive_chart12(self, mocked_sqlalchemy,mocked_read_df_sql, - mocked_getsmallrowdata_db): + def test_interactive_chart12(self, mocked_sqlalchemy,mocked_read_df_sql, + mocked_getsmallrowdata_db): res = iplots.interactive_flex_chart2(self.wote.id,promember=1, xparam='distance', yparam1='pace',yparam2='spm') - - diff --git a/rowers/tests/test_misc.py b/rowers/tests/test_misc.py index f572f495..cf97672c 100644 --- a/rowers/tests/test_misc.py +++ b/rowers/tests/test_misc.py @@ -9,15 +9,15 @@ from .statements import * nu = datetime.datetime.now() - -#@pytest.mark.django_db + +#@pytest.mark.django_db class WorkoutTests(TestCase): def setUp(self): redis_connection.publish('tasks','KILL') self.u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) nu = datetime.datetime.now() @@ -30,14 +30,14 @@ class WorkoutTests(TestCase): def test_checkworkoutuser(self): self.assertEqual(checkworkoutuser(self.u,self.w),True) -#@pytest.mark.django_db +#@pytest.mark.django_db class C2Tests(TestCase): def setUp(self): redis_connection.publish('tasks','KILL') self.u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) self.nu = datetime.datetime.now() @@ -54,7 +54,7 @@ class C2Tests(TestCase): -#@pytest.mark.django_db +#@pytest.mark.django_db class subroutinetests(TestCase): def setUp(self): redis_connection.publish('tasks','KILL') @@ -77,6 +77,3 @@ class subroutinetests(TestCase): jsond = json.dumps(data) data = c2stuff.createc2workoutdata_as_splits(w) jsond = json.dumps(data) - - - diff --git a/rowers/tests/test_newusers.py b/rowers/tests/test_newusers.py index 2d5960e3..29f93712 100644 --- a/rowers/tests/test_newusers.py +++ b/rowers/tests/test_newusers.py @@ -8,7 +8,7 @@ from .statements import * nu = datetime.datetime.now() -#@pytest.mark.django_db +#@pytest.mark.django_db @override_settings(TESTING=True) class NewUserRegistrationTest(TestCase): def setUp(self): @@ -20,7 +20,7 @@ class NewUserRegistrationTest(TestCase): os.remove('rowsandall_workouts_2018-01-01_2019-01-01.csv') except: pass - + @patch('rowers.dataprep.workout_summary_to_df',side_effect=mock_workout_summaries) def test_newuser(self,mock_workout_summaries): form_data = { @@ -40,11 +40,11 @@ class NewUserRegistrationTest(TestCase): form = RegistrationFormUniqueEmail(form_data) self.assertTrue(form.is_valid()) - + response = self.c.post('/rowers/register/', form_data, follow=True) - + self.assertRedirects(response, - expected_url='/rowers/me/gdpr-optin/?next=/rowers/list-workouts/', + expected_url='/rowers/survey/?next=/rowers/list-workouts/', status_code=302,target_status_code=200) @@ -73,7 +73,7 @@ class NewUserRegistrationTest(TestCase): response = self.c.post(url,form_data) self.assertTrue(response.status_code,200) - + url = '/rowers/me/delete/' form_data = { @@ -84,6 +84,3 @@ class NewUserRegistrationTest(TestCase): self.assertRedirects(response, expected_url='/login/', status_code=302,target_status_code=200) - - - diff --git a/rowers/tests/test_payments.py b/rowers/tests/test_payments.py index cc23d5e0..b2795935 100644 --- a/rowers/tests/test_payments.py +++ b/rowers/tests/test_payments.py @@ -15,7 +15,7 @@ class PaymentTest(TestCase): def setUp(self): # settings.DEBUG = True - + p1 = PaidPlan( shortname='free', name='Basic', @@ -64,7 +64,7 @@ class PaymentTest(TestCase): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -79,7 +79,7 @@ class PaymentTest(TestCase): u.save() login = self.c.login(username=u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/billing/' response = self.c.get(url) @@ -93,7 +93,7 @@ class PaymentTest(TestCase): for code, name in list(countries): if name.lower() == country.lower(): countrycode = code - + form_data = { 'street_address':faker.street_address(), 'city':faker.city(), @@ -112,7 +112,7 @@ class PaymentTest(TestCase): self.assertEqual(response.status_code,200) expected_url = '/rowers/checkout/'+str(plan.id)+'/' - + self.assertRedirects(response, expected_url = expected_url, status_code=302,target_status_code=200) @@ -122,7 +122,7 @@ class PaymentTest(TestCase): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -139,10 +139,10 @@ class PaymentTest(TestCase): r.save() u.set_password(self.password) u.save() - + login = self.c.login(username=u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/upgrade/' response = self.c.get(url) @@ -156,7 +156,7 @@ class PaymentTest(TestCase): for code, name in list(countries): if name.lower() == country.lower(): countrycode = code - + form_data = { 'street_address':faker.street_address(), 'city':faker.city(), @@ -175,7 +175,7 @@ class PaymentTest(TestCase): self.assertEqual(response.status_code,200) expected_url = '/rowers/upgradecheckout/'+str(plan.id)+'/' - + self.assertRedirects(response, expected_url = expected_url, status_code=302,target_status_code=200) @@ -185,7 +185,7 @@ class PaymentTest(TestCase): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -208,10 +208,10 @@ class PaymentTest(TestCase): r.save() u.set_password(self.password) u.save() - + login = self.c.login(username=u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/downgrade/' response = self.c.get(url) @@ -222,7 +222,7 @@ class PaymentTest(TestCase): for code, name in list(countries): if name.lower() == country.lower(): countrycode = code - + form_data = { 'street_address':faker.street_address(), 'city':faker.city(), @@ -241,7 +241,7 @@ class PaymentTest(TestCase): self.assertEqual(response.status_code,200) expected_url = '/rowers/downgradecheckout/'+str(plans[0].id)+'/' - + self.assertRedirects(response, expected_url = expected_url, status_code=302,target_status_code=200) @@ -251,7 +251,7 @@ class PaymentTest(TestCase): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -274,22 +274,22 @@ class PaymentTest(TestCase): r.paidplan = plan r.save() - + login = self.c.login(username=u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/me/cancelsubscriptions/' response = self.c.get(url) self.assertEqual(response.status_code,200) - + @patch('rowers.views.braintreestuff.gateway',side_effect=MockBraintreeGateway) def test_planstobasic_view(self,mocked_gateway): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -312,10 +312,10 @@ class PaymentTest(TestCase): r.paidplan = plan r.save() - + login = self.c.login(username=u.username, password=self.password) self.assertTrue(login) - + url = '/rowers/me/cancelsubscription/34/' response = self.c.get(url,follow=True) @@ -329,7 +329,7 @@ class PaymentTest(TestCase): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -344,13 +344,13 @@ class PaymentTest(TestCase): r.save() result = mocktest(r) self.assertEqual(result,'121') - + @patch('rowers.views.braintreestuff.create_subscription', side_effect=mock_create_subscription) def test_checkouts_view(self,mock_subscription): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -396,7 +396,7 @@ class PaymentTest(TestCase): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -435,13 +435,13 @@ class PaymentTest(TestCase): self.assertRedirects(response, expected_url = '/rowers/paymentcompleted/?amount=20.00', status_code=302,target_status_code=200) - + @patch('rowers.views.braintreestuff.update_subscription', side_effect=mock_update_subscription) def test_downgrade_checkouts_view(self,mock_subscription): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -480,13 +480,13 @@ class PaymentTest(TestCase): self.assertRedirects(response, expected_url = '/rowers/downgradecompleted/', status_code=302,target_status_code=200) - + @patch('rowers.views.braintreestuff.create_subscription', side_effect=mock_create_subscription) def test_checkouts_view(self,mock_subscription): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -536,7 +536,7 @@ class PaymentTest(TestCase): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -575,13 +575,13 @@ class PaymentTest(TestCase): self.assertRedirects(response, expected_url = '/rowers/paymentcompleted/?amount=20.00', status_code=302,target_status_code=200) - + @patch('rowers.views.braintreestuff.update_subscription', side_effect=mock_update_subscription) def test_downgrade_checkouts_view(self,mock_subscription): u = UserFactory() r = Rower.objects.create(user=u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', paymentprocessor='braintree', @@ -620,4 +620,3 @@ class PaymentTest(TestCase): self.assertRedirects(response, expected_url = '/rowers/downgradecompleted/', status_code=302,target_status_code=200) - diff --git a/rowers/tests/test_permissions.py b/rowers/tests/test_permissions.py index a82002a7..2213a7b8 100644 --- a/rowers/tests/test_permissions.py +++ b/rowers/tests/test_permissions.py @@ -23,7 +23,7 @@ class PermissionsFreeCoach(TestCase): self.ufreecoach = UserFactory(username='coachuser') self.rfreecoach = Rower.objects.create(user=self.ufreecoach, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='freecoach',clubsize=100) self.coachinggroup = CoachingGroup.objects.create() @@ -33,11 +33,11 @@ class PermissionsFreeCoach(TestCase): self.password = faker.word() self.ufreecoach.set_password(self.password) self.ufreecoach.save() - + self.uplan = UserFactory(username='planuser') self.rplan = Rower.objects.create(user=self.uplan, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='plan') self.uplan_workouts = WorkoutFactory.create_batch(5, user=self.rplan) @@ -45,11 +45,11 @@ class PermissionsFreeCoach(TestCase): self.password = faker.word() self.uplan.set_password(self.password) self.uplan.save() - + self.upro = UserFactory(username='prouser') self.rpro = Rower.objects.create(user=self.upro, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='pro') self.upro_workouts = WorkoutFactory.create_batch(5, user=self.rpro) @@ -61,7 +61,7 @@ class PermissionsFreeCoach(TestCase): self.uplan2 = UserFactory(username='planuser2') self.rplan2 = Rower.objects.create(user=self.uplan2, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='plan') self.uplan2_workouts = WorkoutFactory.create_batch(5, user=self.rplan2) @@ -69,11 +69,11 @@ class PermissionsFreeCoach(TestCase): self.password = faker.word() self.uplan2.set_password(self.password) self.uplan2.save() - + self.upro2 = UserFactory(username='prouser2') self.rpro2 = Rower.objects.create(user=self.upro2, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='pro') self.upro2_workouts = WorkoutFactory.create_batch(5, user=self.rpro2) @@ -85,7 +85,7 @@ class PermissionsFreeCoach(TestCase): self.ubasic = UserFactory(username='basicuser') self.rbasic = Rower.objects.create(user=self.ubasic, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='basic') self.ubasic_workouts = WorkoutFactory.create_batch(5, user=self.rbasic) @@ -93,9 +93,9 @@ class PermissionsFreeCoach(TestCase): self.ubasicpassword = faker.word() self.ubasic.set_password(self.ubasicpassword) self.ubasic.save() - - - + + + ## TeamFreeCoach self.teamfreecoach = Team.objects.create( @@ -120,8 +120,8 @@ class PermissionsFreeCoach(TestCase): ) self.assertEqual(team2.manager,self.ufreecoach) - - + + team3 = Team.objects.create( name = 'ThirdTeam', notes = faker.text(), @@ -129,9 +129,9 @@ class PermissionsFreeCoach(TestCase): ) self.assertEqual(team3.manager,self.ufreecoach) - - - + + + ## Free coach can create more than one group def test_plan_groupmanager(self): team1 = Team.objects.create( @@ -147,11 +147,11 @@ class PermissionsFreeCoach(TestCase): notes = faker.text(), manager = self.ufreecoach, ) - - self.assertEqual(team2.manager,self.ufreecoach) - - + self.assertEqual(team2.manager,self.ufreecoach) + + + ## Free Coach can create planned sessions and team planned sessions ## Self Coach and higher can create planned sessions and team planned sessions def test_plan_create_session(self): @@ -161,7 +161,7 @@ class PermissionsFreeCoach(TestCase): comment=faker.text() ) self.assertEqual(ps.manager,self.ufreecoach) - + def test_coach_create_session(self): ps = PlannedSession.objects.create( manager=self.ufreecoach, @@ -169,8 +169,8 @@ class PermissionsFreeCoach(TestCase): comment=faker.text() ) self.assertEqual(ps.manager,self.ufreecoach) - - + + ## Basic cannot join groups led by Free Coach def test_add_basic_pro_or_plan(self): with transaction.atomic(): @@ -191,7 +191,7 @@ class PermissionsFreeCoach(TestCase): distance=result['totaldist'], workouttype = 'rower', ) - + @override_settings(TESTING=True) class PermissionsBasicsTests(TestCase): def setUp(self): @@ -201,7 +201,7 @@ class PermissionsBasicsTests(TestCase): self.ucoach = UserFactory(username='coachuser') self.rcoach = Rower.objects.create(user=self.ucoach, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='coach',clubsize=10) self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach) @@ -212,11 +212,11 @@ class PermissionsBasicsTests(TestCase): self.password = faker.word() self.ucoach.set_password(self.password) self.ucoach.save() - + self.uplan = UserFactory(username='planuser') self.rplan = Rower.objects.create(user=self.uplan, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='plan') self.uplan_workouts = WorkoutFactory.create_batch(5, user=self.rplan) @@ -224,11 +224,11 @@ class PermissionsBasicsTests(TestCase): self.password = faker.word() self.uplan.set_password(self.password) self.uplan.save() - + self.upro = UserFactory(username='prouser') self.rpro = Rower.objects.create(user=self.upro, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='pro') self.upro_workouts = WorkoutFactory.create_batch(5, user=self.rpro) @@ -240,7 +240,7 @@ class PermissionsBasicsTests(TestCase): self.uplan2 = UserFactory(username='planuser2') self.rplan2 = Rower.objects.create(user=self.uplan2, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='plan') self.uplan2_workouts = WorkoutFactory.create_batch(5, user=self.rplan2) @@ -248,11 +248,11 @@ class PermissionsBasicsTests(TestCase): self.password = faker.word() self.uplan2.set_password(self.password) self.uplan2.save() - + self.upro2 = UserFactory(username='prouser2') self.rpro2 = Rower.objects.create(user=self.upro2, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='pro') self.upro2_workouts = WorkoutFactory.create_batch(5, user=self.rpro2) @@ -264,7 +264,7 @@ class PermissionsBasicsTests(TestCase): self.ubasic = UserFactory(username='basicuser') self.rbasic = Rower.objects.create(user=self.ubasic, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='basic') self.ubasic_workouts = WorkoutFactory.create_batch(5, user=self.rbasic) @@ -272,9 +272,9 @@ class PermissionsBasicsTests(TestCase): self.ubasicpassword = faker.word() self.ubasic.set_password(self.ubasicpassword) self.ubasic.save() - - - + + + ## TeamPro, TeamCoach, TeamSelfCoach self.teampro = Team.objects.create( @@ -293,9 +293,9 @@ class PermissionsBasicsTests(TestCase): manager=self.ucoach) # Requirements - + ## Low level - + ## Coach can have any number of groups def test_coach_groupmanager(self): team1 = Team.objects.create( @@ -313,8 +313,8 @@ class PermissionsBasicsTests(TestCase): ) self.assertEqual(team2.manager,self.ucoach) - - + + team3 = Team.objects.create( name = 'ThirdTeam', notes = faker.text(), @@ -322,15 +322,15 @@ class PermissionsBasicsTests(TestCase): ) self.assertEqual(team3.manager,self.ucoach) - - - + + + ## Basic athletes can be member of Coach led group def test_add_coach(self): self.rbasic.team.add(self.teamcoach) self.assertIn(self.teamcoach,self.rbasic.team.all()) - - + + ## Self coach can create one group ## Self coach cannot create more than one group def test_plan_groupmanager(self): @@ -348,9 +348,9 @@ class PermissionsBasicsTests(TestCase): notes = faker.text(), manager = self.uplan, ) - - - + + + ## Pro users (and higher) can join group led by other Pro (or higher) user def test_add_proplan_pro_or_plan(self): self.rpro.team.add(self.teamplan) @@ -371,9 +371,9 @@ class PermissionsBasicsTests(TestCase): self.rcoach.team.add(self.teampro) self.assertIn(self.teampro,self.rcoach.team.all()) - - - + + + ## Coach can create planned sessions and team planned sessions ## Self Coach and higher can create planned sessions and team planned sessions def test_plan_create_session(self): @@ -383,7 +383,7 @@ class PermissionsBasicsTests(TestCase): comment=faker.text() ) self.assertEqual(ps.manager,self.uplan) - + def test_coach_create_session(self): ps = PlannedSession.objects.create( manager=self.ucoach, @@ -391,7 +391,7 @@ class PermissionsBasicsTests(TestCase): comment=faker.text() ) self.assertEqual(ps.manager,self.ucoach) - + ## Pro can have one group ## Pro cannot create more than one group def test_pro_groupmanager(self): @@ -409,8 +409,8 @@ class PermissionsBasicsTests(TestCase): notes = faker.text(), manager = self.upro, ) - - + + ## Pro or Basic cannot create planned sessions or team planned sessions def test_pro_create_plannedsession(self): with self.assertRaises(ValidationError): @@ -419,7 +419,7 @@ class PermissionsBasicsTests(TestCase): name = faker.word(), comment = faker.text() ) - + def test_basic_create_plannedsession(self): with self.assertRaises(ValidationError): ps = PlannedSession.objects.create( @@ -427,7 +427,7 @@ class PermissionsBasicsTests(TestCase): name = faker.word(), comment = faker.text() ) - + ## Basic cannot join groups led by Pro or Self Coach def test_add_basic_pro_or_plan(self): with transaction.atomic(): @@ -437,7 +437,7 @@ class PermissionsBasicsTests(TestCase): with transaction.atomic(): with self.assertRaises(ValidationError): self.rbasic.team.add(self.teampro) - + ## Basic cannot manage a group def test_basic_groupmanager(self): @@ -461,7 +461,7 @@ class PermissionsViewTests(TestCase): self.ucoach = UserFactory(username='coachuser') self.rcoach = Rower.objects.create(user=self.ucoach, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='coach',clubsize=10) self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach) @@ -472,11 +472,11 @@ class PermissionsViewTests(TestCase): self.ucoachpassword = faker.word() self.ucoach.set_password(self.ucoachpassword) self.ucoach.save() - + self.uplan = UserFactory(username='planuser') self.rplan = Rower.objects.create(user=self.uplan, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='plan') self.uplan_workouts = WorkoutFactory.create_batch(5, user=self.rplan) @@ -484,11 +484,11 @@ class PermissionsViewTests(TestCase): self.uplanpassword = faker.word() self.uplan.set_password(self.uplanpassword) self.uplan.save() - + self.upro = UserFactory(username='prouser') self.rpro = Rower.objects.create(user=self.upro, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='pro') self.upro_workouts = WorkoutFactory.create_batch(5, user=self.rpro) @@ -500,7 +500,7 @@ class PermissionsViewTests(TestCase): self.uplan2 = UserFactory(username='planuser2') self.rplan2 = Rower.objects.create(user=self.uplan2, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='plan') self.uplan2_workouts = WorkoutFactory.create_batch(5, user=self.rplan2) @@ -508,11 +508,11 @@ class PermissionsViewTests(TestCase): self.uplan2password = faker.word() self.uplan2.set_password(self.uplan2password) self.uplan2.save() - + self.upro2 = UserFactory(username='prouser2') self.rpro2 = Rower.objects.create(user=self.upro2, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='pro') self.upro2_workouts = WorkoutFactory.create_batch(5, user=self.rpro2) @@ -524,7 +524,7 @@ class PermissionsViewTests(TestCase): self.ubasic = UserFactory(username='basicuser') self.rbasic = Rower.objects.create(user=self.ubasic, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='basic') self.ubasic_workouts = WorkoutFactory.create_batch(5, user=self.rbasic) @@ -532,9 +532,9 @@ class PermissionsViewTests(TestCase): self.ubasicpassword = faker.word() self.ubasic.set_password(self.ubasicpassword) self.ubasic.save() - - - + + + ## TeamPro, TeamCoach, TeamSelfCoach self.teampro = Team.objects.create( @@ -557,7 +557,7 @@ class PermissionsViewTests(TestCase): def test_coach_groups_create(self): login = self.c.login(username=self.ucoach.username, password=self.ucoachpassword) self.assertTrue(login) - + url = reverse('team_create_view') response = self.c.get(url) @@ -574,7 +574,7 @@ class PermissionsViewTests(TestCase): form = TeamForm(form_data) if not form.is_valid(): print(form.errors) - + self.assertTrue(form.is_valid()) expected_url = reverse('rower_teams_view') @@ -596,7 +596,7 @@ class PermissionsViewTests(TestCase): form = TeamForm(form_data) if not form.is_valid(): print(form.errors) - + self.assertTrue(form.is_valid()) expected_url = reverse('rower_teams_view') @@ -605,7 +605,7 @@ class PermissionsViewTests(TestCase): self.assertRedirects(response, expected_url=expected_url, status_code=302,target_status_code=200) - + ## Basic athletes can be member of Coach led group ## Coach can create planned sessions and team planned sessions @@ -682,7 +682,7 @@ class PermissionsViewTests(TestCase): 'theuser':self.ubasic.id, } ) - + response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -700,7 +700,7 @@ class PermissionsViewTests(TestCase): 'theuser':self.ubasic.id, } ) - + response = self.c.get(url) self.assertEqual(response.status_code,403) @@ -747,11 +747,11 @@ class PermissionsViewTests(TestCase): self.assertRedirects(response, 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') @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) @@ -791,11 +791,11 @@ class PermissionsViewTests(TestCase): self.assertRedirects(response, expected_url = url, status_code=302,target_status_code=200) - + aantal2 = len(Workout.objects.filter(user=self.rbasic)) self.assertEqual(aantal2,aantal) - + ## Coach can edit athlete's workout def test_coach_edit_athlete_workout(self): self.rbasic.team.add(self.teamcoach) @@ -809,13 +809,13 @@ class PermissionsViewTests(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,403) - + ## Self coach can create one group ## Self coach cannot create more than one group def test_plan_groups_create(self): login = self.c.login(username=self.uplan.username, password=self.uplanpassword) self.assertTrue(login) - + url = reverse('team_create_view') response = self.c.get(url) @@ -832,7 +832,7 @@ class PermissionsViewTests(TestCase): form = TeamForm(form_data) if not form.is_valid(): print(form.errors) - + self.assertTrue(form.is_valid()) expected_url = reverse('rower_teams_view') @@ -854,7 +854,7 @@ class PermissionsViewTests(TestCase): form = TeamForm(form_data) if not form.is_valid(): print(form.errors) - + self.assertTrue(form.is_valid()) expected_url = reverse('paidplans') @@ -927,7 +927,7 @@ class PermissionsViewTests(TestCase): 'theuser':self.ubasic.id, } ) - + response = self.c.get(url) self.assertEqual(response.status_code,403) @@ -952,7 +952,7 @@ class PermissionsViewTests(TestCase): def test_pro_groups_create(self): login = self.c.login(username=self.upro.username, password=self.upropassword) self.assertTrue(login) - + url = reverse('team_create_view') response = self.c.get(url) @@ -969,7 +969,7 @@ class PermissionsViewTests(TestCase): form = TeamForm(form_data) if not form.is_valid(): print(form.errors) - + self.assertTrue(form.is_valid()) expected_url = reverse('rower_teams_view') @@ -991,7 +991,7 @@ class PermissionsViewTests(TestCase): form = TeamForm(form_data) if not form.is_valid(): print(form.errors) - + self.assertTrue(form.is_valid()) expected_url = reverse('paidplans') @@ -1049,7 +1049,7 @@ class PermissionsViewTests(TestCase): 'theuser':self.ubasic.id, } ) - + response = self.c.get(url) self.assertEqual(response.status_code,403) @@ -1095,7 +1095,7 @@ class PermissionsViewTests(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + ## Self Coach users can see team members' workout, but not edit def test_plan_edit_athlete_workout(self): @@ -1117,7 +1117,7 @@ class PermissionsViewTests(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + ## Basic users can see team members' workout, but not edit def test_basic_edit_athlete_workout(self): @@ -1148,7 +1148,7 @@ class PermissionsViewTests(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + # workflow url = reverse('workout_workflow_view', kwargs={'id':encoder.encode_hex(self.uplan2_workouts[0].id)} @@ -1165,7 +1165,7 @@ class PermissionsViewTests(TestCase): response = self.c.get(url) self.assertEqual(response.status_code,200) - + ## Pro users (and higher) can join group led by other Pro (or higher) user def test_team_member_request_pro_pro(self): login = self.c.login(username=self.upro.username,password=self.upropassword) @@ -1215,7 +1215,7 @@ class PermissionsCoachingTests(TestCase): self.ucoach = UserFactory(username='coachuser') self.rcoach = Rower.objects.create(user=self.ucoach, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='coach',clubsize=10) self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach) @@ -1226,11 +1226,11 @@ class PermissionsCoachingTests(TestCase): self.ucoachpassword = faker.word() self.ucoach.set_password(self.ucoachpassword) self.ucoach.save() - + self.uplan = UserFactory(username='planuser') self.rplan = Rower.objects.create(user=self.uplan, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='plan') self.uplan_workouts = WorkoutFactory.create_batch(5, user=self.rplan) @@ -1238,11 +1238,11 @@ class PermissionsCoachingTests(TestCase): self.password = faker.word() self.uplan.set_password(self.password) self.uplan.save() - + self.upro = UserFactory(username='prouser') self.rpro = Rower.objects.create(user=self.upro, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='pro') self.upro_workouts = WorkoutFactory.create_batch(5, user=self.rpro) @@ -1254,7 +1254,7 @@ class PermissionsCoachingTests(TestCase): self.uplan2 = UserFactory(username='planuser2') self.rplan2 = Rower.objects.create(user=self.uplan2, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='plan') self.uplan2_workouts = WorkoutFactory.create_batch(5, user=self.rplan2) @@ -1262,11 +1262,11 @@ class PermissionsCoachingTests(TestCase): self.password = faker.word() self.uplan2.set_password(self.password) self.uplan2.save() - + self.upro2 = UserFactory(username='prouser2') self.rpro2 = Rower.objects.create(user=self.upro2, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='pro') self.upro2_workouts = WorkoutFactory.create_batch(5, user=self.rpro2) @@ -1278,7 +1278,7 @@ class PermissionsCoachingTests(TestCase): self.ubasic = UserFactory(username='basicuser') self.rbasic = Rower.objects.create(user=self.ubasic, birthdate=faker.profile()['birthdate'], - gdproptin=True,gdproptindate=timezone.now(), + gdproptin=True,surveydone=True,gdproptindate=timezone.now(), rowerplan='basic') self.ubasic_workouts = WorkoutFactory.create_batch(5, user=self.rbasic) @@ -1286,9 +1286,9 @@ class PermissionsCoachingTests(TestCase): self.ubasicpassword = faker.word() self.ubasic.set_password(self.ubasicpassword) self.ubasic.save() - - - + + + ## TeamPro, TeamCoach, TeamSelfCoach self.teampro = Team.objects.create( @@ -1360,7 +1360,7 @@ class PermissionsCoachingTests(TestCase): coachingrequests = CoachOffer.objects.filter(user=self.ubasic) self.assertEqual(len(coachingrequests),0) - + def test_athlete_request_coach_reject(self): login = self.c.login(username=self.ubasic.username,password=self.ubasicpassword) self.assertTrue(login) @@ -1421,7 +1421,7 @@ class PermissionsCoachingTests(TestCase): coachingrequests = CoachOffer.objects.filter(user=self.ubasic) self.assertEqual(len(coachingrequests),0) - + def test_athlete_request_coach_accept_coach_drop(self): login = self.c.login(username=self.ubasic.username,password=self.ubasicpassword) self.assertTrue(login) @@ -1512,7 +1512,7 @@ class PermissionsCoachingTests(TestCase): coaches = teams.rower_get_coaches(self.rbasic) self.assertEqual(len(coaches),0) - + def test_coach_offer_athlete_accept_coach_drop(self): login = self.c.login(username=self.ucoach.username,password=self.ucoachpassword) self.assertTrue(login) @@ -1558,7 +1558,7 @@ class PermissionsCoachingTests(TestCase): coaches = teams.rower_get_coaches(self.rbasic) self.assertEqual(len(coaches),0) - + def test_athlete_request_coach_accept_athlete_drop(self): login = self.c.login(username=self.ubasic.username,password=self.ubasicpassword) @@ -1611,7 +1611,7 @@ class PermissionsCoachingTests(TestCase): coaches = teams.rower_get_coaches(self.rbasic) self.assertEqual(len(coaches),0) - + # coach related ## coach disappears from list when downgrading diff --git a/rowers/tests/test_plans.py b/rowers/tests/test_plans.py index d69a3dc9..613478da 100644 --- a/rowers/tests/test_plans.py +++ b/rowers/tests/test_plans.py @@ -17,7 +17,7 @@ class TrainingPlanTest(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -175,7 +175,7 @@ class SessionLinkTest(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -348,7 +348,7 @@ class SessionCompleteTest(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -603,7 +603,7 @@ class ChallengeCompleteTest(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -827,7 +827,7 @@ class MandatoryTestCompleteTest(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -1040,7 +1040,7 @@ class PlannedSessionsView(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') self.r.save() @@ -1049,7 +1049,7 @@ class PlannedSessionsView(TestCase): self.u2 = UserFactory(username='testbasicuser') self.r2 = Rower.objects.create(user=self.u2, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='basic') diff --git a/rowers/tests/test_rowerplans.py b/rowers/tests/test_rowerplans.py index 6aeea434..d87f1a56 100644 --- a/rowers/tests/test_rowerplans.py +++ b/rowers/tests/test_rowerplans.py @@ -11,10 +11,10 @@ from rowers.views import hasplannedsessions,iscoachmember,ispromember class TrialsTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='basic') @@ -46,7 +46,7 @@ class TrialsTest(TestCase): self.r.plantrialexpires = (nu+datetime.timedelta(days=10)).date() self.r.save() - + self.assertEqual(hasplannedsessions(self.u),True) self.assertEqual(iscoachmember(self.u),False) self.assertEqual(ispromember(self.u),True) @@ -60,10 +60,7 @@ class TrialsTest(TestCase): self.r.plantrialexpires = (nu+datetime.timedelta(days=10)).date() self.r.save() - + self.assertEqual(hasplannedsessions(self.u),True) self.assertEqual(iscoachmember(self.u),False) self.assertEqual(ispromember(self.u),True) - - - diff --git a/rowers/tests/test_settings.py b/rowers/tests/test_settings.py index 3dbe555b..b9a44653 100644 --- a/rowers/tests/test_settings.py +++ b/rowers/tests/test_settings.py @@ -7,14 +7,14 @@ from __future__ import unicode_literals from .statements import * -#@pytest.mark.django_db +#@pytest.mark.django_db class DataTest(TestCase): def setUp(self): redis_connection.publish('tasks','KILL') u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - r = Rower.objects.create(user=u,gdproptin=True, + r = Rower.objects.create(user=u,gdproptin=True,surveydone=True, gdproptindate=timezone.now() ) self.nu = datetime.datetime.now() diff --git a/rowers/tests/test_simplefunctions.py b/rowers/tests/test_simplefunctions.py index fcc8743d..904fb01f 100644 --- a/rowers/tests/test_simplefunctions.py +++ b/rowers/tests/test_simplefunctions.py @@ -36,7 +36,7 @@ class SimpleViewTest(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') diff --git a/rowers/tests/test_staticcharts.py b/rowers/tests/test_staticcharts.py index db0b4235..cd7bc7ed 100644 --- a/rowers/tests/test_staticcharts.py +++ b/rowers/tests/test_staticcharts.py @@ -9,7 +9,7 @@ nu = datetime.datetime.now() -#@pytest.mark.django_db +#@pytest.mark.django_db @override_settings(TESTING=True) class PlotTests(TestCase): def setUp(self): @@ -18,7 +18,7 @@ class PlotTests(TestCase): 'sander@ds.ds', 'koeinsloot') r = Rower.objects.create(user=u, - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='basic') self.nu = datetime.datetime.now() @@ -29,14 +29,14 @@ class PlotTests(TestCase): starttime=self.nu.strftime('%H:%M:%S'), duration="0:55:00",distance=8000, csvfilename=filename) - + self.wote = Workout.objects.create(name='testworkout', workouttype='Indoor Rower', user=r,date=self.nu.strftime('%Y-%m-%d'), starttime=self.nu.strftime('%H:%M:%S'), duration="0:55:00",distance=8000, csvfilename=filename) - + # timestr = strftime("%Y%m%d-%H%M%S") # imagename = f1+timestr+'.png' # fullpathimagename = 'static/plots/'+imagename @@ -45,7 +45,7 @@ class PlotTests(TestCase): r.pw_at, r.pw_tr,r.pw_an])/r.ftp - + self.hrdata = { 'hrmax':r.max, 'hrut2':r.ut2, @@ -64,7 +64,7 @@ class PlotTests(TestCase): @patch('rowers.tasks.FigureCanvas') def test_ote_plots(self, mocked_rowingdata, mocked_canvas): w = self.wote - f1 = 'testdata.csv'[:-4] + f1 = 'testdata.csv'[:-4] timestr = strftime("%Y%m%d-%H%M%S") imagename = f1+timestr+'.png' fullpathimagename = 'static/plots/'+imagename @@ -72,7 +72,7 @@ class PlotTests(TestCase): plotnr = 1 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -85,7 +85,7 @@ class PlotTests(TestCase): plotnr = 1 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -98,7 +98,7 @@ class PlotTests(TestCase): plotnr = 2 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -111,7 +111,7 @@ class PlotTests(TestCase): plotnr = 3 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -124,7 +124,7 @@ class PlotTests(TestCase): plotnr = 4 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -137,7 +137,7 @@ class PlotTests(TestCase): plotnr = 5 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -150,7 +150,7 @@ class PlotTests(TestCase): plotnr = 6 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -163,7 +163,7 @@ class PlotTests(TestCase): plotnr = 7 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -176,7 +176,7 @@ class PlotTests(TestCase): plotnr = 8 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -189,7 +189,7 @@ class PlotTests(TestCase): plotnr = 13 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -203,7 +203,7 @@ class PlotTests(TestCase): @patch('rowers.tasks.FigureCanvas') def test_chartrequests(self, mocked_rowingdata, mocked_canvas): opid = encoder.encode_hex(self.wotw.id) - + url = reverse('workout_add_chart_view', kwargs={'id':opid, 'plotnr':13 @@ -212,7 +212,7 @@ class PlotTests(TestCase): workout_edit_url = reverse('workout_edit_view', kwargs={'id':opid}) - + login = self.c.login(username='john', password='koeinsloot') self.assertTrue(login) @@ -246,12 +246,12 @@ class PlotTests(TestCase): self.assertEqual(len(i),0) - + @patch('rowers.tasks.rdata') @patch('rowers.tasks.FigureCanvas') def test_otw_plots(self, mocked_rowingdata, mocked_canvas): w = self.wotw - f1 = 'testdata.csv'[:-4] + f1 = 'testdata.csv'[:-4] timestr = strftime("%Y%m%d-%H%M%S") imagename = f1+timestr+'.png' fullpathimagename = 'static/plots/'+imagename @@ -259,7 +259,7 @@ class PlotTests(TestCase): plotnr = 1 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -272,7 +272,7 @@ class PlotTests(TestCase): plotnr = 1 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -285,7 +285,7 @@ class PlotTests(TestCase): plotnr = 2 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -298,7 +298,7 @@ class PlotTests(TestCase): plotnr = 3 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -311,7 +311,7 @@ class PlotTests(TestCase): plotnr = 4 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -324,7 +324,7 @@ class PlotTests(TestCase): plotnr = 5 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -337,7 +337,7 @@ class PlotTests(TestCase): plotnr = 6 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -350,7 +350,7 @@ class PlotTests(TestCase): plotnr = 7 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -363,7 +363,7 @@ class PlotTests(TestCase): plotnr = 8 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -376,7 +376,7 @@ class PlotTests(TestCase): plotnr = 9 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, @@ -389,7 +389,7 @@ class PlotTests(TestCase): plotnr = 13 if (w.workouttype=='water'): plotnr = plotnr+3 - + res = handle_makeplot(f1,w.csvfilename, w.name,self.hrdata,plotnr,imagename) i = GraphImage(workout=w,creationdatetime=self.nu, diff --git a/rowers/tests/test_team.py b/rowers/tests/test_team.py index 99119a2c..05d16b5a 100644 --- a/rowers/tests/test_team.py +++ b/rowers/tests/test_team.py @@ -38,10 +38,10 @@ class TeamTest(TestCase): for i in range(6): u = UserFactory(username=usernames[i]) self.users.append(u) - + r = Rower.objects.create( birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', user=u, @@ -53,7 +53,7 @@ class TeamTest(TestCase): u.set_password(password) u.save() self.user_passwords.append(password) - + workouts = WorkoutFactory.create_batch(5, user=r) for w in workouts: @@ -64,7 +64,7 @@ class TeamTest(TestCase): self.u = self.users[0] self.password = self.user_passwords[0] - + self.t = TeamFactory(manager=self.u) # need to set up some requests for testing (they are not good below) @@ -105,7 +105,7 @@ class TeamTest(TestCase): self.assertRedirects(response, expected_url='/rowers/me/teams/'.format(t=self.t.id), status_code=302,target_status_code=200) - + def test_teamview(self): login = self.c.login(username=self.u.username, password = self.password) self.assertTrue(login) @@ -113,9 +113,9 @@ class TeamTest(TestCase): url = '/rowers/team/{t}/'.format(t=self.t.id) response = self.c.get(url) self.assertEqual(response.status_code, 200) - + def test_teamview_member(self): - + id,comment = add_member(self.t.id,self.users[1].rower) self.assertEqual(id,self.t.id) @@ -132,7 +132,7 @@ class TeamTest(TestCase): login = self.c.login(username=self.users[2].username, password = self.user_passwords[2]) self.assertTrue(login) - + response = self.c.get(url,follow=True) self.assertEqual(response.status_code,200) @@ -147,11 +147,11 @@ class TeamTest(TestCase): print(u) print(response.status_code) self.assertIn(response.status_code,[200,302]) - + login = self.c.login(username=self.users[1].username, password = self.user_passwords[1]) self.assertTrue(login) - + response = self.c.get(url,follow=True) self.assertEqual(response.status_code,200) @@ -166,14 +166,14 @@ class TeamTest(TestCase): print(u) print(response.status_code) self.assertIn(response.status_code,[200,302]) - + def test_teamsview_manager(self): url = '/rowers/me/teams/' login = self.c.login(username=self.u,password=self.password) self.assertTrue(login) - + response = self.c.get(url,follow=True) self.assertEqual(response.status_code,200) @@ -190,14 +190,14 @@ class TeamTest(TestCase): self.assertIn(response.status_code,[200,302]) def test_teamview_member_request(self): - + login = self.c.login(username=self.users[3].username, password = self.user_passwords[3]) self.assertTrue(login) url = '/rowers/team/{t}/requestmembership/{u}/'.format( t=self.t.id, u=self.users[3].id) - + response = self.c.get(url,follow=True) self.assertEqual(response.status_code, 200) @@ -226,8 +226,8 @@ class TeamTest(TestCase): self.assertRedirects(response, expected_url='/rowers/me/teams/', status_code=302,target_status_code=200) - - + + def test_team_invite_view(self): login = self.c.login(username=self.u.username, password = self.password) self.assertTrue(login) @@ -238,11 +238,11 @@ class TeamTest(TestCase): 'email': self.users[1].email, 'user': u'' } - + response = self.c.post(url, form_data) self.assertEqual(response.status_code, 200) - -@override_settings(TESTING=True) + +@override_settings(TESTING=True) class TeamTestLowLevel(TestCase): def setUp(self): redis_connection.publish('tasks','KILL') @@ -261,10 +261,10 @@ class TeamTestLowLevel(TestCase): for i in range(6): u = UserFactory(username=usernames[i]) self.users.append(u) - + r = Rower.objects.create( birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', user=u, @@ -276,7 +276,7 @@ class TeamTestLowLevel(TestCase): u.set_password(password) u.save() self.user_passwords.append(password) - + workouts = WorkoutFactory.create_batch(5, user=r) for w in workouts: @@ -287,7 +287,7 @@ class TeamTestLowLevel(TestCase): self.u = self.users[0] self.password = self.user_passwords[0] - + self.t = TeamFactory(manager=self.u) @@ -353,5 +353,3 @@ class TeamTestLowLevel(TestCase): # cannot create invite for team you don't manage id, comment = create_invite(self.t, self.users[3],self.users[4]) self.assertEqual(id,0) - - diff --git a/rowers/tests/test_units.py b/rowers/tests/test_units.py index 7546603a..95f76243 100644 --- a/rowers/tests/test_units.py +++ b/rowers/tests/test_units.py @@ -26,7 +26,7 @@ class ForceUnits(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') @@ -164,7 +164,7 @@ class TestForceUnit(TestCase): self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, + gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach') diff --git a/rowers/tests/test_uploads.py b/rowers/tests/test_uploads.py index aa2ea98c..22f9a4e5 100644 --- a/rowers/tests/test_uploads.py +++ b/rowers/tests/test_uploads.py @@ -9,7 +9,7 @@ nu = datetime.datetime.now() from rowers.views import add_defaultfavorites -#@pytest.mark.django_db +#@pytest.mark.django_db @override_settings(TESTING=True) class ViewTest(TestCase): def setUp(self): @@ -18,13 +18,13 @@ class ViewTest(TestCase): self.u = User.objects.create_user('john', 'sander@ds.ds', 'koeinsloot') - self.r = Rower.objects.create(user=self.u,gdproptin=True, + self.r = Rower.objects.create(user=self.u,gdproptin=True,surveydone=True, gdproptindate=timezone.now(), rowerplan='coach', ) add_defaultfavorites(self.r) - + self.nu = datetime.datetime.now() def test_upload_view_notloggedin(self): @@ -35,13 +35,13 @@ class ViewTest(TestCase): status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) - + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.getsmallrowdata_db',side_effect=mocked_getsmallrowdata_db) def test_upload_view_sled(self, mocked_sqlalchemy,mocked_getsmallrowdata_db): login = self.c.login(username='john',password='koeinsloot') self.assertTrue(login) - + filename = 'rowers/tests/testdata/testdata.csv' f = open(filename,'rb') file_data = {'file': f} @@ -70,7 +70,7 @@ class ViewTest(TestCase): response = self.c.get('/rowers/workout/'+encoded1+'/edit/', form_data, follow=True) self.assertEqual(response.status_code, 200) - + response = self.c.get('/rowers/workout/'+encoded1+'/histo/', form_data, follow=True) self.assertEqual(response.status_code, 200) @@ -108,7 +108,7 @@ class ViewTest(TestCase): self.assertTrue(form.is_valid()) response = self.c.post('/rowers/workout/'+encoded1+'/edit/', form_data, follow=True) self.assertEqual(response.status_code, 200) - + w = Workout.objects.get(id=1) f_to_be_deleted = w.csvfilename @@ -128,11 +128,11 @@ class ViewTest(TestCase): status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) - + @patch('rowers.dataprep.create_engine') def test_upload_view_sled_negativetime(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/tim.csv' f = open(filename,'rb') file_data = {'file': f} @@ -157,7 +157,7 @@ class ViewTest(TestCase): response = self.c.post('/rowers/workout/upload/', form_data, follow=True) - + self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/', status_code=302,target_status_code=200) @@ -165,9 +165,9 @@ class ViewTest(TestCase): response = self.c.get('/rowers/workout/'+encoded1+'/', form_data, follow=True) self.assertEqual(response.status_code, 200) - + f.close() - + w = Workout.objects.get(id=1) f_to_be_deleted = w.csvfilename try: @@ -175,12 +175,12 @@ class ViewTest(TestCase): except (FileNotFoundError,OSError): pass - - + + @patch('rowers.dataprep.create_engine') def test_upload_view_sled_noname(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/testdata.csv' f = open(filename,'rb') file_data = {'file': f} @@ -216,7 +216,7 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_logcard(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/logcard.csv' f = open(filename,'rb') file_data = {'file': f} @@ -245,12 +245,12 @@ class ViewTest(TestCase): - + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.TCXParser') def test_upload_view_TCX_CN(self, mocked_sqlalchemy, mocked_tcx_parser): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/crewnerddata.tcx' f = open(filename,'rb') file_data = {'file': f} @@ -300,7 +300,7 @@ class ViewTest(TestCase): def test_upload_view_TCX_SpeedCoach2a(self, mocked_sqlalchemy, mocked_tcx_parser): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/Speedcoach2example.csv' f = open(filename,'rb') file_data = {'file': f} @@ -337,7 +337,7 @@ class ViewTest(TestCase): def test_upload_view_TCX_SpeedCoach2b(self, mocked_sqlalchemy, mocked_tcx_parser): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/Speedcoach2example.csv' f = open(filename,'rb') file_data = {'file': f} @@ -371,12 +371,12 @@ class ViewTest(TestCase): - @patch('rowers.dataprep.create_engine') + @patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.TCXParser') def test_upload_view_TCX_SpeedCoach2c(self, mocked_sqlalchemy, mocked_tcx_parser): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/speedcoach3test3.csv' f = open(filename,'rb') file_data = {'file': f} @@ -412,7 +412,7 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_SpeedCoach2v127(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/SpeedCoach2Linkv1.27.csv' f = open(filename,'rb') file_data = {'file': f} @@ -449,7 +449,7 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_SpeedCoach2v127intervals(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/SpeedCoach2Link_interval.csv' f = open(filename,'rb') file_data = {'file': f} @@ -488,7 +488,7 @@ class ViewTest(TestCase): def test_upload_view_TCX_NoHR(self, mocked_sqlalchemy, mocked_tcx_parser): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/NoHR.tcx' f = open(filename,'rb') file_data = {'file': f} @@ -526,7 +526,7 @@ class ViewTest(TestCase): def test_upload_view_TCX_CN(self, mocked_sqlalchemy, mocked_tcx_parser): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/rowinginmotionexample.tcx' f = open(filename,'rb') file_data = {'file': f} @@ -559,7 +559,7 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_RP(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/RP_testdata.csv' f = open(filename,'rb') file_data = {'file': f} @@ -580,7 +580,7 @@ class ViewTest(TestCase): self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) - + w = Workout.objects.get(id=1) f_to_be_deleted = w.csvfilename try: @@ -592,7 +592,7 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_Mystery(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/mystery.csv' f = open(filename,'rb') file_data = {'file': f} @@ -613,7 +613,7 @@ class ViewTest(TestCase): self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) - + w = Workout.objects.get(id=1) f_to_be_deleted = w.csvfilename try: @@ -625,7 +625,7 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_RP_interval(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/RP_interval.csv' f = open(filename,'rb') file_data = {'file': f} @@ -646,7 +646,7 @@ class ViewTest(TestCase): self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) - + w = Workout.objects.get(id=1) f_to_be_deleted = w.csvfilename try: @@ -655,11 +655,11 @@ class ViewTest(TestCase): pass - + @patch('rowers.dataprep.create_engine') def test_upload_view_sled_desktop(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/painsled_desktop_example.csv' f = open(filename,'rb') file_data = {'file': f} @@ -680,7 +680,7 @@ class ViewTest(TestCase): self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) - + w = Workout.objects.get(id=1) f_to_be_deleted = w.csvfilename try: @@ -691,7 +691,7 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_sled_ergdata(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/ergdata_example.csv' f = open(filename,'rb') file_data = {'file': f} @@ -712,7 +712,7 @@ class ViewTest(TestCase): self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) - + w = Workout.objects.get(id=1) f_to_be_deleted = w.csvfilename try: @@ -723,7 +723,7 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_sled_boatcoach(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/boatcoach.csv' f = open(filename,'rb') file_data = {'file': f} @@ -744,7 +744,7 @@ class ViewTest(TestCase): self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) - + w = Workout.objects.get(id=1) f_to_be_deleted = w.csvfilename try: @@ -755,7 +755,7 @@ class ViewTest(TestCase): @patch('rowers.dataprep.create_engine') def test_upload_view_sled_ergstick(self, mocked_sqlalchemy): self.c.login(username='john',password='koeinsloot') - + filename = 'rowers/tests/testdata/ergstick.csv' f = open(filename,'rb') file_data = {'file': f} @@ -776,11 +776,10 @@ class ViewTest(TestCase): self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit/', status_code=302,target_status_code=200) self.assertEqual(response.status_code, 200) - + w = Workout.objects.get(id=1) f_to_be_deleted = w.csvfilename try: os.remove(f_to_be_deleted+'.gz') except (FileNotFoundError,OSError): pass - diff --git a/rowers/tests/test_user.py b/rowers/tests/test_user.py index 65dd006c..f5271bfb 100644 --- a/rowers/tests/test_user.py +++ b/rowers/tests/test_user.py @@ -18,13 +18,13 @@ class UserMiddleWareTest(TestCase): 'sander@ds.ds', 'koeinsloot') self.r = Rower.objects.create(user=u) - + self.c = Client() self.c.login(username='john',password='koeinsloot') self.nu = datetime.datetime.now() filename = 'rowers/tests/testdata/testdata.csv' - + rr = rrower(hrmax=self.r.max,hrut2=self.r.ut2, hrut1=self.r.ut1,hrat=self.r.at, hrtr=self.r.tr,hran=self.r.an,ftp=self.r.ftp) @@ -33,7 +33,7 @@ class UserMiddleWareTest(TestCase): totaltime = row.df['TimeStamp (sec)'].max()-row.df['TimeStamp (sec)'].min() totaltime = totaltime+row.df.loc[:,' ElapsedTime (sec)'].iloc[0] - + hours = int(totaltime/3600.) minutes = int((totaltime - 3600.*hours)/60.) seconds = int(totaltime - 3600.*hours - 60.*minutes) @@ -53,13 +53,13 @@ class UserMiddleWareTest(TestCase): duration=duration,distance=totaldist, csvfilename=filename ) - - + + def test_middleware(self): response = self.c.get('/rowers/list-workouts',follow=True) self.assertEqual(response.status_code,200) - - + + class UserTestsNoRower(TestCase): def setUp(self): u = User.objects.create_user('john', @@ -69,19 +69,19 @@ class UserTestsNoRower(TestCase): self.c = Client() self.c.login(username='john',password='koeinsloot') - + def test_user(self): response = self.c.get('/rowers/list-workouts',follow=True) self.assertEqual(response.status_code,200) - + class UserPreferencesTest(TestCase): def setUp(self): self.u = UserFactory() - + self.r = Rower.objects.create(user=self.u, birthdate=faker.profile()['birthdate'], - gdproptin=True, - gdproptindate=timezone.now(), + gdproptin=True,surveydone=Trueoptin=True, + gdproptin=True,surveydone=Trueoptindate=timezone.now(), rowerplan='coach') self.c = Client() @@ -123,14 +123,14 @@ class UserPreferencesTest(TestCase): userform = UserForm(form_data,instance=self.u) self.assertTrue(form.is_valid()) self.assertTrue(userform.is_valid()) - + response = self.c.post(url,form_data) self.assertEqual(response.status_code,200) response = self.c.get(url) self.assertEqual(response.status_code,200) - - + + def test_exportsettings(self): login = self.c.login(username=self.u.username,password=self.password) self.assertTrue(login) @@ -149,15 +149,15 @@ class UserPreferencesTest(TestCase): 'sporttracks_auto_export':False, 'strava_auto_export':False, 'strava_auto_import':False, - 'trainingpeaks_auto_export':False, + 'trainingpeaks_auto_export':False, } form = RowerExportForm(form_data) self.assertTrue(form.is_valid()) - + response = self.c.post(url,form_data) self.assertEqual(response.status_code,200) - + def test_zones_workflowsettings(self): login = self.c.login(username=self.u.username,password=self.password) @@ -174,7 +174,7 @@ class UserPreferencesTest(TestCase): u'middlepanel-7-panel':u'None', u'middlepanel-8-panel':u'None', u'middlepanel-INITIAL_FORMS':'8', - u'middlepanel-MAX_NUM_FORMS':u'1000', + u'middlepanel-MAX_NUM_FORMS':u'1000', u'middlepanel-MIN_NUM_FORMS':u'0', u'middlepanel-TOTAL_FORMS':u'8', } @@ -182,7 +182,7 @@ class UserPreferencesTest(TestCase): MiddlePanelFormSet = formset_factory(WorkFlowMiddlePanelElement,extra=1) middlepanel_formset = MiddlePanelFormSet(post_data,prefix='middlepanel') self.assertTrue(middlepanel_formset.is_valid()) - + url = '/rowers/me/workflowconfig2/' response = self.c.get(url) @@ -190,7 +190,7 @@ class UserPreferencesTest(TestCase): response = self.c.post(url,post_data) self.assertEqual(response.status_code,200) - + def test_zones_preferences(self): login = self.c.login(username=self.u.username,password=self.password) self.assertTrue(login) @@ -209,7 +209,7 @@ class UserPreferencesTest(TestCase): self.assertTrue(form.is_valid()) url = '/rowers/me/preferences/' - + response = self.c.get(url) self.assertEqual(response.status_code,200) @@ -228,7 +228,7 @@ class UserPreferencesTest(TestCase): response = self.c.post(url,form_data,follow=True) self.assertEqual(response.status_code,200) - + form_data = { 'pw_ut2':150, 'pw_ut1':160, @@ -245,5 +245,3 @@ class UserPreferencesTest(TestCase): response = self.c.post(url,form_data) self.assertEqual(response.status_code,200) - - diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py index 8814688e..c1120f33 100644 --- a/rowsandall_app/settings.py +++ b/rowsandall_app/settings.py @@ -97,8 +97,8 @@ MIDDLEWARE = [ 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'tz_detect.middleware.TimezoneMiddleware', - 'rowers.middleware.GDPRMiddleWare', 'rowers.middleware.SurveyMiddleWare', + 'rowers.middleware.GDPRMiddleWare', 'rowers.middleware.PowerTimeFitnessMetricMiddleWare', 'rowers.middleware.RowerPlanMiddleWare', ]