@@ -1026,7 +1026,8 @@ def test_interim_request_cancel(self):
10261026 self .assertEqual (len (outbox ), length_before + 1 )
10271027 self .assertTrue ('Interim Meeting Cancelled' in outbox [- 1 ]['Subject' ])
10281028
1029- def test_interim_request_edit (self ):
1029+ def test_interim_request_edit_no_notice (self ):
1030+ '''Edit a request. No notice should go out if it hasn't been announced yet'''
10301031 make_meeting_test_data ()
10311032 meeting = Meeting .objects .filter (type = 'interim' , session__status = 'apprw' , session__group__acronym = 'mars' ).first ()
10321033 group = meeting .session_set .first ().group
@@ -1058,13 +1059,50 @@ def test_interim_request_edit(self):
10581059 data .update (form_initial )
10591060 r = self .client .post (url , data )
10601061 self .assertRedirects (r , urlreverse ('ietf.meeting.views.interim_request_details' , kwargs = {'number' : meeting .number }))
1062+ self .assertEqual (len (outbox ),length_before )
1063+ session = meeting .session_set .first ()
1064+ timeslot = session .official_timeslotassignment ().timeslot
1065+ self .assertEqual (timeslot .time ,new_time )
1066+
1067+ def test_interim_request_edit (self ):
1068+ '''Edit request. Send notice of change'''
1069+ make_meeting_test_data ()
1070+ meeting = Meeting .objects .filter (type = 'interim' , session__status = 'sched' , session__group__acronym = 'mars' ).first ()
1071+ group = meeting .session_set .first ().group
1072+ url = urlreverse ('ietf.meeting.views.interim_request_edit' , kwargs = {'number' : meeting .number })
1073+ # test unauthorized access
1074+ self .client .login (username = "ameschairman" , password = "ameschairman+password" )
1075+ r = self .client .get (url )
1076+ self .assertEqual (r .status_code , 403 )
1077+ # test authorized use
1078+ login_testing_unauthorized (self , "secretary" , url )
1079+ r = self .client .get (url )
1080+ self .assertEqual (r .status_code , 200 )
1081+ # post changes
1082+ length_before = len (outbox )
1083+ form_initial = r .context ['form' ].initial
1084+ formset_initial = r .context ['formset' ].forms [0 ].initial
1085+ new_time = formset_initial ['time' ] + datetime .timedelta (hours = 1 )
1086+ data = {'group' :group .pk ,
1087+ 'meeting_type' :'single' ,
1088+ 'session_set-0-id' :meeting .session_set .first ().id ,
1089+ 'session_set-0-date' :formset_initial ['date' ].strftime ('%Y-%m-%d' ),
1090+ 'session_set-0-time' :new_time .strftime ('%H:%M' ),
1091+ 'session_set-0-requested_duration' :formset_initial ['requested_duration' ],
1092+ 'session_set-0-remote_instructions' :formset_initial ['remote_instructions' ],
1093+ #'session_set-0-agenda':formset_initial['agenda'],
1094+ 'session_set-0-agenda_note' :formset_initial ['agenda_note' ],
1095+ 'session_set-TOTAL_FORMS' :1 ,
1096+ 'session_set-INITIAL_FORMS' :1 }
1097+ data .update (form_initial )
1098+ r = self .client .post (url , data )
1099+ self .assertRedirects (r , urlreverse ('ietf.meeting.views.interim_request_details' , kwargs = {'number' : meeting .number }))
10611100 self .assertEqual (len (outbox ),length_before + 1 )
10621101 self .assertTrue ('CHANGED' in outbox [- 1 ]['Subject' ])
10631102 session = meeting .session_set .first ()
10641103 timeslot = session .official_timeslotassignment ().timeslot
10651104 self .assertEqual (timeslot .time ,new_time )
10661105
1067-
10681106 def test_interim_request_details_permissions (self ):
10691107 make_meeting_test_data ()
10701108 meeting = Meeting .objects .filter (type = 'interim' ,session__status = 'apprw' ,session__group__acronym = 'mars' ).first ()
0 commit comments