From 7a8271ca958ded50e79d8c08bafa8e9f6b01b024 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 5 Jan 2025 14:30:11 +0100 Subject: [PATCH] added a test --- rowers/templates/email.html | 19 ------ rowers/templates/frontpage.html | 6 -- rowers/tests/test_plans.py | 94 ++++++++++++++++++++++++-- rowers/tests/testdata/testdata.tcx.gz | Bin 3989 -> 3989 bytes rowers/views/planviews.py | 1 + templates/landing.html | 17 ----- templates/newbase.html | 19 ------ templates/newbasefront.html | 17 ----- 8 files changed, 91 insertions(+), 82 deletions(-) diff --git a/rowers/templates/email.html b/rowers/templates/email.html index 000d8013..c54bf0a5 100644 --- a/rowers/templates/email.html +++ b/rowers/templates/email.html @@ -34,26 +34,7 @@

-
  • -

    Facebook Group

    - -

    We run a facebook group where you can post questions and report problems, - especially if you think the wider user community benefits from the answers.

    - -
  • -
  • -

    Twitter

    - -

    You can also check me on Twitter: -

    - When the site is down, this is the appropriate channel to look for apologies, updates, and offer help. -

    -
  • Rowsandall s.r.o.

    diff --git a/rowers/templates/frontpage.html b/rowers/templates/frontpage.html index 52f3a7c9..7b10cdc4 100644 --- a/rowers/templates/frontpage.html +++ b/rowers/templates/frontpage.html @@ -110,12 +110,6 @@
  • -

    - -

    -

    Local Time: {% now "jS F Y H:i" %} diff --git a/rowers/tests/test_plans.py b/rowers/tests/test_plans.py index 66e55be8..382eafbe 100644 --- a/rowers/tests/test_plans.py +++ b/rowers/tests/test_plans.py @@ -23,6 +23,59 @@ from django.utils.crypto import get_random_string from django.http.response import Http404 +@override_settings(TESTING=True) +class PlanStepTest(TestCase): + def setUp(self): + self.u = UserFactory() + + self.r = Rower.objects.create(user=self.u, + birthdate=faker.profile()['birthdate'], + gdproptin=True, ftpset=True,surveydone=True, + gdproptindate=timezone.now(), + rowerplan='pro', eurocredits=100) + + self.c = Client() + self.user_workouts = WorkoutFactory.create_batch(5, user=self.r) + self.factory = RequestFactory() + self.password = faker.word() + self.u.set_password(self.password) + self.u.save() + + def tearDown(self): + for workout in self.user_workouts: + try: + os.remove(workout.csvfilename) + except (IOError, FileNotFoundError,OSError): + pass + + def test_createplannedsession(self): + ps = PlannedSession( + startdate=nu.date(), + enddate=(nu+datetime.timedelta(days=1)).date(), + sessiontype='session', + sessionmode = 'time', + preferreddate=nu.date(), + sessionvalue = 60, + sessionunit='min', + manager=self.u, + sessionsport='water', + criterium='none', + interval_string='4x(5min@20spm+5min@22spm)', + name='test', + ) + ps.save() + ps.rower.add(self.r) + + self.assertEqual(ps.rower.count(),1) + steps = ps.steps + + self.assertEqual(len(steps['steps']),3) + + s = ps.steps_intervals() + expected = '\n\n4x\n- 300s 20rpm Active 0\n- 300s 22rpm Active 1\n\n' + self.assertEqual(s,expected) + + @override_settings(TESTING=True) class TrainingPlanTest(TestCase): def setUp(self): @@ -33,7 +86,7 @@ class TrainingPlanTest(TestCase): gdproptin=True, ftpset=True,surveydone=True, defaulttimezone='US/Pacific', gdproptindate=timezone.now(), - rowerplan='pro') + rowerplan='pro', eurocredits=100) self.c = Client() self.user_workouts = WorkoutFactory.create_batch(5, user=self.r) @@ -200,7 +253,7 @@ class SessionTemplateTest(TestCase): birthdate=faker.profile()['birthdate'], gdproptin=True, ftpset=True,surveydone=True, gdproptindate=timezone.now(), - rowerplan='pro') + rowerplan='pro', eurocredits=100) self.c = Client() self.user_workouts = WorkoutFactory.create_batch(5, user=self.r) @@ -551,7 +604,7 @@ class SessionCompleteTest(TestCase): birthdate=faker.profile()['birthdate'], gdproptin=True, ftpset=True,surveydone=True, gdproptindate=timezone.now(), - rowerplan='pro') + rowerplan='pro', eurocredits=100) self.c = Client() @@ -1246,7 +1299,7 @@ class PlannedSessionsView(TestCase): gdproptin=True, ftpset=True,surveydone=True, gdproptindate=timezone.now(), defaulttimezone='US/Pacific', - rowerplan='pro') + rowerplan='pro', eurocredits=100) self.r.save() self.c = Client() @@ -1671,6 +1724,10 @@ description: "" response = self.c.get(url,follow=True) self.assertEqual(response.status_code,200) + # count number of PlannedSession objects for self.r + ps = PlannedSession.objects.filter(rower__in=[self.r]) + self.assertEqual(ps.count(),5) + def test_clone_view(self): login = self.c.login(username=self.u.username, password=self.password) self.assertTrue(login) @@ -2336,3 +2393,32 @@ description: "" response = self.c.post(url,form_data,follow=True) self.assertEqual(response.status_code,200) + + # add a plan + url = reverse('rower_view_instantplan', kwargs={'id':self.instantplan.uuid}) + response = self.c.get(url) + self.assertEqual(response.status_code,200) + + form_data = { + 'name': 'Test Plan', + 'startdate':datetime.datetime.now().strftime('%Y-%m-%d'), + 'enddate':(datetime.datetime.now()+datetime.timedelta(days=self.instantplan.duration)).strftime('%Y-%m-%d'), + 'plan_past_days': False, + 'datechoice':'startdate', + 'notes': faker.word(), + 'byrscore': False, + 'target': '', + } + form = InstantPlanSelectForm(form_data) + self.assertTrue(form.is_valid()) + form = PlanByRscoreForm(form_data) + self.assertTrue(form.is_valid()) + + # post the form to url + response = self.c.post(url,form_data,follow=True) + self.assertEqual(response.status_code,200) + + # check the number of PlannedSession objects + ps = PlannedSession.objects.filter(rower__in=[self.r]) + self.assertEqual(ps.count(),5) + diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 497cfbc98b4694904145e399059dd1a05dd610ac..3b33bebd9a8430a35ce36a5f3d066fb9636590d8 100644 GIT binary patch delta 15 WcmbO#KUJPhzMF&N - - -