class CommissionServiceBaseTest(unittest.TestCase): """佣金计算 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.commissionService = account_management.CommissionService( self.__http) self.user.login() def tearDown(self): self.user.logout() def test_CommissionService_relatedApi_status_01(self): """驗證 佣金计算 - 取得頁面(新)""" response_data = self.commissionService.index({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_CommissionService_relatedApi_status_02(self): """驗證 佣金计算 - 取得結果(新)""" data = { "param": { "DateBegin": common_config.BeginDate, "DateEnd": common_config.EndDate }, "connectionId": self.user.info() } response_data = self.commissionService.getCommission(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class WalletTransferRecordBaseTest(unittest.TestCase): """ 优惠钱包额度移转 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.walletTransferRecord = reports.WalletTransferRecord(self.__http) self.user.login() def tearDown(self): self.user.logout() def test_GameSupplierTransaction_relatedApi_status_01(self): """ 优惠钱包额度移转 - 搜尋""" data = { "TransactionTimeStart": common_config.BeginDate, "TransactionTimeEnd": common_config.EndDate } response_data = self.walletTransferRecord.search(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_GameSupplierTransaction_relatedApi_status_02(self): """ 优惠钱包额度移转 - 匯出""" data = { "TransactionTimeStart": common_config.BeginDate, "TransactionTimeEnd": common_config.EndDate } response_data = self.walletTransferRecord.export(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class system_config_Setting(object): # 抓取所有的接口分類/Home底下、返水等級、會員等級 def __init__(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.user.login() self.home = Home.Home(self.__http) def getDiscountSettingId(self): # 返水設定 response_data = self.home.getAllDiscountSettings({}) for i in range(len(response_data[1])): if self.config.DiscountSetting_config() == response_data[1][i]['Text']: Id = response_data[1][i]['Value'] return Id def getMemberLevelId(self): # 會員等級 level = self.home.getAllMemberLevels({}) for i in range(len(level[1])): if self.config.MemberLevelSetting_config() == level[1][i]['Text']: Id = level[1][i]['Value'] return Id def getMemberLevelId_2(self): # 會員等級_2 level = self.home.getAllMemberLevels({}) for i in range(len(level[1])): if self.config.MemberLevelSetting_2_config() == level[1][i]['Text']: Id = level[1][i]['Value'] return Id
class MemberSearchAdjustReturnErrorMessage(unittest.TestCase): """会员查询:調整回傳錯誤訊息""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.memberSearch = member_and_agent.MemberSearch(self.__http) self.user.login() def tearDown(self): self.user.logout() def test_member_search_request_payload_have_connectionId(self): """驗證 会员查询 Request Payload 有帶 Connection Id""" data = {"Account": "hsiang", "connectionId": self.user.info()} response_data = self.memberSearch.search(data) error_message = response_data[1]['ErrorMessage'] self.assertEqual(error_message, None) def test_member_search_request_payload_have_not_connectionId(self): """驗證 会员查询 Request Payload 未帶 Connection Id""" # 因修改查詢頻率限制 sleep(1.5) data = {"Account": "hsiang"} response_data = self.memberSearch.search(data) error_message = response_data[1]['ErrorMessage'] self.assertEqual(error_message, "connectionId cannot be null.")
class RegisterCopyWritingBaseTest(unittest.TestCase): """ 會員註冊文案 - 相關 API 調用狀態""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.registerCopyWriting = PortalManagement.RegisterCopywriting(self.__http) self.PortalManagement = PortalManagement(self.__http) self.user.login() def tearDown(self): self.user.logout() def getWebsiteId(self): response_data = self.PortalManagement.getWebsiteList({}) for i in range(len(response_data[1]['ReturnObject'])): if self.config.siteName_config() == response_data[1]['ReturnObject'][i]['Name']: Id = response_data[1]['ReturnObject'][i]['Id'] return Id def getOtherWebsiteId(self): response_data = self.PortalManagement.getWebsiteList({}) for i in range(len(response_data[1]['ReturnObject'])): if self.config.other_Website_config() == response_data[1]['ReturnObject'][i]['Name']: Id = response_data[1]['ReturnObject'][i]['Id'] return Id def test_ModifyRegisterCopywriting_relatedApi_status_01(self): """ 會員註冊文案 - 取得文案 狀態""" data = {"WebsiteId": self.getWebsiteId()} response_data = self.registerCopyWriting.GetRegisterCopywriting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_ModifyRegisterCopywriting_relatedApi_status_02(self): """ 會員註冊文案 - 修改文案 狀態""" # 直接取得文案 data = {"WebsiteId": self.getWebsiteId()} response_data = self.registerCopyWriting.GetRegisterCopywriting(data) getCopyWriting = response_data[1]['Copywriting'] getAgreementSetting = response_data[1]['AgreementSetting'] data = {"websiteId": self.getWebsiteId(), "copywriting": getCopyWriting, "agreementSetting": getAgreementSetting} response_data = self.registerCopyWriting.ModifyRegisterCopywriting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_ModifyRegisterCopywriting_relatedApi_status_03(self): """ 會員註冊文案 - 複製到其他網站 狀態""" data = {"FromWebsiteId": self.getWebsiteId(), "ToWebsiteIdList": [self.getOtherWebsiteId()]} response_data = self.registerCopyWriting.CopyRegisterCopywriting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class SearchGameNumber(unittest.TestCase): """驗證局號查詢功能正常""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.betting = reports.BetRecords(self.__http) self.user.login() def tearDown(self): self.user.logout() @parameterized.expand([ # ("verify_bureau_number_query_AG", 'AgBr', 2), # AG 暫時注解! ("verify_bureau_number_query_CQ9", 'Cq9Slot', 1), ("verify_bureau_number_query_PNG", 'PngSlot', 4), ("verify_bureau_number_query_GPK", 'Rg2Slot', 2), ]) def testCase(self, name, game_type, data_location): self.verifyGameNumberFunctionIsNormally(game_type, data_location) def verifyGameNumberFunctionIsNormally(self, game_type, data_location): # step1 search betRecordId data = { "WagersTimeBegin": common_config.WagersTimeBegin, "GameCategories": game_type, "connectionId": self.user.info() } response_data = self.betting.search(data) # 判斷是否有注單存在 self.assertNotEqual([], response_data[1]['PageData'], '目前查詢區間無資料,請產生測試注單!!') self.betRecordId = response_data[1]['PageData'][0]['Id'] # step2 get GameNumber1 data = {"id": self.betRecordId} response_data = self.betting.getRawData(data) self.gameNumber1 = response_data[1]['List'][data_location]['Value'] # step3 search GameNumber data = { "WagersTimeBegin": common_config.WagersTimeBegin, "GameCategories": game_type, "Round": self.gameNumber1, "connectionId": self.user.info() } response_data = self.betting.search(data) self.betRecordId = response_data[1]['PageData'][0]['Id'] # step4 get GameNumber2 data = {"id": self.betRecordId} response_data = self.betting.getRawData(data) self.gameNumber2 = response_data[1]['List'][data_location]['Value'] # step5 assert equal GameNumber1, GameNumber2 self.assertEqual(str(self.gameNumber1), str(self.gameNumber2))
class VerifyValueDifferenceForWithdraw(unittest.TestCase): """驗證人工提款流程""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.memberSearch = member_and_agent.MemberSearch(self.__http) self.memberWithdraw = member_and_agent.MemberWithdraw(self.__http) self.user.login() @parameterized.expand([ ("Verify_withdraw_type_manual", 4), # 驗證提款類型手冊 ("Verify_withdraw_type_bonus", 5), # 驗證提款類型獎金 ("Verify_withdraw_type_discount", 6), # 驗證提現類型折扣 ("Verify_withdraw_type_reissuePayOff", 7), # 確認提款類型重新簽發 ("Verify_withdraw_type_other", 99), # 驗證提款類型其他 ]) def testCase(self, name, withdraw_type): # 測試案例名稱、提款類型 # 因修改查詢頻率限制 # sleep(1.5) SetDelayTime() # Step1 取得目前帳戶餘額 data = {"Account": "QAUser", "connectionId": self.user.info()} response_data = self.memberSearch.search(data) self.beforeWithdrawSumBalance = response_data[1]['PageData'][0]['Balance'] # Step2 取得會員ID data = {"Account": "QAUser"} response_data = self.memberSearch.get_detail(data) self.memberId = response_data[1]['Member']['Id'] # Step3 人工提出 api 呼叫 data = {"id": self.memberId, "money": 5, "type": withdraw_type, "password": master_config.Master_Password, "isReal": 'false', "memo": "test123"} self.submit = self.memberWithdraw.withdraw_submit(data) # Step4 再次取得目前帳戶餘額 # sleep(1.5) SetDelayTime() data = {'Account': 'QAUser', 'connectionId': self.user.info()} response_data = self.memberSearch.search(data) self.afterWithdrawSumBalance = response_data[1]['PageData'][0]['Balance'] # Step5 進行驗證 self.assertEqual(int(self.beforeWithdrawSumBalance) - int(self.afterWithdrawSumBalance), 5) def tearDown(self): self.user.logout()
class AgentSearchBaseTest(unittest.TestCase): """代理商查询 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.agentSearch = member_and_agent.AgentSearch(self.__http) self.user.login() def tearDown(self): self.user.logout() def test_AgentSearch_relatedApi_status_01(self): """驗證 代理商查询頁面 狀態""" response_data = self.agentSearch.query({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AgentSearch_relatedApi_status_02(self): """驗證 代理商查詢頁面 取得所有會員等級""" response_data = self.agentSearch.get_all_member_levels({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AgentSearch_relatedApi_status_03(self): """驗證 代理商查詢頁面 取得所有返水設定""" response_data = self.agentSearch.get_all_discount_settings({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AgentSearch_relatedApi_status_04(self): """驗證 代理商查詢頁面 取得所有佣金設定""" response_data = self.agentSearch.get_all_commission_settings({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AgentSearch_relatedApi_status_05(self): """驗證 代理商查詢頁面 取得所有代理商等級""" response_data = self.agentSearch.getAllLevel({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AgentSearch_relatedApi_status_06(self): """驗證 代理商查詢頁面 取得所有代理商等級""" response_data = self.agentSearch.search({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AgentSearch_relatedApi_status_07(self): """驗證 代理商查詢頁面 匯出Excel""" response_data = self.agentSearch.export({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class TransactionReportSummaryBaseTest(unittest.TestCase): """總存取款匯出 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.TransactionReportSummary = account_management.TransactionReportSummary( self.__http) self.user.login() def tearDown(self): self.user.logout() def switchMonthDay(self, mode): if mode == 1: # 月 data = { 'beginDate': common_config.FirstDay, 'endDate': common_config.EndDay, 'isByMonth': 1 } return self.TransactionReportSummary.reportExport(data) elif mode == 0: # 日 data = { 'beginDate': common_config.BeginDate, 'endDate': common_config.EndDate, 'isByMonth': 0 } return self.TransactionReportSummary.reportExport(data) def test_TransactionReportSummary_baseApi_status_01(self): """驗證 總存取款匯出-總存取款匯出頁面 狀態""" response_data = self.TransactionReportSummary.summary({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_TransactionReportSummary_baseApi_status_02(self): """驗證 總存取款匯出-總存取款匯出 -日 狀態""" response_data = self.switchMonthDay(0) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_TransactionReportSummary_baseApi_status_03(self): """驗證 總存取款匯出-總存取款匯出 -月 狀態""" response_data = self.switchMonthDay(1) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_TransactionReportSummary_baseApi_status_04(self): """驗證 總存取款匯出-大量匯出時更新狀態 狀態""" response_data = self.TransactionReportSummary.updateStatus({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class MemberLoginBaseTest(unittest.TestCase): """登入记录查询- 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.memberLogin = reports.MemberLogin(self.__http) self.user.login() def tearDown(self): self.user.logout() def test_MemberLoginRecords_relatedApi_status_01(self): """驗證 登入记录查询 - 查詢頁面 狀態""" response_data = self.memberLogin.query({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberLoginRecords_relatedApi_status_02(self): """驗證 查詢v2 狀態""" response_data = self.memberLogin.searchV2({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberLoginRecords_relatedApi_status_03(self): """驗證 登入记录查询 - 取得詳細頁面 狀態""" response_data = self.memberLogin.detail({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberLoginRecords_relatedApi_status_04(self): """驗證 登入记录查询 - 取得詳細資料 狀態""" # STEP1 response_data = self.memberLogin.searchV2({}) ff = len(response_data[1]['PageData']) flag = random.randint(0, ff - 1) loginId = response_data[1]['PageData'][flag]['Id'] # STEP2 data = {"id": loginId} response_data = self.memberLogin.getDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberLoginRecords_relatedApi_status_05(self): """驗證 登入记录查询 - 匯出 狀態""" response_data = self.memberLogin.export({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class RetentionListUsers(unittest.TestCase): """ 會員流失預測 - 相關 API 調用狀態""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.home = Home(self.__http) self.siteParameter = retentionListUsers(self.__http) self.user.login() # 登出 def tearDown(self): self.user.logout() def getlist(self): data = {"pageSize": 25, "pageIndex": 0} items = self.siteParameter.GetList(data) for i in range(len(items[1]['ReturnObject'])): MemberId = items[1]['ReturnObject'][i]['MemberId'] return MemberId def test_RetentionListUsers_relatedApi_status_01(self): """驗證 會員流失預測 - 獲取計算時間 狀態""" data = {} response_data = self.siteParameter.GetComputeTime(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_RetentionListUsers_relatedApi_status_02(self): """驗證 會員流失預測 - 取得列表 狀態""" data = {"pageSize": 25, "pageIndex": 0} response_data = self.siteParameter.GetList(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_RetentionListUsers_relatedApi_status_03(self): """驗證 會員流失預測 - 取得詳細列表 狀態""" data = {"memberId": self.getlist()} response_data = self.siteParameter.GetDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_RetentionListUsers_relatedApi_status_04(self): """驗證 會員流失預測 - 匯出檔案 狀態""" data = {} response_data = self.siteParameter.Export(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class PortalManagementBaseTest(unittest.TestCase): """ 網站版面 - 相關 API 調用狀態""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.siteParameter = PortalManagement.PortalManagement(self.__http) self.PortalManagement = PortalManagement(self.__http) self.user.login() # 登出 def tearDown(self): self.user.logout() # 取站台ID def getWebsiteId(self): response_data = self.PortalManagement.getWebsiteList({}) for i in range(len(response_data[1]['ReturnObject'])): if self.config.siteName_config( ) == response_data[1]['ReturnObject'][i]['Name']: Id = response_data[1]['ReturnObject'][i]['Id'] return Id def test_GetProductSetting_relatedApi_status_01(self): """ 網站版面 - 取得網站版面獲取產品設置 電腦&直向&橫向 狀態""" ID = self.getWebsiteId() deviceType = [1, 2, 3] for x in deviceType: data = {"device": x, "websiteId": ID} response_data = self.siteParameter.GetProductSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_SaveProductSetting_relatedApi_status_02(self): """ 網站版面 - 修改標題名稱&前台顯示站名 電腦&直向&橫向 狀態""" ID = self.getWebsiteId() menu = random.randint(1, 50) deviceType = [1, 2, 3] for i in deviceType: data = { "websiteId": ID, "device": i, "titleName": "Stage 测试站" + str(menu), "portalSiteName": "Stage 测试站" + str(menu) } response_data = self.siteParameter.SaveProductSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class MemberTagsTest(unittest.TestCase): """會員標籤 - 相關 API 調用狀態""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.memberTags = member_and_agent.MemberTags(self.__http) self.user.login() def test_MemberTags_relatedApi_status_01(self): """會員標籤 - 取得所有標籤 狀態""" response_data = self.memberTags.getTags({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberTags_relatedApi_status_02(self): """會員標籤 - 新增標籤 狀態""" TagsId = self.GetLastMemberTags() data = { 'newTag': self.config.singleTag_config(), 'memberTagId': TagsId, 'account': self.config.test_Member_config() } response_data = self.memberTags.addMemberTag(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberTags_relatedApi_status_03(self): """會員標籤 - 刪除標籤 狀態""" # 呼叫取得會員標籤 API 後取最後一筆資料 TagsId = self.GetLastMemberTags() data = { 'account': self.config.test_Member_config(), 'memberTagId': TagsId } response_data = self.memberTags.removeMamberTag(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def GetLastMemberTags(self): getMemberTagsData = self.memberTags.getTags({}) for i in range(len(getMemberTagsData[1]['ReturnObject'])): if getMemberTagsData[1]['ReturnObject'][i][ 'Name'] == self.config.singleTag_config(): getTagsId = getMemberTagsData[1]['ReturnObject'][i]['Id'] return getTagsId
class LostDiscountMembersBaseTest(unittest.TestCase): """時返異常紀錄- 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.lostDiscountMembers = account_management.LostDiscountMembers(self.__http) self.user.login() def tearDown(self): self.user.logout() def test_LostDiscountMembers_baseApi_status_01(self): """驗證 時返異常紀錄 - 頁面狀態""" data = {'query': {'Status': [1, 2], 'IsCheckStatus': 'true'}, 'take': 100, 'skip': 0} response_data = self.lostDiscountMembers.getLostDiscountMembers(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class GameHallType(object): # 活動類娛樂城種類 def __init__(self): self.__http = HttpRequest() self.user = User(self.__http) self.user.login() self.betRecord = reports.BetRecords(self.__http) def GameCategories(self): # 取得娛樂城種類 gameCategories = [] response_data = self.betRecord.getSupplierCategories({}) categories = len(response_data[1]) print(categories) # 總共娛樂城數量 for i in range(categories): for j in range(len(response_data[1][i]['Categories'])): gameCategories.append(response_data[1][i]['Categories'][j]['PropertyName']) return gameCategories
class TrailLogin(unittest.TestCase): """試玩帳號登入 - 確認可以登入成功""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.trail = member_and_agent.Trial(self.__http) self.user.login() def tearDown(self): self.user.logout() def test_trailLogin(self): """試玩帳號登入""" Id = self.getId() # 取得ID data = {"id": Id} self.trail.allow(data) account = self.get_trailAccount() # 取得帳號 password = self.get_trailPassword() # 取得密碼 self.portal = PortalExecution() validateData = self.portal.Trail_Login(account, password) # 試玩登入並且取得登入成功後的試玩帳號 self.assertEqual(validateData, account) def getId(self): data = {"count": 100, "skip": 0} response_data = self.trail.load(data) Id = response_data[1][0]['Id'] return Id def get_trailAccount(self): data = {"count": 100, "skip": 0} response_data = self.trail.load(data) Account = response_data[1][0]['Account'] return Account def get_trailPassword(self): data = {"count": 100, "skip": 0} response_data = self.trail.load(data) Password = response_data[1][0]['Password'] return Password
class AgTransferRecordBaseTest(unittest.TestCase): """AG 交易紀錄匯出 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.agTransferRecord = reports.AgTransferRecord(self.__http) self.user.login() def tearDown(self): self.user.logout() def test_AgTransferRecord_baseApi_status_01(self): """驗證 AG交易记录汇出 - 頁面狀態""" response_data = self.agTransferRecord.index({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AgTransferRecord_baseApi_status_02(self): """驗證 AG交易记录汇出 - 取得種類""" response_data = self.agTransferRecord.getAgTrTypeList({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AgTransferRecord_baseApi_status_03(self): """驗證 AG交易记录汇出 - 匯出""" data = { "dateBegin": common_config.BeginDate, "dateEnd": common_config.EndDate, "trtype": [ "COMP_ENROLL", "COMP_PRIZE", "COMP_REFUND", "DONATEFEE", "EVENT_PRIZE", "PROPFEE", "RED_POCKET", "SLOTEVENT" ] } response_data = self.agTransferRecord.exportAgTransferRecord(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class GameSupplierTransactionBaseTest(unittest.TestCase): """ 娛樂城轉帳紀錄查詢 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.gameSupplierTransaction = reports.GameSupplierTransaction(self.__http) self.user.login() def tearDown(self): self.user.logout() def test_GameSupplierTransaction_relatedApi_status_01(self): """驗證 娛樂城轉帳紀錄查詢 - 取得頁面狀態""" response_data = self.gameSupplierTransaction.index({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_GameSupplierTransaction_relatedApi_status_02(self): """驗證 娛樂城轉帳紀錄查詢 - 搜尋""" data = { "Account": "hsiang", "transactionDateBegin": common_config.BeginDate, "transactionDateEnd": common_config.EndDate } response_data = self.gameSupplierTransaction.search(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_GameSupplierTransaction_relatedApi_status_03(self): """驗證 娛樂城轉帳紀錄查詢 - 匯出""" data = {"Account": "hsiang", "transactionDateBegin": common_config.BeginDate, "transactionDateEnd": common_config.EndDate } response_data = self.gameSupplierTransaction.export(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class VerifyBetRecordHistoryData(unittest.TestCase): """驗證历史投注记录查询每個月都注單""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.betRecordHistory = reports.BetRecordHistory(self.__http) self.user.login() def tearDown(self): self.user.logout() def testCase(self): """驗證历史投注记录查询注單""" # 測試案例名稱、傳入帳號、傳入投注時間、傳入派彩時間 # step1 response_data = self.betRecordHistory.getHistoryDateRange({}) timeBegin = re.split('[()]', response_data[1][0])[1][:10] timeEnd = re.split('[()]', response_data[1][1])[1][:10] timeBegin = datetime.datetime.utcfromtimestamp( int(timeBegin)).strftime("%Y-%m-%d %H:%M:%S") timeEnd = datetime.datetime.utcfromtimestamp( int(timeEnd)).strftime("%Y-%m-%d %H:%M:%S") # Step2 歷史投注紀錄查詢 api 呼叫 data = { "Account": self.config.test_Member_config(), "WagersTimeBegin": timeBegin, "WagersTimeEnd": timeEnd, "PayoffTimeBegin": timeBegin, "PayoffTimeEnd": timeEnd, "connectionId": self.user.info() } self.responseData = self.betRecordHistory.search(data) # Step3 進行驗證判斷回傳的PageData不為空 self.assertNotEqual([], self.responseData[1]['PageData'], '目前查詢區間無資料,請產生測試注單!!')
class GPKRewardRecordsBaseTest(unittest.TestCase): """ GPK2打賞匯出 - 相關 API 調用狀態""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.home = Home(self.__http) self.siteParameter = GPKRewardRecords(self.__http) self.PortalManagement = PortalManagement(self.__http) self.user.login() # 登出 def tearDown(self): self.user.logout() def test_GPKRewardRecords_relatedApi_status_01(self): """驗證 匯出 - GPK2打賞Excel 狀態""" data = { "dateBegin": TimeClass.betRecord_start(), "dateEnd": TimeClass.betRecord_end() } response_data = self.siteParameter.getExcel(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class SuperSearchTest(unittest.TestCase): """超級會員查詢 功能驗證流程""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.memberSearch = member_and_agent.MemberSearch(self.__http) # 會員搜尋 self.memberDetail = member_and_agent.MemberDetail(self.__http) # 會員詳細 self.memberTags = member_and_agent.MemberTags(self.__http) # 會員標籤 self.home = Home(self.__http) self.user.login() @classmethod def timestamp(cls): return int(time.time()) def GetMemberStates(self): """取得所有狀態值""" data = {} response_data = self.memberSearch.getMemberStates(data) item = [] for i in range(len(response_data[1])): item.append(response_data[1][i]["Value"]) return item def getAllDiscountSettings(self): # 取全部的返水等級,放在一個item data = {} response_data = self.home.getAllDiscountSettings(data) item = [] for i in range(len(response_data[1])): item.append(response_data[1][i]['Value']) return item def getAllMemberLevels(self): # 取全部的會員等級,放在一個item data = {} response_data = self.home.getAllMemberLevels(data) item = [] for i in range(len(response_data[1])): item.append(response_data[1][i]['Value']) return item def getmemberTags(self): # 取全部的會員標籤,放在一個item data = {} response_data = self.memberTags.getTags(data) item = [] for i in range(len(response_data[1]["ReturnObject"])): item.append(response_data[1]["ReturnObject"][i]['Id']) return item def test_MemberV2_relatedApi_status_01(self): """驗證 超級會員查詢 - 取得超級會員顯示欄位 功能""" data = {} response_data = self.memberSearch.getColumnForSuperSearch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberV2_relatedApi_status_02(self): """超級會員查詢 - 單一會員查詢""" data = { "connectionId": self.user.info(), "search": { "account": self.config.MasterMember(), "_": SuperSearchTest.timestamp() } } response_data = self.memberSearch.superSearch(data) validateData = response_data[1]['ReturnObject'][ 'MemberInformationList'][0]['Account'] self.assertEqual(self.config.MasterMember(), validateData, '搜尋出來的帳號不一致') def test_MemberV2_relatedApi_status_03(self): """超級會員查詢 - 多個會員查詢""" configData = self.config.batch_Member_config().split(',') data = { "connectionId": self.user.info(), "pageIndex": 0, "search": { "account": self.config.batch_Member_config(), "_": SuperSearchTest.timestamp() } } response_data = self.memberSearch.superSearch(data) for i in range(response_data[1]['ReturnObject']['TotalCount']): validateData = response_data[1]['ReturnObject'][ 'MemberInformationList'][i]['Account'] if bool(configData[i] != validateData): self.assertNotEqual(configData[i], validateData, '搜尋出來的帳號不一致') else: self.assertEqual(configData[i], validateData) def test_MemberV2_relatedApi_status_04(self): """超級會員查詢 - 帳戶餘額查詢""" # configData = 1.01 data = { "connectionId": self.user.info(), "search": { "_": SuperSearchTest.timestamp(), "balanceMin": 1, "balanceMax": 1.01 } } response_data = self.memberSearch.GetSuperSearchSumBalance(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) # for i in range(10): # validateData = response_data[1]['ReturnObject']['MemberInformationList'][i]['Balance'] # if bool(configData <= validateData): # self.assertEqual(bool(configData <= validateData), True) # else: # self.assertEqual(bool(configData <= validateData), False, '金額錯誤,超出預期條件') def test_MemberV2_relatedApi_status_05(self): """超級會員查詢 - 餘額寶餘額查詢""" # configData = 20 data = { "connectionId": self.user.info(), "pageIndex": 0, "search": { "yuebaoMin": 10, "yuebaoMax": 20, "_": SuperSearchTest.timestamp(), "export": { "columnIds": [22], "advancedColumn": [] } } } response_data = self.memberSearch.superSearch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) # for i in range(10): # validateData = response_data[1]['ReturnObject']['MemberInformationList'][i]['YuebaoAmount'] # if bool(configData >= validateData): # self.assertEqual(bool(configData >= validateData), True) # else: # self.assertEqual(bool(configData <= validateData), False, '金額錯誤,超出預期條件') def test_MemberV2_relatedApi_status_06(self): """超級會員查詢 - 停用、啟用、錢包凍結、系統停用、系統錢包凍結 狀態查詢""" # configData = 0 status = self.GetMemberStates() for i in range(len(status)): data = { "connectionId": self.user.info(), "pageIndex": 0, "search": { "_": SuperSearchTest.timestamp(), "state": i, "export": { "columnIds": [6], "advancedColumn": [] } } } response_data = self.memberSearch.superSearch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberV2_relatedApi_status_07(self): """超級會員查詢 - 會員等級隨機取樣查詢""" Leves = random.choice(self.getAllMemberLevels()) data = { "connectionId": self.user.info(), "pageIndex": 0, "search": { "_": SuperSearchTest.timestamp(), "state": Leves, "export": { "columnIds": [6], "advancedColumn": [] } } } response_data = self.memberSearch.superSearch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberV2_relatedApi_status_08(self): """超級會員查詢 - 會員標籤隨機取樣查詢""" Tags = random.choice(self.getmemberTags()) data = { "connectionId": self.user.info(), "pageIndex": 0, "search": { "memberTagIds": [Tags], "_": SuperSearchTest.timestamp() } } response_data = self.memberSearch.superSearch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberV2_relatedApi_status_09(self): """超級會員查詢 - 返水等級隨機取樣查詢""" DiscountSettings = random.choice(self.getAllDiscountSettings()) data = { "connectionId": self.user.info(), "pageIndex": 0, "search": { "discountSettingId": [DiscountSettings], "_": SuperSearchTest.timestamp() } } response_data = self.memberSearch.superSearch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberV2_relatedApi_status_10(self): """超級會員查詢 - 匯出EXcel""" data = { "search": { "search": 'true', "gameSupplierType": 1, "_": SuperSearchTest.timestamp(), "page": 1 }, "connectionId": self.user.info(), "columnIds": [], "advancedColumn": [] } response_data = self.memberSearch.ExportForSuperSearch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberV2_relatedApi_status_11(self): """超級會員查詢 - 驗證選取顯示欄位""" data = { "connectionId": self.user.info(), "pageIndex": 0, "search": { "gameSupplierType": 1, "_": SuperSearchTest.timestamp(), "export": { "columnIds": [0, 1], "advancedColumn": [] } } } response_data = self.memberSearch.superSearch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_MemberV2_relatedApi_status_12(self): """超級會員查詢 - 更多條件_注冊裝置驗證""" data = { "connectionId": self.user.info(), "pageIndex": 0, "search": { "advanceSearch": { "memberInfoRequest": { "registerDevice": 1 } }, "_": SuperSearchTest.timestamp() } } response_data = self.memberSearch.superSearch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class StatisticsBaseTest(unittest.TestCase): """ 統計報表 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.statistics = reports.Statistics(self.__http) self.user.login() def tearDown(self): self.user.logout() def test_Statistics_relatedApi_status_01(self): """驗證 統計報表 - 取得頁面狀態""" response_data = self.statistics.index({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_Statistics_relatedApi_status_02(self): """驗證 統計報表 - 取得代理商或會員資訊""" data = {"account": "GPK_A", "isMember": "false"} response_data = self.statistics.getAgentInfo(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_Statistics_relatedApi_status_03(self): """驗證 統計報表 - 取得統計資訊(起始日期、結束日期、代理商帳號)""" data = { "begin": common_config.BeginDate, "end": common_config.EndDate, "agent": "GPK_A" } response_data = self.statistics.getCategoryInfo(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_Statistics_relatedApi_status_04(self): """驗證 統計報表 - 取得統計資料會員數""" data = { "begin": common_config.BeginDate, "end": common_config.EndDate, "agent": "GPK_A" } response_data = self.statistics.getMemberCount(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_Statistics_relatedApi_status_05(self): """驗證 統計報表 - 取得統計報表詳細資料""" data = { "begin": common_config.BeginDate, "end": common_config.EndDate, "agent": "GPK_A", "types": " ", "orderBy": "Commissionable", "reverse": "true", "take": "100", "skip": "0" } response_data = self.statistics.getDetailInfo(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_Statistics_relatedApi_status_06(self): """驗證 統計報表 - 匯出""" data = { "begin": common_config.WagersTimeBegin, "end": common_config.FirstDay, "agent": "", "types": "", 'isExportGameName': 'true' } response_data = self.statistics.export(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_Statistics_relatedApi_status_07(self): """驗證 統計報表 - 更新狀態""" response_data = self.statistics.UpdateStatus({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class ThirdPartyPaymentBaseTest(unittest.TestCase): """ 线上支付看板 - 相關 API 調用狀態""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.siteParameter = account_management.ThirdPartyPayment(self.__http) self.user.login() def tearDown(self): self.user.logout() @classmethod def Master_login(cls): cls.__http = HttpRequest() cls.user = User(cls.__http) cls.thirdPartyPayment = account_management.ThirdPartyPayment( cls.__http) cls.user.login() def getId(self): data = {"count": 25, "query": {"isDTPP": 'true', "search": 'null'}} response_data = self.thirdPartyPayment.load_new(data) getId = response_data[1]['Data'][0]['Id'] return getId def test_ThirdPartyPayment_relatedApi_status_01(self): """驗證 线上支付看板 - 取得頁面""" ThirdPartyPaymentBaseTest.Master_login() response_data = self.thirdPartyPayment.get_index_page({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_ThirdPartyPayment_relatedApi_status_02(self): """驗證 线上支付看板 - 取得列表資料""" data = {"count": "25", "query": {"isDTPP": "true", "search": "null"}} response_data = self.siteParameter.load_new(data) status_code = response_data[0] # self.get_verify_deposit_id = response_data[1]['Data'][0]['Id'] # 暫時拿掉 self.assertEqual(status_code, common_config.Status_Code) def test_ThirdPartyPayment_relatedApi_status_03(self): """驗證 线上支付看板 - 匯出""" data = {"isDTPP": "true", "search": "null"} response_data = self.siteParameter.export(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_ThirdPartyPayment_relatedApi_status_04(self): """驗證 线上支付看板 - 取得訂單狀態""" response_data = self.thirdPartyPayment.get_apply_states({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) # def test_ThirdPartyPayment_relatedApi_status_05(self): # """驗證 线上支付看板 - 取得詳細頁面""" # data = {} # response_data = self.statistics.detailPage(data) # status_code = response_data[0] # self.assertEqual(status_code, Config.Status_Code) # # def test_ThirdPartyPayment_relatedApi_status_06(self): # """驗證 线上支付看板 - 取得詳細資料""" # data = {"count": 100, # "query": # {"search": None} # } # response_data = self.statistics.load(data) # self.get_verify_deposit_id = response_data[1]['Data'][0]['Id'] # # data = {"id": self.get_verify_deposit_id} # response_data = self.statistics.getDetail(data) # status_code = response_data[0] # self.assertEqual(status_code, Config.Status_Code) def test_ThirdPartyPayment_relatedApi_status_07(self): """驗證 线上支付看板 - 拒絕 狀態""" self.portal = Portal_test() self.portal.OnlineDeposit_Create_V2(self.config.test_Member_config(), self.config.test_Password_config()) self.portal.OnlineDeposit_Send_V2(self.config.test_Member_config(), self.config.test_Password_config()) ThirdPartyPaymentBaseTest.Master_login() Id = self.getId() data = {'id': Id} response_data = self.thirdPartyPayment.cancel_dtpp_order(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_ThirdPartyPayment_relatedApi_status_08(self): """驗證 线上支付看板 - 同意 狀態""" self.portal = Portal_test() self.portal.OnlineDeposit_Create_V2(self.config.test_Member_config(), self.config.test_Password_config()) self.portal.OnlineDeposit_Send_V2(self.config.test_Member_config(), self.config.test_Password_config()) Id = self.getId() data = {'id': Id} response_data = self.thirdPartyPayment.allow_dTPP_manual(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class YuebaoBoardBaseTest(unittest.TestCase): """ 余额宝看板 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.yuebaoBoard = account_management.YuebaoBoard(self.__http) self.AllMemberLevels = Home.Home(self.__http) self.user.login() def tearDown(self): self.user.logout() def IdList(self): IDs = {'Id': '', 'OuterId': ''} data = {"pageSize": 5, "search": {}} response_data = self.yuebaoBoard.list(data) for i in range(len( response_data[1]['ReturnObject']['BoardListItems'])): IDs['Id'] = response_data[1]['ReturnObject']['BoardListItems'][i][ 'Id'] IDs['OuterId'] = response_data[1]['ReturnObject'][ 'BoardListItems'][i]['OuterId'] return IDs def GetAllMemberLevels(self): data = {} response_data = self.AllMemberLevels.getAllMemberLevels(data) return response_data[1] def test_YuebaoBoard_relatedApi_status_01(self): """驗證 余额宝 - 取得看板頁面""" response_data = self.yuebaoBoard.index({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_YuebaoBoard_relatedApi_status_02(self): """驗證 余额宝 - 取得看板列表資料""" data = {"pageSize": 100, "search": {}} response_data = self.yuebaoBoard.list(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_YuebaoBoard_relatedApi_status_03(self): """驗證 余额宝 - 取得總計數據""" data = {"search": {}} response_data = self.yuebaoBoard.summary(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_YuebaoBoard_relatedApi_status_04(self): """驗證 餘額寶看板 - 匯出Excel""" items = self.GetAllMemberLevels() for i in range(len(items)): data = { 'MemberLevelSettingIds': [items[i]['Value']], "_": time.time() } response_data = self.yuebaoBoard.export(data) print(response_data[1]) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_YuebaoBoard_relatedApi_status_05(self): """驗證 餘額寶看板 - 匯出Excel-未帶搜尋條件匯出Excel""" data = {"_": time.time()} response_data = self.yuebaoBoard.export(data) errorMessage = response_data[1]['ErrorMessage'] self.assertEqual(errorMessage, '请带入搜寻条件') def test_YuebaoBoard_relatedApi_status_06(self): """驗證 餘額寶看板 - 余额宝看板明细""" IDs = self.IdList() data = {"outerId": IDs['OuterId'], "id": IDs['Id']} response_data = self.yuebaoBoard.detail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class NewLuckyWheelBaseTest(unittest.TestCase): """ 时来运转 - 相關 API 調用狀態""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.newLuckyWheel = ActivityManagement.NewLuckyWheel(self.__http) self.PortalManagement = PortalManagement(self.__http) self.user.login() def tearDown(self): self.user.logout() def create_NewLuckyWheel_mode(self, mode): # 讀取系統檔案來決定獎品數量 self.system = system_config_Setting() self.gameHall = GameHallType() BeginTime = (datetime.now() + timedelta(hours=-12)).strftime("%Y/%m/%d %H:%M:%S") EndTime = (datetime.now() + timedelta(hours=-11)).strftime("%Y/%m/%d %H:%M:%S") if mode == 6: data = { "RewardInfoList": [{ "status": 2, "RewardType": "1", "RewardTitle": "A", "RewardName": "1st", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "再来一次", "Probability": 10 }, { "status": 2, "RewardType": "2", "RewardTitle": "B", "RewardName": "2nd", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "奖金", "Price": 1, "Audit": 1, "Stock": 11, "Probability": 50 }, { "status": 2, "RewardType": "3", "RewardTitle": "C", "RewardName": "3nd", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "奖品", "Stock": 1, "Probability": 10 }, { "status": 2, "RewardType": "2", "RewardTitle": "D", "RewardName": "4th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "谢谢参与" }, { "status": 2, "RewardType": "2", "RewardTitle": "E", "RewardName": "5th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "F", "RewardName": "6th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }], "RewardCount": mode, "BeginTime": BeginTime, "DailyOpenTimes": [], "LotterySettings": [{ "DepositAmount": 1, "GameCategories": self.gameHall.GameCategories(), "categoriesText": "(全选)", "CommissionAmount": 1, "LotteryCount": 1, "isInsert": 'true' }], "Name": 'QA_test', "EndTime": EndTime, "EntranceVisible": 'true', "LotteryBaseCount": 5, "DepositType": 1, "MemberLevelIds": [self.system.getMemberLevelId()], "Description": "<p>@QA_automation</p>\n" } return data elif mode == 8: data = { "RewardInfoList": [{ "status": 2, "RewardType": "1", "RewardTitle": "A", "RewardName": "1st", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "再来一次", "Probability": 10 }, { "status": 2, "RewardType": "2", "RewardTitle": "B", "RewardName": "2nd", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "奖金", "Price": 1, "Audit": 1, "Stock": 11, "Probability": 30 }, { "status": 2, "RewardType": "3", "RewardTitle": "C", "RewardName": "3nd", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "奖品", "Stock": 1, "Probability": 10 }, { "status": 2, "RewardType": "2", "RewardTitle": "D", "RewardName": "4th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "E", "RewardName": "5th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "F", "RewardName": "6th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "G", "RewardName": "7th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "H", "RewardName": "8th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }], "RewardCount": mode, "BeginTime": BeginTime, "DailyOpenTimes": [], "LotterySettings": [{ "DepositAmount": 1, "GameCategories": self.gameHall.GameCategories(), "categoriesText": "(全选)", "CommissionAmount": 1, "LotteryCount": 1, "isInsert": 'true' }], "Name": "QA_test", "EndTime": EndTime, "EntranceVisible": 'true', "LotteryBaseCount": 5, "DepositType": 1, "MemberLevelIds": [self.system.getMemberLevelId()], "Description": "<p>@QA_automation</p>\n" } return data elif mode == 10: data = { "RewardInfoList": [{ "status": 2, "RewardType": "1", "RewardTitle": "A", "RewardName": "1st", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "再来一次", "Probability": 10 }, { "status": 2, "RewardType": "2", "RewardTitle": "B", "RewardName": "2nd", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "奖金", "Price": 1, "Audit": 1, "Stock": 11, "Probability": 10 }, { "status": 2, "RewardType": "3", "RewardTitle": "C", "RewardName": "3nd", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "奖品", "Stock": 1, "Probability": 10 }, { "status": 2, "RewardType": "2", "RewardTitle": "D", "RewardName": "4th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "E", "RewardName": "5th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "F", "RewardName": "6th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "G", "RewardName": "7th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "H", "RewardName": "8th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "I", "RewardName": "9th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "J", "RewardName": "10th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }], "RewardCount": mode, "BeginTime": BeginTime, "DailyOpenTimes": [], "LotterySettings": [{ "DepositAmount": 1, "GameCategories": self.gameHall.GameCategories(), "categoriesText": "(全选)", "CommissionAmount": 1, "LotteryCount": 1, "isInsert": 'true' }], "Name": "QA_test", "EndTime": EndTime, "EntranceVisible": 'true', "LotteryBaseCount": 5, "DepositType": 1, "MemberLevelIds": [self.system.getMemberLevelId()], "Description": "<p>@QA_automation</p>\n" } return data elif mode == 12: data = { "RewardInfoList": [{ "status": 2, "RewardType": "1", "RewardTitle": "A", "RewardName": "1st", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "再来一次", "Probability": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "B", "RewardName": "2nd", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "奖金", "Price": 1, "Audit": 1, "Stock": 11, "Probability": 19 }, { "status": 2, "RewardType": "3", "RewardTitle": "C", "RewardName": "3nd", "ImageUrl": '', "uploadImgErrorMessage": "", "TypeDescription": "奖品", "Stock": 1, "Probability": 10 }, { "status": 2, "RewardType": "2", "RewardTitle": "D", "RewardName": "4th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "E", "RewardName": "5th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "F", "RewardName": "6th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 10, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "G", "RewardName": "7th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 20, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "H", "RewardName": "8th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 5, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "I", "RewardName": "9th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 5, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "J", "RewardName": "10th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 5, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "K", "RewardName": "11th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 3, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }, { "status": 2, "RewardType": "2", "RewardTitle": "L", "RewardName": "12th", "ImageUrl": '', "uploadImgErrorMessage": "", "Probability": 2, "TypeDescription": "奖金", "Stock": 1, "Price": 1, "Audit": 1 }], "RewardCount": mode, "BeginTime": BeginTime, "DailyOpenTimes": [], "LotterySettings": [{ "DepositAmount": 1, "GameCategories": self.gameHall.GameCategories(), "categoriesText": "(全选)", "CommissionAmount": 1, "LotteryCount": 1, "isInsert": 'true' }], "Name": "QA_test", "EndTime": EndTime, "EntranceVisible": 'true', "LotteryBaseCount": 5, "DepositType": 1, "IsShowRewardRecord": 'true', "MemberLevelIds": [self.system.getMemberLevelId()], "Description": "<p>@QA_automation</p>\n" } return data def getLuckyWheelId(self): data = { "skip": 0, "take": 100, "search": { "AllState": False, "Status": [0, 1] } } response_data = self.newLuckyWheel.getList(data) print(response_data) for i in range(len(response_data[1]['ReturnObject'])): if response_data[1]['ReturnObject'][i]['Name'] == 'QA_test': Id = response_data[1]['ReturnObject'][i]['Id'] return Id def test_NewLuckyWheelBaseTest_relatedApi_status_01(self): """驗證 时来运转 - 取得列表資料""" data = { "skip": 0, "take": 100, "search": { "AllState": True, "Status": [0, 1, 2] } } response_data = self.newLuckyWheel.getList(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_02(self): """驗證 时来运转 - 取得入口圖片""" data = {"EventName": "NewLuckyWheel"} response_data = self.newLuckyWheel.getImage(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_03(self): """驗證 时来运转 - 更新入口圖片""" data = { "EventName": "NewLuckyWheel", "WebImageUrl": "/CdnRedirect/Web.Portal/_Common/Content/Views/Shared/images/Service/NewLuckyWheel.gif", "WebIsShow": 'true', "MobileImageUrl": "/CdnRedirect/Web.Mobile/_Common/Content/Views/Shared/images/Service/NewLuckyWheel.gif", "MobileIsShow": 'true' } response_data = self.newLuckyWheel.updateEntranceImage(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_04(self): """驗證 时来运转 - 更新入口圖片""" self.upload = UploadFile('image/jpg/test_jpg.jpg', 'ImageFile', 'test_jpg.jpg') data = self.upload.Upload_file() response_data = self.newLuckyWheel.uploadImages(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) self.upload.Close_file() def test_NewLuckyWheelBaseTest_relatedApi_status_05(self): """驗證 时来运转 - 預覽Portal""" response_data = self.newLuckyWheel.getPortalUrl({}) status_code = response_data[0] self.assertEqual( bool(status_code == common_config.Status_Code), bool(self.config.Portal_config() + '/' == response_data[1]['PortalUrl'])) def test_NewLuckyWheelBaseTest_relatedApi_status_06(self): """驗證 时来运转 - 取得全時來運轉時間列表""" response_data = self.newLuckyWheel.getAllLuckyWheelTimeList({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_07(self): """驗證 时来运转 - 取得獎勵列表""" response_data = self.newLuckyWheel.getRewardTypeList({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_08(self): """驗證 时来运转 - 新增時來運轉""" data = self.create_NewLuckyWheel_mode(self.config.NewLuckyWheel()) response_data = self.newLuckyWheel.create(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_09(self): """驗證 时来运转 - 取得時來運轉詳細資料 狀態""" # step1:取得詳細資料Id Id = self.getLuckyWheelId() data = {"luckyWheelId": Id} response_data = self.newLuckyWheel.getDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) # def test_NewLuckyWheelBaseTest_relatedApi_status_10(self): # """驗證 时来运转 - 修改時來運轉 狀態""" # Id = self.getLuckyWheelId() # data = {"luckyWheelId": Id} # response_data = self.newLuckyWheel.getDetail(data) # BeginTime = (datetime.now() + timedelta(hours = -12)).strftime("%Y/%m/%d %H:%M:%S") # EndTime = (datetime.now() + timedelta(hours = -11)).strftime("%Y/%m/%d %H:%M:%S") # luckyWheelInfo = response_data[1]['ReturnObject'] # # luckyWheelInfo['BeginTime'] = BeginTime # # luckyWheelInfo['EndTime'] = EndTime # luckyWheelInfo['MemberLevelIds'] = [luckyWheelInfo['MemberLevels'][0]['Id']] # # print(luckyWheelInfo) # data = {"luckyWheelInfo": luckyWheelInfo, 'luckyWheelId': Id} # response_data = self.newLuckyWheel.modifyLuckyWheelInfo(data) # status_code = response_data[0] # self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_11(self): """驗證 时来运转 - Portal時來運轉 狀態""" sleep(60) Id = self.getLuckyWheelId() self.portal = Portal_test() validateData = self.portal.newLuckyWheel( self.config.test_Member_config(), self.config.test_Password_config(), Id) self.assertEqual(validateData, True) def test_NewLuckyWheelBaseTest_relatedApi_status_12(self): """驗證 时来运转 - 剩餘抽獎次數名單 狀態""" Id = self.getLuckyWheelId() data = {"luckyWheelId": Id, "take": 25, "skip": 0} response_data = self.newLuckyWheel.joinMemberDetailList(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_13(self): """驗證 时来运转 - 匯出剩餘抽獎次數名單 狀態""" Id = self.getLuckyWheelId() data = {"luckyWheelId": Id} response_data = self.newLuckyWheel.exportMemberLuckyDrawCount(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_14(self): """驗證 时来运转 - 添加次數 狀態""" Id = self.getLuckyWheelId() data = { "luckyWheelId": Id, "accounts": self.config.test_Member_config(), "count": 10 } response_data = self.newLuckyWheel.manualSupply(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_15(self): """驗證 时来运转 - 抽獎名單-取得時來運轉名字 狀態""" Id = self.getLuckyWheelId() data = {"luckyWheelId": Id} response_data = self.newLuckyWheel.getNewLuckyWheelName(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_16(self): """驗證 时来运转 - 抽獎名單-取得中獎名單 狀態""" Id = self.getLuckyWheelId() data = { "search": { "RewardStatus": [0, 1], "RewardTypes": ["0", "1", "2", "3"] }, "luckyWheelId": Id, "skip": 0, "take": 100 } response_data = self.newLuckyWheel.getRewardRecords(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_17(self): """驗證 时来运转 - 抽獎名單-派發獎品獎金 狀態""" Id = self.getLuckyWheelId() data = { "search": { "RewardStatus": [0, 1], "RewardTypes": ["2", "3"] }, "luckyWheelId": Id, "skip": 0, "take": 100 } response_data = self.newLuckyWheel.getRewardRecords(data) sentRewardId = response_data[1]['ReturnObject'][0]['Id'] data = {"luckyWheelId": Id, "recordIds": sentRewardId} response_data = self.newLuckyWheel.sendRewards(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_18(self): """驗證 时来运转 - 抽獎名單-總抽獎次數 狀態""" Id = self.getLuckyWheelId() data = { "search": { "RewardStatus": [0, 1], "RewardTypes": ["0", "1", "2", "3"] }, "luckyWheelId": Id } response_data = self.newLuckyWheel.getCalculationCount(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_19(self): """驗證 时来运转 - 抽獎名單-中獎統計圖 狀態""" Id = self.getLuckyWheelId() data = {"luckyWheelId": Id} response_data = self.newLuckyWheel.getRewardStatistics(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_20(self): """驗證 时来运转 - 中獎人名單開關 狀態""" Id = self.getLuckyWheelId() data = {"luckyWheelId": Id, "isShow": 'true'} response_data = self.newLuckyWheel.modifyShowRewardRecord(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_NewLuckyWheelBaseTest_relatedApi_status_21(self): """驗證 时来运转 - 立即下架 狀態""" Id = self.getLuckyWheelId() data = {"luckyWheelId": Id} response_data = self.newLuckyWheel.luckyWheelOff(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class AnnouncementManagementBaseTest(unittest.TestCase): """ 公告管理 - 相關 API 調用狀態""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.AnnouncementManagement = PortalManagement.AnnouncementManagement(self.__http) self.PortalManagement = PortalManagement(self.__http) self.user.login() def tearDown(self): self.user.logout() def getWebsiteId(self): response_data = self.PortalManagement.getWebsiteList({}) for i in range(len(response_data[1]['ReturnObject'])): if self.config.siteName_config() == response_data[1]['ReturnObject'][i]['Name']: Id = response_data[1]['ReturnObject'][i]['Id'] return Id def getOtherWebsiteId(self): response_data = self.PortalManagement.getWebsiteList({}) for i in range(len(response_data[1]['ReturnObject'])): if self.config.other_Website_config() == response_data[1]['ReturnObject'][i]['Name']: Id = response_data[1]['ReturnObject'][i]['Id'] return Id def getId(self, mode): data = {"WebsiteId": self.getWebsiteId(), "Device": mode} response_data = self.AnnouncementManagement.getAnnouncementList(data) Id = response_data[1]['List'][0]['Id'] return Id def updateMarqueeContent(self, mode): data = {"WebsiteId": self.getWebsiteId(), "Device": mode} response_data = self.AnnouncementManagement.getMarqueeContent(data) content = response_data[1]['ReturnObject'] data = {"WebsiteId": self.getWebsiteId(), "Device": mode, 'Content': content} return data def test_AnnouncementManagement_relatedApi_status_01(self): """ 公告管理-取得電腦版公告列表 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "1"} response_data = self.AnnouncementManagement.getAnnouncementList(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_02(self): """ 公告管理-取得直向手機版公告列表 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "2"} response_data = self.AnnouncementManagement.getAnnouncementList(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_03(self): """ 公告管理-取得橫向手機版公告列表 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "3"} response_data = self.AnnouncementManagement.getAnnouncementList(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_04(self): """ 公告管理 - 檢查教程需要觀看 狀態""" data = {"tutorial": 1} response_data = self.AnnouncementManagement.checkTutorialNeedWatch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_05(self): """ 公告管理-取得電腦版設定 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "1"} response_data = self.AnnouncementManagement.getAnnouncementSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_06(self): """ 公告管理-取得直向手機板設定 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "2"} response_data = self.AnnouncementManagement.getAnnouncementSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_07(self): """ 公告管理-取得橫向手機版設定 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "3"} response_data = self.AnnouncementManagement.getAnnouncementSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_08(self): """ 公告管理-更新電腦版設定 狀態""" data = { "WebsiteId": self.getWebsiteId(), "Device": "1", "PopupWhenChangedEnable": 'true', "PopupFrequencyEnable": 'true', "PopupFrequency": 1, "PopupHeader": "@QA_automation" + common_config.TodayDate, "PopupWhenRefreshPage": 'true', "NeedSynchronize": 'false' } response_data = self.AnnouncementManagement.updateAnnouncementSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_09(self): """ 公告管理-更新直向手機板設定 狀態""" data = { "WebsiteId": self.getWebsiteId(), "Device": "2", "PopupWhenChangedEnable": 'true', "PopupFrequencyEnable": 'true', "PopupFrequency": 1, "PopupHeader": "", "PopupWhenRefreshPage": 'true', "NeedSynchronize": 'false' } response_data = self.AnnouncementManagement.updateAnnouncementSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_10(self): """ 公告管理-更新橫向手機板設定 狀態""" data = { "WebsiteId": self.getWebsiteId(), "Device": "3", "PopupWhenChangedEnable": 'true', "PopupFrequencyEnable": 'true', "PopupFrequency": 1, "PopupHeader": "", "PopupWhenRefreshPage": 'true', "NeedSynchronize": 'false' } response_data = self.AnnouncementManagement.updateAnnouncementSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_11(self): """ 公告管理-新增電腦版公告 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "1", "Title": "@QA_automation_Portal", "Sort": 1, "Content": "<p>" "<img alt=\"\" src=\"https://www.itsfun.com.tw/cacheimg/84/ce/e2cecd886623d17eae7558a688ae.jpg\" />" "</p>\n", "ForGuest": 'true', "ForMember": 'true'} response_data = self.AnnouncementManagement.addAnnouncement(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_12(self): """ 公告管理-新增直向手機板公告 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "2", "Title": "@QA_automation_Mobile", "Sort": 1, "Content": "<p>" "<img alt=\"\" src=\"https://www.itsfun.com.tw/cacheimg/84/ce/e2cecd886623d17eae7558a688ae.jpg\" />" "</p>\n", "ForGuest": 'true', "ForMember": 'true'} response_data = self.AnnouncementManagement.addAnnouncement(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_13(self): """ 公告管理-新增橫向手機板公告 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "3", "Title": "@QA_automation_horizontalMobile", "Sort": 1, "Content": "<p>" "<img alt=\"\" src=\"https://www.itsfun.com.tw/cacheimg/84/ce/e2cecd886623d17eae7558a688ae.jpg\" />" "</p>\n", "ForGuest": 'true', "ForMember": 'true'} response_data = self.AnnouncementManagement.addAnnouncement(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_14(self): """ 公告管理-取得電腦版公告詳細資料 狀態""" getId = self.getId(1) data = {"Id": getId} response_data = self.AnnouncementManagement.getAnnouncementDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_15(self): """ 公告管理-取得直向手機板公告詳細資料 狀態""" getId = self.getId(2) data = {"Id": getId} response_data = self.AnnouncementManagement.getAnnouncementDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_16(self): """ 公告管理-取得橫向手機板公告詳細資料 狀態""" getId = self.getId(3) data = {"Id": getId} response_data = self.AnnouncementManagement.getAnnouncementDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_17(self): """ 公告管理-修改電腦版公告 狀態""" getId = self.getId(1) data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "1", "Title": "@QA_automation_Portal_Modify", "Sort": 1, "IsEnable": 'false', "Content": "<p>" "<img alt=\"\" src=\"https://www.itsfun.com.tw/cacheimg/84/ce/e2cecd886623d17eae7558a688ae.jpg\" />" "</p>\n", "ForGuest": 'true', "ForMember": 'true'} response_data = self.AnnouncementManagement.modifyAnnouncement(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_18(self): """ 公告管理-修改手機版公告 狀態""" getId = self.getId(2) data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "2", "Title": "@QA_automation_Mobile_Modify", "Sort": 1, "IsEnable": 'false', "Content": "<p>" "<img alt=\"\" src=\"https://www.itsfun.com.tw/cacheimg/84/ce/e2cecd886623d17eae7558a688ae.jpg\" />" "</p>\n", "ForGuest": 'true', "ForMember": 'true'} response_data = self.AnnouncementManagement.modifyAnnouncement(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_19(self): """ 公告管理-修改橫向手機板公告 狀態""" getId = self.getId(3) data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "3", "Title": "@QA_automation_horizontalMobile_Modify", "Sort": 1, "IsEnable": 'false', "Content": "<p>" "<img alt=\"\" src=\"https://www.itsfun.com.tw/cacheimg/84/ce/e2cecd886623d17eae7558a688ae.jpg\" />" "</p>\n", "ForGuest": 'true', "ForMember": 'true'} response_data = self.AnnouncementManagement.modifyAnnouncement(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_20(self): """ 公告管理-修改電腦版啟用開關 狀態""" getId = self.getId(1) data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "1", "IsEnable": 'true'} response_data = self.AnnouncementManagement.modifyAnnouncementEnable(data) status_code = response_data[0] data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "1", "IsEnable": 'false'} self.AnnouncementManagement.modifyAnnouncementEnable(data) self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_21(self): """ 公告管理-修改手機版啟用開關 狀態""" getId = self.getId(2) data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "2", "IsEnable": 'true'} response_data = self.AnnouncementManagement.modifyAnnouncementEnable(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_22(self): """ 公告管理-修改橫向手機版啟用開關 狀態""" getId = self.getId(3) data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "3", "IsEnable": 'true'} response_data = self.AnnouncementManagement.modifyAnnouncementEnable(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_23(self): """ 公告管理-移動公告一輪(Portal->Mobile->horizontal Mobile->Portal) 狀態""" getId = self.getId(1) data = {"WebsiteId": self.getWebsiteId(), "MoveIds": [getId], "FromDevice": "1", "ToDevice": 2} response_data = self.AnnouncementManagement.moveAnnouncementToDevice(data) status_code1 = response_data[0] data = {"WebsiteId": self.getWebsiteId(), "MoveIds": [getId], "FromDevice": "2", "ToDevice": 3} response_data = self.AnnouncementManagement.moveAnnouncementToDevice(data) status_code2 = response_data[0] data = {"WebsiteId": self.getWebsiteId(), "MoveIds": [getId], "FromDevice": "3", "ToDevice": 1} response_data = self.AnnouncementManagement.moveAnnouncementToDevice(data) status_code3 = response_data[0] self.assertEqual(bool(status_code1 == status_code2 == status_code3), True) def test_AnnouncementManagement_relatedApi_status_24(self): """ 公告管理-電腦版移動公告至其他站台 狀態""" getId = self.getId(1) data = {"FromWebsiteId": self.getWebsiteId(), "MoveIds": [getId], "Device": "1", "ToWebsiteId": self.getOtherWebsiteId()} response_data = self.AnnouncementManagement.moveAnnouncementToWebsite(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) data = {"WebsiteId": self.getWebsiteId(), "Device": "1", "Title": "@QA_automation_Portal", "Sort": 1, "Content": "<p>" "<img alt=\"\" src=\"https://www.itsfun.com.tw/cacheimg/84/ce/e2cecd886623d17eae7558a688ae.jpg\" />" "</p>\n", "ForGuest": 'true', "ForMember": 'true'} self.AnnouncementManagement.addAnnouncement(data) def test_AnnouncementManagement_relatedApi_status_25(self): """ 公告管理-手機版移動公告至其他站台 狀態""" getId = self.getId(2) data = {"FromWebsiteId": self.getWebsiteId(), "MoveIds": [getId], "Device": "2", "ToWebsiteId": self.getOtherWebsiteId()} response_data = self.AnnouncementManagement.moveAnnouncementToWebsite(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) data = {"WebsiteId": self.getWebsiteId(), "Device": "2", "Title": "@QA_automation_Mobile", "Sort": 1, "Content": "<p>" "<img alt=\"\" src=\"https://www.itsfun.com.tw/cacheimg/84/ce/e2cecd886623d17eae7558a688ae.jpg\" />" "</p>\n", "ForGuest": 'true', "ForMember": 'true'} self.AnnouncementManagement.addAnnouncement(data) def test_AnnouncementManagement_relatedApi_status_26(self): """ 公告管理-橫向手機版移動公告至其他站台 狀態""" getId = self.getId(3) data = {"FromWebsiteId": self.getWebsiteId(), "MoveIds": [getId], "Device": "3", "ToWebsiteId": self.getOtherWebsiteId()} response_data = self.AnnouncementManagement.moveAnnouncementToWebsite(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_27(self): """ 公告管理-電腦版複製公告到手機板 狀態""" getId = self.getId(1) data = {"WebsiteId": self.getWebsiteId(), "CopyIds": [getId], "FromDevice": "1", "ToDevice": 2} response_data = self.AnnouncementManagement.copyAnnouncementToDevice(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) getId = self.getId(2) data = {"WebsiteId": self.getWebsiteId(), "Device": "2", "DeleteIds": [getId]} self.AnnouncementManagement.deleteAnnouncement(data) def test_AnnouncementManagement_relatedApi_status_28(self): """ 公告管理-電腦版複製公告到橫向手機板 狀態""" getId = self.getId(1) data = {"WebsiteId": self.getWebsiteId(), "CopyIds": [getId], "FromDevice": "1", "ToDevice": 3} response_data = self.AnnouncementManagement.copyAnnouncementToDevice(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) getId = self.getId(3) data = {"WebsiteId": self.getWebsiteId(), "Device": "3", "DeleteIds": [getId]} self.AnnouncementManagement.deleteAnnouncement(data) def test_AnnouncementManagement_relatedApi_status_29(self): """ 公告管理-電腦版改順序 狀態""" getId = self.getId(1) data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "1", "Sort": 2} response_data = self.AnnouncementManagement.modifyAnnouncementSort(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_30(self): """ 公告管理- 手機版改順序 狀態""" getId = self.getId(2) data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "2", "Sort": 2} response_data = self.AnnouncementManagement.modifyAnnouncementSort(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_31(self): """ 公告管理-橫向手機版改順序 狀態""" getId = self.getId(3) data = {"Id": getId, "WebsiteId": self.getWebsiteId(), "Device": "3", "Sort": 2} response_data = self.AnnouncementManagement.modifyAnnouncementSort(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_32(self): """ 公告管理-刪除電腦版公告 狀態""" getId = self.getId(1) data = {"WebsiteId": self.getWebsiteId(), "Device": "1", "DeleteIds": [getId]} response_data = self.AnnouncementManagement.deleteAnnouncement(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_33(self): """ 公告管理-刪除手機版公告 狀態""" getId = self.getId(2) data = {"WebsiteId": self.getWebsiteId(), "Device": "2", "DeleteIds": [getId]} response_data = self.AnnouncementManagement.deleteAnnouncement(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_34(self): """ 公告管理-刪除橫向手機版公告 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "3", "Title": "@QA_automation_horizontalMobile", "Sort": 1, "Content": "<p>" "<img alt=\"\" src=\"https://www.itsfun.com.tw/cacheimg/84/ce/e2cecd886623d17eae7558a688ae.jpg\" />" "</p>\n", "ForGuest": 'true', "ForMember": 'true'} self.AnnouncementManagement.addAnnouncement(data) getId = self.getId(3) data = {"WebsiteId": self.getWebsiteId(), "Device": "3", "DeleteIds": [getId]} response_data = self.AnnouncementManagement.deleteAnnouncement(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_35(self): """ 公告管理-預覽公告 狀態""" data = {"WebsiteId": self.getWebsiteId(), "PreviewMode": 1} response_data = self.AnnouncementManagement.getAnnouncementPreviewList(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_36(self): """ 公告管理-取得電腦版跑馬燈內容 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "1"} response_data = self.AnnouncementManagement.getMarqueeContent(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_37(self): """ 公告管理-取得手機版跑馬燈內容 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "2"} response_data = self.AnnouncementManagement.getMarqueeContent(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_38(self): """ 公告管理-取得橫向手機版跑馬燈內容 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "3"} response_data = self.AnnouncementManagement.getMarqueeContent(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_39(self): """ 公告管理-更新電腦版跑馬燈內容 狀態""" data = self.updateMarqueeContent(1) response_data = self.AnnouncementManagement.updateMarqueeContent(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_40(self): """ 公告管理-更新手機版跑馬燈內容 狀態""" data = self.updateMarqueeContent(2) response_data = self.AnnouncementManagement.updateMarqueeContent(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_41(self): """ 公告管理-更新橫向手機版跑馬燈內容 狀態""" data = self.updateMarqueeContent(3) response_data = self.AnnouncementManagement.updateMarqueeContent(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnnouncementManagement_relatedApi_status_42(self): """ 公告管理-更新公告設定 狀態""" WebsiteId = self.getWebsiteId() data = {"WebsiteId": WebsiteId, "Device": "1", "UpdateAnnouncementSettingList": [ {"SettingType": 1, "PopupWhenChangedEnable": 'true', "PopupFrequencyEnable": 'true', "PopupHeader": "公告", "PopupWhenRefreshPage": 'true', "NeedSynchronize": 'true'}, {"SettingType": 2, "PopupWhenChangedEnable": 'true', "PopupFrequencyEnable": 'true', "PopupHeader": 'null', "PopupWhenRefreshPage": 'true', "NeedSynchronize": 'true'}]} response_data = self.AnnouncementManagement.updateAnnouncementSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class SlideShowBaseTest(unittest.TestCase): """ 大圖輪播 - 相關 API 調用狀態""" def setUp(self): self.config = systemSetting() # 系統參數 self.__http = HttpRequest() self.user = User(self.__http) self.slideShow = PortalManagement.SlideShow(self.__http) self.PortalManagement = PortalManagement(self.__http) self.user.login() def tearDown(self): self.user.logout() def getWebsiteId(self): response_data = self.PortalManagement.getWebsiteList({}) for i in range(len(response_data[1]['ReturnObject'])): if self.config.siteName_config( ) == response_data[1]['ReturnObject'][i]['Name']: Id = response_data[1]['ReturnObject'][i]['Id'] return Id def test_SlideShow_relatedApi_status_01(self): """ 大圖輪播 - 取得電腦版資訊 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "1"} response_data = self.slideShow.GetSlideShowInfo(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_SlideShow_relatedApi_status_02(self): """ 大圖輪播 - 取得手機版資訊 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "2"} response_data = self.slideShow.GetSlideShowInfo(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_SlideShow_relatedApi_status_03(self): """ 大圖輪播 - 取得橫向手機版資訊 狀態""" data = {"WebsiteId": self.getWebsiteId(), "Device": "3"} response_data = self.slideShow.GetSlideShowInfo(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_SlideShow_relatedApi_status_04(self): """ 大圖輪播 - 上傳jpg圖檔 狀態""" self.upload = UploadFile( 'image/jpg/test_jpg.jpg', # 檔案路徑 'ImageFile', # 上傳欄位 'test_jpg.jpg' # 上傳檔名 ) # 先實例上傳檔案物件 data = self.upload.Upload_file() response_data = self.slideShow.UploadSlideShowImageV2(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) self.upload.Close_file() def test_SlideShow_relatedApi_status_05(self): """ 大圖輪播 - 上傳png圖檔 狀態""" self.upload = UploadFile( 'image/png/test_png.png', # 檔案路徑 'ImageFile', # 上傳欄位 'test_png.png' # 上傳檔名 ) # 先實例上傳檔案物件 data = self.upload.Upload_file() response_data = self.slideShow.UploadSlideShowImageV2(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) self.upload.Close_file() def test_SlideShow_relatedApi_status_06(self): """ 大圖輪播 - 上傳gif圖檔 狀態""" sleep(5) self.upload = UploadFile( 'image/gif/test_gif.gif', # 檔案路徑 'ImageFile', # 上傳欄位 'test_gif.gif' # 上傳檔名 ) # 先實例上傳檔案物件 data = self.upload.Upload_file() response_data = self.slideShow.UploadSlideShowImageV2(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) self.upload.Close_file() def test_SlideShow_relatedApi_status_07(self): """ 大圖輪播 - 電腦版更新大圖輪播 狀態""" data = { "currentWebsiteId": self.getWebsiteId(), "currentDevice": "1", "currentSlideShowItems": [{ "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/88b73347665e41048daa90f5d8fa8140.jpg", "link": "", "sort": 0 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/1848916a567847a88b3ed5d763acb701.jpg", "link": "", "sort": 1 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/63e11f4c2a5d4f03a6e85eca762e73eb.jpg", "link": "", "sort": 2 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/1cc66874bf72401b9e6960f52eba55d2.jpg", "link": "", "sort": 3 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/50ccb91baa274a20845043cf34adb33e.jpg", "link": "", "sort": 4 }], "copyToSlideShowItems": [] } response_data = self.slideShow.SaveSlideShowChangesV2(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_SlideShow_relatedApi_status_08(self): """ 大圖輪播 - 手機版更新大圖輪播 狀態""" data = { "currentWebsiteId": self.getWebsiteId(), "currentDevice": 2, "currentSlideShowItems": [{ "url": "/Cdn2Redirect/PortalManagement/Image/SlideShow/de0d274c32a44975b0cc60c1104513d2.png", "link": "", "sort": 0 }], "copyToSlideShowItems": [] } response_data = self.slideShow.SaveSlideShowChangesV2(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_SlideShow_relatedApi_status_09(self): """ 大圖輪播 - 橫向手機版更新大圖輪播 狀態""" data = { "currentWebsiteId": self.getWebsiteId(), "currentDevice": 3, "currentSlideShowItems": [{ "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/c3e3294d56fb4bc3bdce68db3fb9f145.gif", "link": "", "sort": 0 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/69d4ed6d057e40eda901a43451087541.jpg", "link": "", "sort": 1 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/394da2470f244c8d8cea390826646c26.png", "link": "", "sort": 2 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/017cf1efd91e4379a3a0a6667406b1ff.png", "link": "", "sort": 3 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/8bb52541b5c94ca38b75640baf720042.jpg", "link": "", "sort": 4 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/fb3ed80d1f164a4a8f58e965855365f4.jpg", "link": "", "sort": 5 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/a18a7b57bc5b487b8228a4a5f97990b8.jpg", "link": "", "sort": 6 }, { "url": "/Cdn2Redirect/PortalManagement/AB005/SlideShow/b67e897370cb492a8e8dd528a8444c01.jpg", "link": "", "sort": 7 }], "copyToSlideShowItems": [] } response_data = self.slideShow.SaveSlideShowChangesV2(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class AnyTimeDiscountBaseTest(unittest.TestCase): """ 返水設定 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.AnyTimeDiscount = system_management.AnyTimeDiscountSetting( self.__http) self.user.login() def tearDown(self): self.user.logout() def getId(self): response_data = self.AnyTimeDiscount.getList({}) length = len(response_data[1]['Settings']) - 1 getId = response_data[1]['Settings'][length]['Id'] return getId def test_AnyTimeDiscount_relatedApi_status_01(self): """驗證 返水設定 - 取得看板頁面""" response_data = self.AnyTimeDiscount.list({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_02(self): """驗證 返水設定 - 取得看板資料""" response_data = self.AnyTimeDiscount.getList({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_03(self): """驗證 返水設定 - 時時返水是否歸零""" response_data = self.AnyTimeDiscount.getIsATDResetRunning({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_04(self): """驗證 返水設定 - 取得批次返水新增頁面""" response_data = self.AnyTimeDiscount.createForBatch({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_05(self): """驗證 返水設定 - 新增批次返水資料""" data = {"Name": "@QA_automation", "Details": []} response_data = self.AnyTimeDiscount.verifyParams(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_06(self): """驗證 返水設定 - 時時返水修改頁面""" response_data = self.AnyTimeDiscount.modifyForATD({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_07(self): """驗證 返水設定 - 時時返水啟用視窗""" response_data = self.AnyTimeDiscount.activeDialog({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_08(self): """驗證 返水設定 - 新增返水等級""" data = { "createParams": { "Name": "@QA_Automation", "Details": [] }, "setting": { "DiscountSettingId": 'null', "EnableAppointment": common_config.EndDay, "DisableAppointment": 'null', "Limit": 10, "Audit": 1, "ReceiveSwitch": 'true', "MaxAmountlimit": 1, "Time": 14, "Type": 2 }, "detail": [] } response_data = self.AnyTimeDiscount.createSubmit(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_09(self): """驗證 返水設定 - 返水詳細頁面""" response_data = self.AnyTimeDiscount.detail({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_10(self): """驗證 返水設定 - 返水設定詳細""" # step 1 取得Id Id = self.getId() data = {'id': Id} response_data = self.AnyTimeDiscount.getDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_11(self): """驗證 返水設定 - 時時返水設定詳細""" # step 1 取得Id Id = self.getId() data = {'discountSettingId': Id} response_data = self.AnyTimeDiscount.getATDSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_12(self): """驗證 返水設定 - 更新返水名稱""" # step 1 取得Id Id = self.getId() data = {'Id': Id, "name": '@QA_automation'} response_data = self.AnyTimeDiscount.updateName(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_13(self): """驗證 返水設定 - 更新一般返水狀態""" # step 1 取得Id Id = self.getId() data = {"id": Id, "isDiscount": 'false'} response_data = self.AnyTimeDiscount.updateHasDiscount(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_14(self): """驗證 返水設定 - 返水修改頁面""" response_data = self.AnyTimeDiscount.modifyForBatch({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_15(self): """驗證 返水設定 - 時返歸零視窗""" response_data = self.AnyTimeDiscount.resetDialog({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_16(self): """驗證 返水設定 - 時時返水歸零""" # step 1 取得Id Id = self.getId() data = { "password": master_config.Master_Password, "discountSettingId": Id } response_data = self.AnyTimeDiscount.alterATDResetByDiscountSetting( data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_17(self): """驗證 返水設定 - 時時返水歸零紀錄""" # step 1 取得Id Id = self.getId() data = {"discountSettingId": Id, "skip": 0, "take": 10} response_data = self.AnyTimeDiscount.getATDResetByDiscountSettingRecord( data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_18(self): """驗證 返水設定 - 時時返水-娛樂城返水比""" # step 1 取得Id Id = self.getId() data = {"id": Id, "details": []} response_data = self.AnyTimeDiscount.updateDetails(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_19(self): """驗證 返水設定 - 時時返水-時時返水領取開關""" # step 1 取得Id Id = self.getId() data = {"discountSettingId": Id, "receiveSwitch": 'false'} response_data = self.AnyTimeDiscount.alterATDReceiveSwitch(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_20(self): """驗證 返水設定 - 時時返水-時時返水領取開關歷程紀錄""" # step 1 取得Id Id = self.getId() data = {"discountSettingId": Id, "skip": 0, "take": 10} response_data = self.AnyTimeDiscount.getATDWithdrawSwitchLog(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_21(self): """驗證 返水設定 - 時時返水啟用/停用期間""" # step 1 取得Id Id = self.getId() data = { "discountSettingId": Id, "EnableAppointment": common_config.EndDay, 'DisableAppointment': 'null' } response_data = self.AnyTimeDiscount.alterATDAppointment(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_22(self): """驗證 返水設定 - 更新最低領取限額""" # step 1 取得Id Id = self.getId() data = {"discountSettingId": Id, "limit": 1} response_data = self.AnyTimeDiscount.alterATDLimit(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_23(self): """驗證 返水設定 - 更新單日最高領取限額""" # step 1 取得Id Id = self.getId() data = {"discountSettingId": Id, "Maxlimint": 1} response_data = self.AnyTimeDiscount.alterATDMaxAmountLimit(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_24(self): """驗證 返水設定 - 取得時時返水娛樂城詳細資料""" response_data = self.AnyTimeDiscount.getATDSupplierDetail({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_25(self): """驗證 返水設定 - 時時返水設定詳細資料""" # step 1 取得Id Id = self.getId() data = {"discountSettingId": Id} response_data = self.AnyTimeDiscount.getATDSettingDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_26(self): """驗證 返水設定 - 更新時時返水-返水比""" # step 1 取得Id Id = self.getId() data = {"discountSettingId": Id, "viewModel": []} response_data = self.AnyTimeDiscount.alterATDPercentages(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_27(self): """驗證 返水設定 - 更新備註""" # step 1 取得Id Id = self.getId() data = {"id": Id, "memo": "@QA_automation"} response_data = self.AnyTimeDiscount.updateMemo(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_AnyTimeDiscount_relatedApi_status_28(self): """驗證 返水設定 - 刪除返水等級""" # step 1 取得Id Id = self.getId() data = {"id": Id} response_data = self.AnyTimeDiscount.delete(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class CheckInEventBaseTest(unittest.TestCase): """ 签到奖励 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.home = Home(self.__http) self.checkInEvent = ActivityManagement.CheckInEvent(self.__http) self.user.login() def tearDown(self): self.user.logout() def getAllMemberLevels(self): # 取全部的會員等級,放在一個item data = {} response_data = self.home.getAllMemberLevels(data) item = [] for i in range(len(response_data[1])): item.append(response_data[1][i]['Value']) return item def getAllMemberLevelsAll(self): # 取全部的會員等級,重新組合列表 data = {} items = [] response_data = self.home.getAllMemberLevels(data) for i in range(len(response_data[1])): a = { "Id": response_data[1][i]['Value'], "Name": response_data[1][i]['Text'] } items.append(a) return items def getLevels(self): # 取QA_test等級 data = {} response_data = self.home.getAllMemberLevels(data) for i in range(len(response_data[1])): if response_data[1][i]['Text'] == "QA_Test": ID = response_data[1][i]['Value'] return ID def getloadNewId(self): """取得最新一筆 - ID""" data = { "take": 100, "skip": 0, "query": { "AllState": True, "StatusList": [0, 1, 2] } } response_data = self.checkInEvent.loadNew(data) for i in range(len(response_data[1]['ReturnObject'])): if response_data[1]['ReturnObject'][i]['Name'] == get_todaynow_Y(): ID = response_data[1]['ReturnObject'][i]['Id'] Name = response_data[1]['ReturnObject'][i]['Name'] break else: ID = response_data[1]['ReturnObject'][i]['Id'] Name = response_data[1]['ReturnObject'][i]['Name'] return ID, Name def test_CheckInEvent_relatedApi_status_01(self): """驗證 签到奖励 - 取得列表資料""" data = { "take": 100, "skip": 0, "query": { "AllState": True, "StatusList": [0, 1, 2] } } response_data = self.checkInEvent.loadNew(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_CheckInEvent_relatedApi_status_02(self): """驗證 签到奖励 - 取得獲取活動時間表""" data = {} response_data = self.checkInEvent.GetEventTimeList(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_CheckInEvent_relatedApi_status_03(self): """驗證 签到奖励 - 新增簽到獎勵 下個月的第一天 到最後一天""" data = { "BeginTime": get_next_first_day()[0], "EventSettings": [{ "Days": 1, "BonusAmount": 1, "Img": { "$ngfBlobUrl": "blob:http://master.fnjtd.com/d1447882-6516-46e0-be16-6fa3520d2e1e" }, "ImageUrl": "/Cdn2Redirect/Web.Portal/CheckInOfferImages/069ca58947de47588c39c988f49cf238.png", "imgStatus": 2, "uploadImgErrorMessage": "", "errorFile": 'null' }], "CheckType": 1, "IsSupplement": 'true', "SupplementSetting": { "SettlementType": 1, "DepositTotalCount": 1 }, "Name": get_todaynow_Y(), "EndTime": get_next_first_day()[1], "DailyCheckMoney": 1, "AutoSupplementZeroing": 'true', "MemberLevelSettings": self.getLevels() } response_data = self.checkInEvent.Create(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_CheckInEvent_relatedApi_status_04(self): """驗證 签到奖励 - 取得所有可用的會員級別設置""" data = { "beginTime": get_first_day()[0], "endTime": get_first_day()[1], "id": 'null' } response_data = self.checkInEvent.AllAvailableMemberLevelSetting(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_CheckInEvent_relatedApi_status_05(self): """驗證 签到奖励 - 取得簽到獎勵詳細資料""" data = {"id": self.getloadNewId()[0]} response_data = self.checkInEvent.GetDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_CheckInEvent_relatedApi_status_06(self): """ 驗證 簽到獎勵 - 修改未開始活動每日簽到金""" data = { "Id": self.getloadNewId()[0], "Name": self.getloadNewId()[1], "RecordCount": 0, "AccordCount": 0, "BeginTime": get_next_first_day()[0], "EndTime": get_next_first_day()[1], "DailyCheckMoney": 3, "DailyAuditTimes": 'null', "IsSupplement": 'true', "AutoLoopBonusDays": 'false', "AutoSupplementZeroing": 'true', "CheckType": 1, "DepositSetting": { "DepositCountStart": 'null', "DepositCountEnd": 'null', "DepositTotalAmountStart": 'null', "DepositTotalAmountEnd": 'null', "DepositTimeStart": 'null', "DepositTimeEnd": 'null' }, "CommissionSettings": [], "SupplementSetting": { "RawDataList": [], "SupplementCount": 'null', "DepositTotalCount": 1, "DepositTotalAmount": 'null', "SettlementType": 1, "Commission": 'null' }, "MemberLevels": self.getAllMemberLevelsAll(), "EventSettings": [{ "Days": 1, "BonusAmount": 1, "ImageUrl": "/Cdn2Redirect/Web.Portal/CheckInOfferImages/069ca58947de47588c39c988f49cf238.png", "BonusAuditTimes": 'null', "imgStatus": 2 }], "Creator": "sky", "CreateTime": "/Date(1589225295810)/", "MemberLevelSettings": self.getAllMemberLevels() } response_data = self.checkInEvent.Update(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_CheckInEvent_relatedApi_status_(self): """驗證 签到奖励 - 活動下架""" data = {"offerId": self.getloadNewId()[0]} print(data) response_data = self.checkInEvent.EventOff(data) print(response_data[1]) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)
class DepositImportBaseTest(unittest.TestCase): """優惠匯入 - 相關 API 調用狀態""" def setUp(self): self.__http = HttpRequest() self.user = User(self.__http) self.DepositImport = account_management.DepositImport(self.__http) self.user.login() def test_DepositImport_baseApi_status_01(self): """優惠匯入 - 優惠匯入頁面 狀態""" response_data = self.DepositImport.index({}) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_DepositImport_baseApi_status_02(self): """優惠匯入 - 取得優惠匯入列表 狀態""" data = {"take": 100, "skip": 0} response_data = self.DepositImport.getList(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_DepositImport_baseApi_status_03(self): """優惠匯入 - 上傳Excel 狀態""" self.upload = UploadFile( 'document/depositImport-A.xlsx', # 檔案路徑 'filebase', # 上傳欄位 'depositImport-A.xlsx' # 上傳檔名 ) # 先實例上傳檔案物件 data = self.upload.Upload_file() # 實作上傳檔案物件方法 response_data = self.DepositImport.getExcelSum(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) self.upload.Close_file() # 關閉檔案 def test_DepositImport_baseApi_status_04(self): """優惠匯入 - 優惠匯入-立刻 狀態""" # ReserveTime = (datetime.now() + timedelta(hours = 1)).strftime("%Y/%m/%d %H:%M:%S") # 設定一個小時後開始進行優惠匯入 # print(ReserveTime) self.upload = UploadFile( 'document/depositImport-A.xlsx', # 檔案路徑 'Filebase', # 上傳欄位 'depositImport-A.xlsx' # 上傳檔名 ) data = { 'password': (None, master_config.Master_Password), # 有其他參數上傳用這種mode self.upload.upload_name: (self.upload.filename, self.upload.open_file, self.upload.file_type, { 'Expires': '0' }) } response_data = self.DepositImport.submitDepositImport(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) self.upload.Close_file() # 關閉 def test_DepositImport_baseApi_status_06(self): """優惠匯入 - 檢查沖銷 狀態""" data = {'take': 100, 'skip': 0} getList = self.DepositImport.getList(data) getId = getList[1]['Records'][0]['Id'] data = {'Id': getId} response_data = self.DepositImport.checkRevocation(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_DepositImport_baseApi_status_07(self): """優惠匯入 - 優惠沖銷 狀態""" data = {'take': 100, 'skip': 0} getList = self.DepositImport.getList(data) getId = getList[1]['Records'][0]['Id'] data = { 'password': master_config.Master_Password, 'portalMemo': '@QA_automation', 'memo': '@QA_automation', 'recordId': getId } response_data = self.DepositImport.revoke(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_DepositImport_baseApi_status_08(self): """優惠匯入 - 取得優惠沖銷詳細 狀態""" data = {'take': 100, 'skip': 0} getList = self.DepositImport.getList(data) getId = getList[1]['Records'][0]['Id'] data = {'Id': getId} response_data = self.DepositImport.getRevokeDetail(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) def test_DepositImport_baseApi_status_05(self): """優惠匯入 - 優惠匯入-預約時間 狀態""" ReserveTime = (datetime.now() + timedelta(hours=-11)).strftime( "%Y/%m/%d %H:%M:%S") # 設定一個小時後開始進行優惠匯入 # print(ReserveTime) self.upload = UploadFile( 'document/depositImport-B.xlsx', # 檔案路徑 'Filebase', # 上傳欄位 'depositImport-B.xlsx' # 上傳檔名 ) data = { 'password': (None, master_config.Master_Password), 'ReserveTime': (None, ReserveTime), # 有其他參數上傳用這種mode self.upload.upload_name: (self.upload.filename, self.upload.open_file, self.upload.file_type, { 'Expires': '0' }) } response_data = self.DepositImport.submitDepositImport(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code) self.upload.Close_file() def test_DepositImport_baseApi_status_09(self): """優惠匯入 - 取消預約匯入 狀態""" data = {'take': 100, 'skip': 0} getList = self.DepositImport.getList(data) getId = getList[1]['Records'][0]['Id'] data = {'RecordId': getId} response_data = self.DepositImport.cancelReserveImport(data) status_code = response_data[0] self.assertEqual(status_code, common_config.Status_Code)