2323from django .urls import reverse as urlreverse
2424from django .conf import settings
2525from django .contrib .auth .models import User
26- from django .test import Client
26+ from django .test import Client , override_settings
2727from django .db .models import F
2828
2929import debug # pyflakes:ignore
3939from ietf .meeting .test_data import make_meeting_test_data , make_interim_meeting
4040from ietf .meeting .utils import finalize , condition_slide_order
4141from ietf .meeting .utils import add_event_info_to_session_qs
42- from ietf .meeting .utils import current_session_status
4342from ietf .meeting .views import session_draft_list
4443from ietf .name .models import SessionStatusName , ImportantDateName
4544from ietf .utils .decorators import skip_coverage
@@ -1398,7 +1397,7 @@ def test_interim_request_options(self):
13981397 count = person .role_set .filter (name = 'chair' ,group__type__in = ('wg' , 'rg' ), group__state__in = ('active' , 'proposed' )).count ()
13991398 self .assertEqual (count , len (q ("#id_group option" )) - 1 ) # -1 for options placeholder
14001399
1401- def test_interim_request_single_virtual (self ):
1400+ def do_interim_request_single_virtual (self ):
14021401 make_meeting_test_data ()
14031402 group = Group .objects .get (acronym = 'mars' )
14041403 date = datetime .date .today () + datetime .timedelta (days = 30 )
@@ -1440,7 +1439,6 @@ def test_interim_request_single_virtual(self):
14401439 session = meeting .session_set .first ()
14411440 self .assertEqual (session .remote_instructions ,remote_instructions )
14421441 self .assertEqual (session .agenda_note ,agenda_note )
1443- self .assertEqual (current_session_status (session ).slug ,'scheda' )
14441442 timeslot = session .official_timeslotassignment ().timeslot
14451443 self .assertEqual (timeslot .time ,dt )
14461444 self .assertEqual (timeslot .duration ,duration )
@@ -1451,8 +1449,22 @@ def test_interim_request_single_virtual(self):
14511449 self .assertTrue (os .path .exists (path ))
14521450 # check notice to secretariat
14531451 self .assertEqual (len (outbox ), length_before + 1 )
1454- self .assertIn ('interim meeting ready for announcement' , outbox [- 1 ]['Subject' ])
1452+ return meeting
1453+
1454+ @override_settings (VIRTUAL_INTERIMS_REQUIRE_APPROVAL = True )
1455+ def test_interim_request_single_virtual_settings_approval_required (self ):
1456+ meeting = self .do_interim_request_single_virtual ()
1457+ self .assertEqual (meeting .session_set .last ().schedulingevent_set .last ().status_id ,'apprw' )
1458+ self .assertIn ('New Interim Meeting Request' , outbox [- 1 ]['Subject' ])
1459+ self .assertIn ('session-request@ietf.org' , outbox [- 1 ]['To' ])
1460+ self .assertIn ('aread@example.org' , outbox [- 1 ]['Cc' ])
1461+
1462+ @override_settings (VIRTUAL_INTERIMS_REQUIRE_APPROVAL = False )
1463+ def test_interim_request_single_virtual_settings_approval_not_required (self ):
1464+ meeting = self .do_interim_request_single_virtual ()
1465+ self .assertEqual (meeting .session_set .last ().schedulingevent_set .last ().status_id ,'scheda' )
14551466 self .assertIn ('iesg-secretary@ietf.org' , outbox [- 1 ]['To' ])
1467+ self .assertIn ('interim meeting ready for announcement' , outbox [- 1 ]['Subject' ])
14561468
14571469 def test_interim_request_single_in_person (self ):
14581470 make_meeting_test_data ()
0 commit comments