def test_quiz_stop_last_not_set_answer(self): """ 测试停止竞猜未设置答案进行下注 :return: """ set_questions_api = SetQuestionsApi(self.game_anchor_login_name) set_questions_api.get({ 'room_id': self.game_room, 'question': self.questions, 'option_a': self.option_a, 'option_b': self.option_b }) self.assertEqual(set_questions_api.get_code(), 0) question_ids = [] for x in MysqlOperation(room_id=self.game_room).get_questions(): question_ids.append(x['id']) question_ids_json = json.dumps(question_ids) start_quiz_api = StartQuizApi(self.game_anchor_login_name) start_quiz_api.get({ 'room_id': self.game_room, 'question_bank_ids': question_ids_json }) self.assertEqual(start_quiz_api.get_code(), 0) quiz_questions_id = MysqlOperation( room_id=self.game_room).get_quiz_questions()[0]['id'] mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=50000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) stop_quiz_api = StopQuizApi(self.game_anchor_login_name) stop_quiz_api.get({'question_id': quiz_questions_id}) self.assertEqual(stop_quiz_api.get_code(), 0) get_questions_api = GetQuestionsApi(self.game_anchor_login_name) response = get_questions_api.get({'room_id': self.game_room}) self.assertEqual(get_questions_api.get_code(), 0) self.assertEqual( json.loads( response.content)['result']['question_list'][0]['status'], 2) now_time_format = datetime.datetime.now().strftime("%Y-%m-%d") self.assertIn( now_time_format, json.loads( response.content)['result']['question_list'][0]['end_time']) quiz_api = QuizApi(self.user_login_name) quiz_api.get({ 'question_id': quiz_questions_id, 'gold': '20000', 'option': 'A' }) self.assertEqual(quiz_api.get_code(), 505209) self.assertEqual(quiz_api.get_response_message(), u'对不起,管理员已停止该竞猜,快去竞猜下一个题目吧')
def test_quiz_option_null(self): """ 测试请求下注接口竞猜选项为空 :return: """ quiz_api = QuizApi(self.user_login_name) quiz_api.get({'question_id': '123', 'gold': 10000, 'option': None}) self.assertEqual(quiz_api.get_code(), 505206) self.assertEqual(quiz_api.get_response_message(), u'竞猜选项不能为空')
def test_quiz_gold_is_0(self): """ 测试请求下注接口下注金额为0 :return: """ quiz_api = QuizApi(self.user_login_name) quiz_api.get({'question_id': '123', 'gold': 0, 'option': 'A'}) self.assertEqual(quiz_api.get_code(), 100032) self.assertEqual(quiz_api.get_response_message(), u'账户金币不足')
def test_quiz_gold_is_negative(self): """ 测试请求下注接口下注金额为负数 :return: """ quiz_api = QuizApi(self.user_login_name) quiz_api.get({'question_id': '123', 'gold': -100, 'option': 'A'}) self.assertEqual(quiz_api.get_code(), 505205) self.assertEqual(quiz_api.get_response_message(), u'竞猜数额不正确')
def test_quiz_gold_null(self): """ 测试请求下注接口下注金额为空 :return: """ quiz_api = QuizApi(self.user_login_name) quiz_api.get({'question_id': '123', 'gold': None, 'option': 'A'}) self.assertEqual(quiz_api.get_code(), 505204) self.assertEqual(quiz_api.get_response_message(), u'竞猜数额不能为空')
def test_quiz_question_id_null(self): """ 测试请求下注接口问题ID为空 :return: """ quiz_api = QuizApi(self.user_login_name) quiz_api.get({'question_id': None, 'gold': 10000, 'option': 'A'}) self.assertEqual(quiz_api.get_code(), 505202) self.assertEqual(quiz_api.get_response_message(), u'问题id不能为空')
def test_quiz_question_id_error(self): """ 测试请求下注接口问题ID不存在 :return: """ mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=10000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) quiz_api = QuizApi(self.user_login_name) quiz_api.get({'question_id': '999', 'gold': 10000, 'option': 'A'}) self.assertEqual(quiz_api.get_code(), 505207) self.assertEqual(quiz_api.get_response_message(), u'竞猜题目不存在')
def test_anchor_quiz_me(self): """ 测试主播无法投注自己房间得题目 :return: """ set_questions_api = SetQuestionsApi(self.game_anchor_login_name) set_questions_api.get({ 'room_id': self.game_room, 'question': self.questions, 'option_a': self.option_a, 'option_b': self.option_b }) self.assertEqual(set_questions_api.get_code(), 0) question_ids = [] for x in MysqlOperation(room_id=self.game_room).get_questions(): question_ids.append(x['id']) question_ids_json = json.dumps(question_ids) start_quiz_api = StartQuizApi(self.game_anchor_login_name) start_quiz_api.get({ 'room_id': self.game_room, 'question_bank_ids': question_ids_json }) self.assertEqual(start_quiz_api.get_code(), 0) quiz_questions_id = MysqlOperation( room_id=self.game_room).get_quiz_questions()[0]['id'] mysql_operation = MysqlOperation(user_id=self.game_anchor_id) mysql_operation.fix_user_account(gold_num=20000) RedisHold().clean_redis_user_detail(self.game_anchor_id) time.sleep(self.time_sleep) quiz_api = QuizApi(self.game_anchor_login_name) quiz_api.get({ 'question_id': quiz_questions_id, 'gold': '20000', 'option': 'A' }) self.assertEqual(quiz_api.get_code(), 505226) self.assertEqual(quiz_api.get_response_message(), u'主播不能对自己直播间的问题进行投注')
def test_quiz_option_error(self): """ 测试请求下注接口竞猜选项错误 :return: """ set_questions_api = SetQuestionsApi(self.game_anchor_login_name) set_questions_api.get({ 'room_id': self.game_room, 'question': self.questions, 'option_a': self.option_a, 'option_b': self.option_b }) self.assertEqual(set_questions_api.get_code(), 0) question_ids = [] for x in MysqlOperation(room_id=self.game_room).get_questions(): question_ids.append(x['id']) question_ids_json = json.dumps(question_ids) start_quiz_api = StartQuizApi(self.game_anchor_login_name) start_quiz_api.get({ 'room_id': self.game_room, 'question_bank_ids': question_ids_json }) self.assertEqual(start_quiz_api.get_code(), 0) quiz_questions_id = MysqlOperation( room_id=self.game_room).get_quiz_questions()[0]['id'] mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=10000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) quiz_api = QuizApi(self.user_login_name) quiz_api.get({ 'question_id': quiz_questions_id, 'gold': 10000, 'option': 'C' }) self.assertEqual(quiz_api.get_code(), 505208) self.assertEqual(quiz_api.get_response_message(), u'竞猜选项不存在')
def test_quiz_gold_low(self): """ 测试请求下注接口金币不足 :return: """ set_questions_api = SetQuestionsApi(self.game_anchor_login_name) set_questions_api.get({ 'room_id': self.game_room, 'question': self.questions, 'option_a': self.option_a, 'option_b': self.option_b }) self.assertEqual(set_questions_api.get_code(), 0) question_ids = [] for x in MysqlOperation(room_id=self.game_room).get_questions(): question_ids.append(x['id']) question_ids_json = json.dumps(question_ids) start_quiz_api = StartQuizApi(self.game_anchor_login_name) start_quiz_api.get({ 'room_id': self.game_room, 'question_bank_ids': question_ids_json }) self.assertEqual(start_quiz_api.get_code(), 0) quiz_questions_id = MysqlOperation( room_id=self.game_room).get_quiz_questions()[0]['id'] quiz_api = QuizApi(self.user_login_name) quiz_api.get({ 'question_id': quiz_questions_id, 'gold': 10000, 'option': 'A' }) self.assertEqual(quiz_api.get_code(), 100032) self.assertEqual(quiz_api.get_response_message(), u'账户金币不足')