def test_get_registration_detail_None_rel(self, get_method): user_id = 1 hackathon = Hackathon(id=1) get_method.return_value = None detail = {'hackathon': hackathon.dic()} self.assertEqual(self.register_manager.get_registration_detail(user_id, hackathon), detail) get_method.assert_called_once_with(1, 1)
def test_get_registration_detail_None_rel(self, get_method): user_id = 1 hackathon = Hackathon(id=1) get_method.return_value = None detail = {'hackathon': hackathon.dic()} self.assertEqual( self.register_manager.get_registration_detail(user_id, hackathon), detail) get_method.assert_called_once_with(1, 1)
def test_get_registration_detail_None_expr(self, get_method): user_id = 1 hackathon = Hackathon(id=1) rel = UserHackathonRel(id=1) get_method.return_value = rel detail = {'hackathon': hackathon.dic(), "registration": rel.dic()} db_adapter = Mock() db_adapter.find_first_object.return_value = None rm = RegisterManager(db_adapter) self.assertEqual(rm.get_registration_detail(user_id, hackathon), detail) get_method.assert_called_once_with(1, 1) db_adapter.find_first_object.assert_called_once_with(Experiment, ANY, ANY, ANY)
def test_get_registration_detail_None_expr(self, get_method): user_id = 1 hackathon = Hackathon(id=1) rel = UserHackathonRel(id=1) get_method.return_value = rel detail = {'hackathon': hackathon.dic(), "registration": rel.dic()} db_adapter = Mock() db_adapter.find_first_object.return_value = None rm = RegisterManager(db_adapter) self.assertEqual(rm.get_registration_detail(user_id, hackathon), detail) get_method.assert_called_once_with(1, 1) db_adapter.find_first_object.assert_called_once_with( Experiment, ANY, ANY, ANY)
def test_create_hackathon_register_already_exist(self, get_method): args = {'user_id': 1} hackathon = Hackathon(id=1) register = UserHackathonRel(id=1, deleted=0) get_method.return_value = register self.assertEqual( self.register_manager.create_registration(hackathon, args), register.dic()) get_method.assert_called_once_with(1, 1)
def test_validate_deleted_args_delete_creator(self): ahl = AdminHackathonRel(id=7, user_id=7, hackathon_id=7) hackathon = Hackathon(id=7, creator_id=7) db_adapter = Mock() db_adapter.find_first_object.side_effect = [ahl, hackathon] am = AdminManager(db_adapter) status, return_info = am.validate_deleted_args(1) self.assertFalse(status) self.assertEqual(return_info, precondition_failed("hackathon creator can not be deleted")) self.assertEqual(db_adapter.find_first_object.call_count, 2)
def test_create_hackathon_register_registration_not_begin( self, get_method): args = {'user_id': 1} hackathon = Hackathon(id=1, registration_start_time=self.get_now() + datetime.timedelta(seconds=30)) get_method.retrun_value = None self.assertEqual( self.register_manager.create_registration(hackathon, args), precondition_failed("hackathon registration not opened", friendly_message="报名尚未开始")) get_method.assert_called_once_with(1, 1)
def test_create_admin_already_exist(self): args = {'email': '*****@*****.**'} user = User(id=7) user_email = UserEmail(id=7, user=user, user_id=7) db_adapter = Mock() db_adapter.find_first_object.side_effect = [user_email, "test"] am = AdminManager(db_adapter) with app.test_request_context('/', headers=None): g.hackathon = Hackathon(id=7) self.assertEqual(am.create_admin(args), ok()) self.assertEqual(db_adapter.find_first_object.call_count, 2)
def test_create_hackathon_register_registration_already_finished( self, get_method): get_method.retrun_value = None args = {'user_id': 1} hackathon = Hackathon(id=1, registration_start_time=self.get_now() - datetime.timedelta(seconds=30), registration_end_time=self.get_now() - datetime.timedelta(seconds=30)) self.assertEqual( self.register_manager.create_registration(hackathon, args), precondition_failed("hackathon registration has ended", friendly_message="报名已经结束")) get_method.assert_called_once_with(1, 1)
def test_create_admin_common_logic(self): args = {'email': '*****@*****.**', 'role_type': 1, 'remarks': 'test'} user = User(id=7) user_email = UserEmail(id=7, user=user, user_id=7) db_adapter = Mock() db_adapter.find_first_object.side_effect = [user_email, None] db_adapter.add_object.return_value = "success" am = AdminManager(db_adapter) with app.test_request_context('/', headers=None): g.hackathon = Hackathon(id=7) self.assertEqual(am.create_admin(args), ok()) self.assertEqual(db_adapter.find_first_object.call_count, 2) db_adapter.add_object.assert_called_once_with(ANY)
def test_create_hackathon_register_registration_common_logic( self, auto_approve, get_method): args = {'user_id': 1} hackathon = Hackathon(id=1, registration_start_time=self.get_now() - datetime.timedelta(seconds=30), registration_end_time=self.get_now() + datetime.timedelta(seconds=30)) get_method.retrun_value = None auto_approve.return_value = True db_adapter = Mock() new_register = UserHackathonRel(id=7, user_id=1, status=RGStatus.AUTO_PASSED, deleted=0) db_adapter.add_object_kwargs.return_value = new_register rm = RegisterManager(db_adapter) self.assertEqual(rm.create_registration(hackathon, args), new_register.dic()) get_method.assert_called_once_with(1, 1) auto_approve.assert_called_once_with(hackathon)