diff --git a/rowers/templates/paidplans.html b/rowers/templates/paidplans.html index 3ad4c821..280ff45d 100644 --- a/rowers/templates/paidplans.html +++ b/rowers/templates/paidplans.html @@ -199,6 +199,10 @@ + {% elif rower and rower.rowerplan == 'pro' and rower.plantrialexpires|date_dif == 1 %} + {% else %}   {% endif %} diff --git a/rowers/tests/test_rowerplans.py b/rowers/tests/test_rowerplans.py new file mode 100644 index 00000000..e9be5c6d --- /dev/null +++ b/rowers/tests/test_rowerplans.py @@ -0,0 +1,64 @@ +from statements import * +nu = datetime.datetime.now() + +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, + gdproptindate=timezone.now(), + rowerplan='basic') + + 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, WindowsError): + pass + + def test_basictrial(self): + self.assertEqual(hasplannedsessions(self.u),False) + self.assertEqual(iscoachmember(self.u),False) + self.assertEqual(ispromember(self.u),False) + + self.r.protrialexpires = (nu+datetime.timedelta(days=10)).date() + self.r.save() + + self.assertEqual(hasplannedsessions(self.u),False) + self.assertEqual(iscoachmember(self.u),False) + self.assertEqual(ispromember(self.u),True) + + 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) + + def test_protrial(self): + self.r.rowerplan = 'pro' + self.r.save() + self.assertEqual(hasplannedsessions(self.u),False) + self.assertEqual(iscoachmember(self.u),False) + self.assertEqual(ispromember(self.u),True) + + 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/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index ad38adb5..240d00f2 100644 Binary files a/rowers/tests/testdata/testdata.csv.gz and b/rowers/tests/testdata/testdata.csv.gz differ diff --git a/rowers/tests/testdata/testdata.tcx b/rowers/tests/testdata/testdata.tcx index aad5afb6..97a085f7 100644 --- a/rowers/tests/testdata/testdata.tcx +++ b/rowers/tests/testdata/testdata.tcx @@ -2502,7 +2502,7 @@ - <Element 'Notes' at 0x1f6b6c18> + <Element 'Notes' at 0x15216240> diff --git a/rowers/views.py b/rowers/views.py index d92f71dd..4ebd4374 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -1027,7 +1027,7 @@ def hasplannedsessions(user): result = user.is_authenticated() and (r.rowerplan=='coach' or r.rowerplan=='plan') if not result and r.plantrialexpires: - result = user.is_authenticated() and r.rowerplan=='basic' and r.plantrialexpires >= datetime.date.today() + result = user.is_authenticated() and r.plantrialexpires >= datetime.date.today() else: result = False