22
33from ietf .utils .test_utils import TestCase , unicontent
44from ietf .group .models import Group
5- #from ietf.meeting.models import Session
6- #from ietf.utils.test_data import make_test_data
7- from ietf .meeting .test_data import make_meeting_test_data as make_test_data
5+ from ietf .meeting .models import Meeting , Session
6+ from ietf .meeting .test_data import make_meeting_test_data
87from ietf .utils .mail import outbox , empty_outbox
8+ from ietf .utils .test_data import make_test_data
99
1010from pyquery import PyQuery
1111
1212SECR_USER = 'secretary'
1313
1414class SreqUrlTests (TestCase ):
1515 def test_urls (self ):
16- make_test_data ()
16+ make_meeting_test_data ()
1717
1818 self .client .login (username = "secretary" , password = "secretary+password" )
1919
@@ -29,7 +29,7 @@ def test_urls(self):
2929
3030class SessionRequestTestCase (TestCase ):
3131 def test_main (self ):
32- make_test_data ()
32+ make_meeting_test_data ()
3333 url = reverse ('sessions' )
3434 self .client .login (username = "secretary" , password = "secretary+password" )
3535 r = self .client .get (url )
@@ -42,20 +42,20 @@ def test_main(self):
4242class SubmitRequestCase (TestCase ):
4343 def test_submit_request (self ):
4444 make_test_data ()
45- acronym = Group .objects .all ()[ 0 ]. acronym
46- url = reverse ('sessions_new' ,kwargs = {'acronym' :acronym })
45+ group = Group .objects .get ( acronym = 'mars' )
46+ url = reverse ('sessions_new' ,kwargs = {'acronym' :group . acronym })
4747 post_data = {'num_session' :'1' ,
4848 'length_session1' :'3600' ,
4949 'attendees' :'10' ,
5050 'conflict1' :'' ,
5151 'comments' :'need projector' }
5252 self .client .login (username = "secretary" , password = "secretary+password" )
5353 r = self .client .post (url ,post_data )
54- self .assertEqual ( r . status_code , 302 )
54+ self .assertRedirects ( r , reverse ( 'sessions_confirm' , kwargs = { 'acronym' : group . acronym }) )
5555
5656 def test_submit_request_invalid (self ):
5757 make_test_data ()
58- group = Group .objects .filter ( type = 'wg' ). first ( )
58+ group = Group .objects .get ( acronym = 'mars' )
5959 url = reverse ('sessions_new' ,kwargs = {'acronym' :group .acronym })
6060 post_data = {'num_session' :'2' ,
6161 'length_session1' :'3600' ,
@@ -69,9 +69,41 @@ def test_submit_request_invalid(self):
6969 self .assertEqual (len (q ('#session-request-form' )),1 )
7070 self .assertTrue ('You must enter a length for all sessions' in unicontent (r ))
7171
72+ def test_request_notification (self ):
73+ make_test_data ()
74+ meeting = Meeting .objects .filter (type = 'ietf' ).first ()
75+ group = Group .objects .get (acronym = 'ames' )
76+ ad = group .parent .role_set .filter (name = 'ad' ).first ().person
77+ url = reverse ('sessions_new' ,kwargs = {'acronym' :group .acronym })
78+ confirm_url = reverse ('sessions_confirm' ,kwargs = {'acronym' :group .acronym })
79+ len_before = len (outbox )
80+ post_data = {'num_session' :'1' ,
81+ 'length_session1' :'3600' ,
82+ 'attendees' :'10' ,
83+ 'bethere' :str (ad .pk ),
84+ 'conflict1' :'' ,
85+ 'comments' :'' ,
86+ 'resources' :'1' }
87+ self .client .login (username = "ameschairman" , password = "ameschairman+password" )
88+ # submit
89+ r = self .client .post (url ,post_data )
90+ self .assertRedirects (r , confirm_url )
91+ # confirm
92+ r = self .client .post (confirm_url ,{'submit' :'Submit' })
93+ self .assertRedirects (r , reverse ('sessions' ))
94+ self .assertEqual (len (outbox ),len_before + 1 )
95+ notification = outbox [- 1 ]
96+ notification_payload = unicode (notification .get_payload (decode = True ),"utf-8" ,"replace" )
97+ session = Session .objects .get (meeting = meeting ,group = group )
98+ self .assertEqual (session .resources .count (),1 )
99+ self .assertEqual (session .people_constraints .count (),1 )
100+ resource = session .resources .first ()
101+ self .assertTrue (resource .desc in notification_payload )
102+ self .assertTrue (ad .ascii_name () in notification_payload )
103+
72104class LockAppTestCase (TestCase ):
73105 def test_edit_request (self ):
74- meeting = make_test_data ()
106+ meeting = make_meeting_test_data ()
75107 meeting .session_request_lock_message = 'locked'
76108 meeting .save ()
77109 group = Group .objects .get (acronym = 'mars' )
@@ -83,7 +115,7 @@ def test_edit_request(self):
83115 self .assertEqual (len (q (':disabled[name="submit"]' )), 1 )
84116
85117 def test_view_request (self ):
86- meeting = make_test_data ()
118+ meeting = make_meeting_test_data ()
87119 meeting .session_request_lock_message = 'locked'
88120 meeting .save ()
89121 group = Group .objects .get (acronym = 'mars' )
@@ -95,7 +127,7 @@ def test_view_request(self):
95127 self .assertEqual (len (q (':disabled[name="edit"]' )), 1 )
96128
97129 def test_new_request (self ):
98- meeting = make_test_data ()
130+ meeting = make_meeting_test_data ()
99131 meeting .session_request_lock_message = 'locked'
100132 meeting .save ()
101133 group = Group .objects .get (acronym = 'mars' )
@@ -121,8 +153,7 @@ class EditRequestCase(TestCase):
121153class NotMeetingCase (TestCase ):
122154
123155 def test_not_meeting (self ):
124-
125- make_test_data ()
156+ make_meeting_test_data ()
126157 group = Group .objects .get (acronym = 'mars' )
127158 url = reverse ('sessions_no_session' ,kwargs = {'acronym' :group .acronym })
128159 self .client .login (username = "secretary" , password = "secretary+password" )
0 commit comments