Skip to content

Commit d130d06

Browse files
committed
Fixes Ticket ietf-tools#1794. The session request form validation needs to check that durations have been entered for each requested session. Commit ready for merge
- Legacy-Id: 10342
1 parent 99e4d01 commit d130d06

2 files changed

Lines changed: 25 additions & 18 deletions

File tree

ietf/secr/sreq/forms.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,13 @@ def clean(self):
121121

122122
# verify session_length and num_session correspond
123123
# if default (empty) option is selected, cleaned_data won't include num_session key
124-
if data.get('num_session','') == 2:
124+
if data.get('num_session','') == '2':
125125
if not data['length_session2']:
126-
raise forms.ValidationError('You must enter a length for session 2')
126+
raise forms.ValidationError('You must enter a length for all sessions')
127127

128128
if data.get('third_session',False):
129-
if not data.get('length_session3',None):
130-
raise forms.ValidationError('Length of third session not selected')
129+
if not data['length_session2'] or not data.get('length_session3',None):
130+
raise forms.ValidationError('You must enter a length for all sessions')
131131

132132
return data
133133

ietf/secr/sreq/tests.py

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,23 +44,30 @@ def test_submit_request(self):
4444
make_test_data()
4545
acronym = Group.objects.all()[0].acronym
4646
url = reverse('sessions_new',kwargs={'acronym':acronym})
47-
post_data = {'id_num_session':'1',
48-
'id_length_session1':'3600',
49-
'id_attendees':'10',
50-
'id_conflict1':'',
51-
'id_comments':'need projector'}
47+
post_data = {'num_session':'1',
48+
'length_session1':'3600',
49+
'attendees':'10',
50+
'conflict1':'',
51+
'comments':'need projector'}
52+
self.client.login(username="secretary", password="secretary+password")
53+
r = self.client.post(url,post_data)
54+
self.assertEqual(r.status_code, 302)
55+
56+
def test_submit_request_invalid(self):
57+
make_test_data()
58+
group = Group.objects.filter(type='wg').first()
59+
url = reverse('sessions_new',kwargs={'acronym':group.acronym})
60+
post_data = {'num_session':'2',
61+
'length_session1':'3600',
62+
'attendees':'10',
63+
'conflict1':'',
64+
'comments':'need projector'}
5265
self.client.login(username="secretary", password="secretary+password")
5366
r = self.client.post(url,post_data)
5467
self.assertEqual(r.status_code, 200)
55-
"""
56-
#assert False, self.client.session..__dict__
57-
58-
url = reverse('sessions_confirm',kwargs={'acronym':acronym})
59-
#s = self.client.session
60-
#s['session_form'] = post_data
61-
r = self.client.get(url)
62-
assert False, r.content
63-
"""
68+
q = PyQuery(r.content)
69+
self.assertEqual(len(q('#session-request-form')),1)
70+
self.assertTrue('You must enter a length for all sessions' in r.content)
6471

6572
class LockAppTestCase(TestCase):
6673
def test_edit_request(self):

0 commit comments

Comments
 (0)