コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
    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)
コード例 #4
0
    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)
コード例 #5
0
 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)
コード例 #6
0
    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)
コード例 #7
0
 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)
コード例 #8
0
    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)
コード例 #9
0
 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)
コード例 #10
0
    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)
コード例 #11
0
    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)