bug fix (pro user entering plan trial)
This commit is contained in:
@@ -199,6 +199,10 @@
|
||||
<button style="width:100%">
|
||||
<a href="/rowers/startplantrial/">Free SELF-COACH trial</a>
|
||||
</button>
|
||||
{% elif rower and rower.rowerplan == 'pro' and rower.plantrialexpires|date_dif == 1 %}
|
||||
<button style="width:100%">
|
||||
<a href="/rowers/startplantrial/">Free SELF-COACH trial</a>
|
||||
</button>
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
64
rowers/tests/test_rowerplans.py
Normal file
64
rowers/tests/test_rowerplans.py
Normal file
@@ -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)
|
||||
|
||||
|
||||
|
||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
2
rowers/tests/testdata/testdata.tcx
vendored
2
rowers/tests/testdata/testdata.tcx
vendored
@@ -2502,7 +2502,7 @@
|
||||
</Trackpoint>
|
||||
</Track>
|
||||
</Lap>
|
||||
<Notes><Element 'Notes' at 0x1f6b6c18></Notes>
|
||||
<Notes><Element 'Notes' at 0x15216240></Notes>
|
||||
</Activity>
|
||||
</Activities>
|
||||
<Creator>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user