testing session create, multi create and clone
This commit is contained in:
@@ -73,7 +73,7 @@
|
|||||||
<a href="/rowers/sessions/multiclone/user/{{ rower.user.id }}/?when={{ timeperiod }}">
|
<a href="/rowers/sessions/multiclone/user/{{ rower.user.id }}/?when={{ timeperiod }}">
|
||||||
Clone multiple sessions
|
Clone multiple sessions
|
||||||
</a>
|
</a>
|
||||||
<button class="button green small" type="submit">Submit</button>
|
<button type="submit">Submit</button>
|
||||||
</form>
|
</form>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -114,7 +114,7 @@
|
|||||||
{{ dateshiftform.as_table }}
|
{{ dateshiftform.as_table }}
|
||||||
</table>
|
</table>
|
||||||
<p>
|
<p>
|
||||||
<input name='workoutselectform' class="button green" type="submit" value="Submit">
|
<input name='workoutselectform' type="submit" value="Submit">
|
||||||
</p>
|
</p>
|
||||||
<p>You can use the date and search forms above to search through all
|
<p>You can use the date and search forms above to search through all
|
||||||
sessions.</p>
|
sessions.</p>
|
||||||
|
|||||||
1
rowers/tests/.#test_urls.py
Normal file
1
rowers/tests/.#test_urls.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
E408191@CZ27LT9RCGN72.14016:1549376202
|
||||||
@@ -125,7 +125,8 @@ class TrainingPlanTest(TestCase):
|
|||||||
tested = True
|
tested = True
|
||||||
|
|
||||||
# add test for creating new sessions
|
# add test for creating new sessions
|
||||||
def sessions_create(self):
|
def test_sessions_create(self):
|
||||||
|
|
||||||
login = self.c.login(username=self.u.username, password=self.password)
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
self.assertTrue(login)
|
self.assertTrue(login)
|
||||||
|
|
||||||
@@ -151,8 +152,10 @@ class TrainingPlanTest(TestCase):
|
|||||||
'name': faker.word(),
|
'name': faker.word(),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print 'posting to sessions/create'
|
||||||
|
|
||||||
form = PlannedSessionForm(post_data)
|
form = PlannedSessionForm(post_data)
|
||||||
self.assertEqual(form.is_valid())
|
self.assertTrue(form.is_valid())
|
||||||
|
|
||||||
response = self.c.post(url,post_data)
|
response = self.c.post(url,post_data)
|
||||||
self.assertEqual(response.status_code,200)
|
self.assertEqual(response.status_code,200)
|
||||||
@@ -1001,6 +1004,28 @@ class PlannedSessionsView(TestCase):
|
|||||||
rowerplan='coach')
|
rowerplan='coach')
|
||||||
self.r.save()
|
self.r.save()
|
||||||
self.c = Client()
|
self.c = Client()
|
||||||
|
|
||||||
|
self.u2 = UserFactory(username='testbasicuser')
|
||||||
|
self.r2 = Rower.objects.create(user=self.u2,
|
||||||
|
birthdate=faker.profile()['birthdate'],
|
||||||
|
gdproptin=True,
|
||||||
|
gdproptindate=timezone.now(),
|
||||||
|
rowerplan='basic')
|
||||||
|
|
||||||
|
self.password2 = faker.word()
|
||||||
|
self.u2.set_password(self.password2)
|
||||||
|
self.u2.save()
|
||||||
|
|
||||||
|
self.team = Team.objects.create(
|
||||||
|
name = faker.word(),
|
||||||
|
notes = faker.text(),
|
||||||
|
manager = self.u,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.r.team.add(self.team)
|
||||||
|
self.r2.team.add(self.team)
|
||||||
|
self.r.save()
|
||||||
|
self.r2.save()
|
||||||
|
|
||||||
# workouts
|
# workouts
|
||||||
# workout 1 - 2019-01-13, rScore 69
|
# workout 1 - 2019-01-13, rScore 69
|
||||||
@@ -1120,6 +1145,9 @@ class PlannedSessionsView(TestCase):
|
|||||||
enddate = (startdatetime+datetime.timedelta(days=1)).date()
|
enddate = (startdatetime+datetime.timedelta(days=1)).date()
|
||||||
preferreddate = startdatetime.date()
|
preferreddate = startdatetime.date()
|
||||||
|
|
||||||
|
self.startdate = startdate
|
||||||
|
self.enddate = enddate
|
||||||
|
|
||||||
self.ps_rscore = SessionFactory(
|
self.ps_rscore = SessionFactory(
|
||||||
startdate=startdate,enddate=enddate,
|
startdate=startdate,enddate=enddate,
|
||||||
sessiontype='test',
|
sessiontype='test',
|
||||||
@@ -1210,17 +1238,81 @@ class PlannedSessionsView(TestCase):
|
|||||||
def test_multiclone_view(self):
|
def test_multiclone_view(self):
|
||||||
login = self.c.login(username=self.u.username, password=self.password)
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
self.assertTrue(login)
|
self.assertTrue(login)
|
||||||
|
|
||||||
|
url = '/rowers/sessions/multiclone/'
|
||||||
|
response = self.c.get(url)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
formdata = {
|
||||||
|
'startdate':self.startdate,
|
||||||
|
'enddate':self.enddate,
|
||||||
|
}
|
||||||
|
|
||||||
|
form = DateRangeForm(formdata)
|
||||||
|
self.assertTrue(form.is_valid())
|
||||||
|
|
||||||
|
response = self.c.post(url,formdata)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
url = '/rowers/sessions/multiclone/?startdate={startdate}&enddate={enddate}'.format(
|
||||||
|
startdate = self.startdate,
|
||||||
|
enddate = self.enddate
|
||||||
|
)
|
||||||
|
|
||||||
|
formdata = {
|
||||||
|
'plannedsessions':[self.ps_time.id,self.ps_trimp.id],
|
||||||
|
'shiftstartdate':datetime.date.today()+timezone.timedelta(days=6)
|
||||||
|
}
|
||||||
|
|
||||||
|
form = PlannedSessionMultipleCloneForm(formdata)
|
||||||
|
|
||||||
|
self.assertTrue(form.is_valid())
|
||||||
|
|
||||||
|
form = SessionDateShiftForm(formdata)
|
||||||
|
|
||||||
|
|
||||||
|
self.assertTrue(form.is_valid())
|
||||||
|
|
||||||
|
response = self.c.post(url,formdata,follow=True)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
|
||||||
def test_multicreate_view(self):
|
def test_multicreate_view(self):
|
||||||
login = self.c.login(username=self.u.username, password=self.password)
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
self.assertTrue(login)
|
self.assertTrue(login)
|
||||||
|
|
||||||
# post something
|
# get something
|
||||||
|
url = '/rowers/sessions/multicreate/user/1/extra/1/'
|
||||||
|
response = self.c.get(url)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
data = {}
|
||||||
|
|
||||||
|
data['csrf_token'] = response.context['csrf_token']
|
||||||
|
|
||||||
|
management_form = response.context['ps_formset'].management_form
|
||||||
|
for i in 'TOTAL_FORMS', 'INITIAL_FORMS', 'MIN_NUM_FORMS', 'MAX_NUM_FORMS':
|
||||||
|
data['%s-%s' % (management_form.prefix,i)] = management_form[i].value()
|
||||||
|
|
||||||
|
for i in range(response.context['ps_formset'].total_form_count()):
|
||||||
|
current_form = response.context['ps_formset'].forms[i]
|
||||||
|
|
||||||
|
for field_name in current_form.fields:
|
||||||
|
value = current_form[field_name].value()
|
||||||
|
data['%s-%s' % (current_form.prefix, field_name)] = value if value is not None else ''
|
||||||
|
|
||||||
|
|
||||||
|
# post data
|
||||||
|
response = self.c.post(url,data,follow=True)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
def test_teamcreate_view(self):
|
def test_teamcreate_view(self):
|
||||||
login = self.c.login(username=self.u.username, password=self.password)
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
self.assertTrue(login)
|
self.assertTrue(login)
|
||||||
|
|
||||||
|
url = '/sessions/teamcreate/'
|
||||||
|
response = self.c.get(url)
|
||||||
|
|
||||||
def test_teamedit_view(self):
|
def test_teamedit_view(self):
|
||||||
login = self.c.login(username=self.u.username, password=self.password)
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
self.assertTrue(login)
|
self.assertTrue(login)
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
@@ -14167,6 +14167,7 @@ def plannedsession_create_view(request,
|
|||||||
enddatestring=enddatestring)
|
enddatestring=enddatestring)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
sessioncreateform = PlannedSessionForm(request.POST)
|
sessioncreateform = PlannedSessionForm(request.POST)
|
||||||
if sessioncreateform.is_valid():
|
if sessioncreateform.is_valid():
|
||||||
|
|||||||
Reference in New Issue
Block a user