1414
1515
1616from ietf .person .models import Email , Person
17+ from django .contrib .auth .models import User
1718
1819from ietf .nomcom .test_data import nomcom_test_data , generate_cert , check_comments , \
1920 COMMUNITY_USER , CHAIR_USER , \
@@ -657,12 +658,15 @@ def test_encrypted_comments(self):
657658 os .unlink (self .privatekey_file .name )
658659 os .unlink (self .cert_file .name )
659660
660- class ReminderCommandTest (TestCase ):
661+ class ReminderTest (TestCase ):
661662 perma_fixtures = ['names' , 'nomcom_templates' ]
662663
663664 def setUp (self ):
664665 nomcom_test_data ()
665666 self .nomcom = get_nomcom_by_year (NOMCOM_YEAR )
667+ self .cert_file , self .privatekey_file = generate_cert ()
668+ self .nomcom .public_key .storage .location = tempfile .gettempdir ()
669+ self .nomcom .public_key .save ('cert' , File (open (self .cert_file .name , 'r' )))
666670
667671 gen = Position .objects .get (nomcom = self .nomcom ,name = 'GEN' )
668672 rai = Position .objects .get (nomcom = self .nomcom ,name = 'RAI' )
@@ -684,6 +688,17 @@ def setUp(self):
684688 np = n .nomineeposition_set .get (position = rai )
685689 np .time = t_minus_4
686690 np .save ()
691+ n = get_or_create_nominee (self .nomcom ,"Nominee 2" ,"nominee2@example.org" ,gen ,None )
692+ np = n .nomineeposition_set .get (position = gen )
693+ np .state = NomineePositionState .objects .get (slug = 'accepted' )
694+ np .time = t_minus_4
695+ np .save ()
696+ feedback = Feedback .objects .create (nomcom = self .nomcom ,
697+ comments = 'some non-empty comments' ,
698+ type = FeedbackType .objects .get (slug = 'questio' ),
699+ user = User .objects .get (username = CHAIR_USER ))
700+ feedback .positions .add (gen )
701+ feedback .nominees .add (n )
687702
688703 def test_is_time_to_send (self ):
689704 self .nomcom .reminder_interval = 4
@@ -714,5 +729,22 @@ def test_command(self):
714729 self .assertEqual (len (outbox ), messages_before + 1 )
715730 self .assertTrue ('nominee2@example.org' in outbox [- 1 ]['To' ])
716731 self .assertTrue ('please accept' in outbox [- 1 ]['Subject' ])
717-
718732
733+ def test_remind_accept_view (self ):
734+ url = reverse ('nomcom_send_reminder_mail' , kwargs = {'year' : NOMCOM_YEAR ,'type' :'accept' })
735+ login_testing_unauthorized (self , CHAIR_USER , url )
736+ messages_before = len (outbox )
737+ test_data = {'selected' : [x .id for x in Nominee .objects .filter (nomcom = self .nomcom )]}
738+ response = self .client .post (url , test_data )
739+ self .assertEqual (response .status_code , 200 )
740+ self .assertEqual (len (outbox ), messages_before + 2 )
741+
742+ def test_remind_questionnaire_view (self ):
743+ url = reverse ('nomcom_send_reminder_mail' , kwargs = {'year' : NOMCOM_YEAR ,'type' :'questionnaire' })
744+ login_testing_unauthorized (self , CHAIR_USER , url )
745+ messages_before = len (outbox )
746+ test_data = {'selected' : [x .id for x in Nominee .objects .filter (nomcom = self .nomcom )]}
747+ response = self .client .post (url , test_data )
748+ self .assertEqual (response .status_code , 200 )
749+ self .assertEqual (len (outbox ), messages_before + 1 )
750+
0 commit comments