def test_reject_voiceover_application(self): voiceover_services.create_new_voiceover_application( suggestion_models.TARGET_TYPE_EXPLORATION, '0', 'en', '', 'audio_file.mp3', self.applicant_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual(user_voiceover_applications[0].status, suggestion_models.STATUS_IN_REVIEW) opportunities, _, more = ( opportunity_services.get_voiceover_opportunities('en', None)) self.assertEqual(len(opportunities), 1) self.assertFalse(more) voiceover_services.reject_voiceover_application( user_voiceover_applications[0].voiceover_application_id, self.admin_id, 'Rejection message') user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual(user_voiceover_applications[0].status, suggestion_models.STATUS_REJECTED) opportunities, _, more = ( opportunity_services.get_voiceover_opportunities('en', None)) self.assertEqual(len(opportunities), 1) self.assertFalse(more)
def test_accept_application_removes_exploration_voiceover_opportunity( self): voiceover_services.create_new_voiceover_application( suggestion_models.TARGET_TYPE_EXPLORATION, '0', 'en', '', 'audio_file.mp3', self.applicant_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual(user_voiceover_applications[0].status, suggestion_models.STATUS_IN_REVIEW) opportunities, _, more = ( opportunity_services.get_voiceover_opportunities('en', None)) self.assertEqual(len(opportunities), 1) self.assertFalse(more) voiceover_services.accept_voiceover_application( user_voiceover_applications[0].voiceover_application_id, self.admin_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id, status=suggestion_models.STATUS_ACCEPTED)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual(user_voiceover_applications[0].status, suggestion_models.STATUS_ACCEPTED) opportunities, _, more = ( opportunity_services.get_voiceover_opportunities('en', None)) self.assertEqual(len(opportunities), 0) self.assertFalse(more)
def test_accept_application_assigns_role_to_entity(self): voiceover_services.create_new_voiceover_application( suggestion_models.TARGET_TYPE_EXPLORATION, '0', 'en', '', 'audio_file.mp3', self.applicant_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual(user_voiceover_applications[0].status, suggestion_models.STATUS_IN_REVIEW) voiceover_services.accept_voiceover_application( user_voiceover_applications[0].voiceover_application_id, self.admin_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id, status=suggestion_models.STATUS_ACCEPTED)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual(user_voiceover_applications[0].status, suggestion_models.STATUS_ACCEPTED) exploration_rights = rights_manager.get_exploration_rights('0') can_voiceover = rights_manager.check_can_voiceover_activity( self.applicant, exploration_rights) self.assertTrue(can_voiceover)
def test_accept_application_removes_rejectes_other_similar_applications( self): voiceover_services.create_new_voiceover_application( suggestion_models.TARGET_TYPE_EXPLORATION, '0', 'en', '', 'audio_file.mp3', self.applicant_id) voiceover_services.create_new_voiceover_application( suggestion_models.TARGET_TYPE_EXPLORATION, '0', 'en', '', 'audio_file.mp3', self.owner_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual( user_voiceover_applications[0].status, suggestion_models.STATUS_IN_REVIEW) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.owner_id)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual( user_voiceover_applications[0].status, suggestion_models.STATUS_IN_REVIEW) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) voiceover_services.accept_voiceover_application( user_voiceover_applications[0].voiceover_application_id, self.admin_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id, status=suggestion_models.STATUS_ACCEPTED)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual( user_voiceover_applications[0].status, suggestion_models.STATUS_ACCEPTED) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.owner_id)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual( user_voiceover_applications[0].status, suggestion_models.STATUS_REJECTED) self.assertEqual( user_voiceover_applications[0].rejection_message, 'We have to reject your application as another application for the ' 'same opportunity got accepted.')
def test_voiceover_application_creation(self): user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) self.assertEqual(user_voiceover_applications, []) voiceover_services.create_new_voiceover_application( suggestion_models.TARGET_TYPE_EXPLORATION, '0', 'en', '', 'audio_file.mp3', self.applicant_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual(user_voiceover_applications[0].target_id, '0')
def test_newly_created_voiceover_application_have_in_review_status(self): user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) self.assertEqual(user_voiceover_applications, []) voiceover_services.create_new_voiceover_application( suggestion_models.TARGET_TYPE_EXPLORATION, '0', 'en', '', 'audio_file.mp3', self.applicant_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) self.assertEqual(len(user_voiceover_applications), 1) self.assertEqual(user_voiceover_applications[0].status, suggestion_models.STATUS_IN_REVIEW)
def test_author_rejects_own_voiceover_application_raise_exception(self): voiceover_services.create_new_voiceover_application( suggestion_models.TARGET_TYPE_EXPLORATION, '0', 'en', '', 'audio_file.mp3', self.applicant_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) with self.assertRaisesRegexp( Exception, 'Applicants are not allowed to review their own ' 'voiceover application.'): voiceover_services.reject_voiceover_application( user_voiceover_applications[0].voiceover_application_id, self.applicant_id, 'Testing rejection')
def test_author_accepts_own_voiceover_application_raise_exception(self): voiceover_services.create_new_voiceover_application( feconf.ENTITY_TYPE_EXPLORATION, '0', 'en', '', 'audio_file.mp3', self.applicant_id) user_voiceover_applications = ( voiceover_services.get_user_submitted_voiceover_applications( self.applicant_id)) with self.assertRaisesRegexp( Exception, 'Applicants are not allowed to review their own ' 'voiceover application.'): voiceover_services.accept_voiceover_application( user_voiceover_applications[0].voiceover_application_id, self.applicant_id)