@@ -1038,7 +1038,8 @@ def test_interim_request_cancel(self):
10381038 self .assertEqual (len (outbox ), length_before + 1 )
10391039 self .assertTrue ('Interim Meeting Cancelled' in outbox [- 1 ]['Subject' ])
10401040
1041- def test_interim_request_edit (self ):
1041+ def test_interim_request_edit_no_notice (self ):
1042+ '''Edit a request. No notice should go out if it hasn't been announced yet'''
10421043 make_meeting_test_data ()
10431044 meeting = Meeting .objects .filter (type = 'interim' , session__status = 'apprw' , session__group__acronym = 'mars' ).first ()
10441045 group = meeting .session_set .first ().group
@@ -1070,13 +1071,50 @@ def test_interim_request_edit(self):
10701071 data .update (form_initial )
10711072 r = self .client .post (url , data )
10721073 self .assertRedirects (r , urlreverse ('ietf.meeting.views.interim_request_details' , kwargs = {'number' : meeting .number }))
1074+ self .assertEqual (len (outbox ),length_before )
1075+ session = meeting .session_set .first ()
1076+ timeslot = session .official_timeslotassignment ().timeslot
1077+ self .assertEqual (timeslot .time ,new_time )
1078+
1079+ def test_interim_request_edit (self ):
1080+ '''Edit request. Send notice of change'''
1081+ make_meeting_test_data ()
1082+ meeting = Meeting .objects .filter (type = 'interim' , session__status = 'sched' , session__group__acronym = 'mars' ).first ()
1083+ group = meeting .session_set .first ().group
1084+ url = urlreverse ('ietf.meeting.views.interim_request_edit' , kwargs = {'number' : meeting .number })
1085+ # test unauthorized access
1086+ self .client .login (username = "ameschairman" , password = "ameschairman+password" )
1087+ r = self .client .get (url )
1088+ self .assertEqual (r .status_code , 403 )
1089+ # test authorized use
1090+ login_testing_unauthorized (self , "secretary" , url )
1091+ r = self .client .get (url )
1092+ self .assertEqual (r .status_code , 200 )
1093+ # post changes
1094+ length_before = len (outbox )
1095+ form_initial = r .context ['form' ].initial
1096+ formset_initial = r .context ['formset' ].forms [0 ].initial
1097+ new_time = formset_initial ['time' ] + datetime .timedelta (hours = 1 )
1098+ data = {'group' :group .pk ,
1099+ 'meeting_type' :'single' ,
1100+ 'session_set-0-id' :meeting .session_set .first ().id ,
1101+ 'session_set-0-date' :formset_initial ['date' ].strftime ('%Y-%m-%d' ),
1102+ 'session_set-0-time' :new_time .strftime ('%H:%M' ),
1103+ 'session_set-0-requested_duration' :formset_initial ['requested_duration' ],
1104+ 'session_set-0-remote_instructions' :formset_initial ['remote_instructions' ],
1105+ #'session_set-0-agenda':formset_initial['agenda'],
1106+ 'session_set-0-agenda_note' :formset_initial ['agenda_note' ],
1107+ 'session_set-TOTAL_FORMS' :1 ,
1108+ 'session_set-INITIAL_FORMS' :1 }
1109+ data .update (form_initial )
1110+ r = self .client .post (url , data )
1111+ self .assertRedirects (r , urlreverse ('ietf.meeting.views.interim_request_details' , kwargs = {'number' : meeting .number }))
10731112 self .assertEqual (len (outbox ),length_before + 1 )
10741113 self .assertTrue ('CHANGED' in outbox [- 1 ]['Subject' ])
10751114 session = meeting .session_set .first ()
10761115 timeslot = session .official_timeslotassignment ().timeslot
10771116 self .assertEqual (timeslot .time ,new_time )
10781117
1079-
10801118 def test_interim_request_details_permissions (self ):
10811119 make_meeting_test_data ()
10821120 meeting = Meeting .objects .filter (type = 'interim' ,session__status = 'apprw' ,session__group__acronym = 'mars' ).first ()
0 commit comments