diff --git a/TestCase/setting/test_03_facebookIntegration.py b/TestCase/setting/test_03_facebookIntegration.py new file mode 100644 index 0000000000000000000000000000000000000000..921b4e2d176aa5f355733e6ac8d846789a46e9c3 --- /dev/null +++ b/TestCase/setting/test_03_facebookIntegration.py @@ -0,0 +1,13 @@ +import pytest +from Utils import yaml_handler +from Utils import req_handler +from TestData.setting.facebook_integration_test_data import facebookIntegrationData + +class TestFacebookIntegration: + + yaml_path = r'setting/facebookIntegration.yaml' + yaml_data = yaml_handler.yaml_handler.get_case(yaml_path) + @pytest.mark.flaky(reruns=facebookIntegrationData.rerun, reruns_delay=facebookIntegrationData.rerun_delay) + @pytest.mark.parametrize('case',yaml_data) + def test_facebookIntegration(self,case): + req_handler.ReqHandler.send_requests(case=case,var_class=facebookIntegrationData) diff --git a/TestCase/setting/test_11_widgetTranslate.py b/TestCase/setting/test_11_widgetTranslate.py new file mode 100644 index 0000000000000000000000000000000000000000..f923733496b9689dbd1454041c0fd5ce8a62966e --- /dev/null +++ b/TestCase/setting/test_11_widgetTranslate.py @@ -0,0 +1,13 @@ +import pytest +from Utils import yaml_handler +from Utils import req_handler +from TestData.setting.widget_translate_test_data import widgetTranslateData + +class TestWidgetTranslate: + + yaml_path = r'setting/widgetTranslate.yaml' + yaml_data = yaml_handler.yaml_handler.get_case(yaml_path) + @pytest.mark.flaky(reruns=widgetTranslateData.rerun, reruns_delay=widgetTranslateData.rerun_delay) + @pytest.mark.parametrize('case',yaml_data) + def test_widgetTranslate(self,case): + req_handler.ReqHandler.send_requests(case=case,var_class=widgetTranslateData) diff --git a/TestData/setting/facebook_integration_test_data.py b/TestData/setting/facebook_integration_test_data.py new file mode 100644 index 0000000000000000000000000000000000000000..2d4f124377b97c388a34f97594b90f1f5b671670 --- /dev/null +++ b/TestData/setting/facebook_integration_test_data.py @@ -0,0 +1,6 @@ +from Utils.global_variate import Global + +class facebookIntegrationData(Global): + pass + + diff --git a/TestData/setting/widget_translate_test_data.py b/TestData/setting/widget_translate_test_data.py new file mode 100644 index 0000000000000000000000000000000000000000..283d43164f767a4e2e743f4b2bff137e24f73e43 --- /dev/null +++ b/TestData/setting/widget_translate_test_data.py @@ -0,0 +1,8 @@ +from Utils.global_variate import Global + +class widgetTranslateData(Global): + chinese = 'Chinese (Simplified)' + english = 'English' + item_id = 8 + english_value = 'Contact us' + chinese_value = '联系我们' \ No newline at end of file diff --git a/TestFile/setting/facebookIntegration/facebookIntegration_select.py b/TestFile/setting/facebookIntegration/facebookIntegration_select.py new file mode 100644 index 0000000000000000000000000000000000000000..ce75e13503102d24866ba110310e4a9d1282ec1a --- /dev/null +++ b/TestFile/setting/facebookIntegration/facebookIntegration_select.py @@ -0,0 +1,10 @@ +from Utils.sql_handler import test_env_conn +from TestData.setting.facebook_integration_test_data import facebookIntegrationData + +facebook_select_sql = f'select * from `resource_item` where brand_id = {facebookIntegrationData.brandId} and resource_id = 3' +facebook_select_result = test_env_conn.select_many_value(sql=facebook_select_sql) + +facebook = facebook_select_result[0] +facebook_name = facebook['name'] +setattr(facebookIntegrationData, 'facebook_name', facebook_name) +setattr(facebookIntegrationData, 'facebook_num', len(facebook_select_result)) diff --git a/TestFile/setting/notification/notification_room_select.py b/TestFile/setting/notification/notification_room_select.py new file mode 100644 index 0000000000000000000000000000000000000000..b3670be5d3608eff1b6d0905bd13bcc32a829411 --- /dev/null +++ b/TestFile/setting/notification/notification_room_select.py @@ -0,0 +1,48 @@ +from Utils.sql_handler import test_env_conn +from TestData.setting.notification_test_data import notifycationData + +team_id_select_sql = f'select id from `resource_item` where brand_id = {notifycationData.brandId} and resource_id = 1' +team_id_select_result = test_env_conn.select_many_value(sql=team_id_select_sql) +team_id = [team['id'] for team in team_id_select_result] + +team_cs_rel_select_sql = f'select * from `resource_item_cs_rel` where cs_id = {notifycationData.userId}' +team_cs_rel_select_result = test_env_conn.select_many_value(sql=team_cs_rel_select_sql) +if team_cs_rel_select_result: + team_cs_rel_id = tuple([team['id'] for team in team_cs_rel_select_result]) +else: + team_insert_sql = f""" + INSERT INTO `resource_item` (name,picture,rel_id,brand_id,resource_id,sorts,is_delete,update_at,create_at) VALUES + ({notifycationData.insert_team_name},'',0,{notifycationData.brandId},1,0,0,'2024-02-19 16:43:20','2024-02-19 16:43:20'); +""" + test_env_conn.execute_sql(sql=team_insert_sql) + insert_team_id_select_sql = f'select id from `resource_item` where brand_id = {notifycationData.brandId} and resource_id = 1 and name = {notifycationData.insert_team_name}' + insert_team_id_select_result = test_env_conn.select_one_value(sql=insert_team_id_select_sql) + insert_team_id = insert_team_id_select_result['id'] + team_cs_rel_insert_sql = f"""INSERT INTO `resource_item_cs_rel` (item_id,cs_id,sorts,is_hup,is_delete,update_at,create_at) VALUES + ({insert_team_id},{notifycationData.userId},0,1,0,'2024-02-19 16:43:20','2024-02-19 16:43:20'); + """ + team_cs_rel_insert_result = test_env_conn.execute_sql(sql=team_cs_rel_insert_sql) + team_cs_rel_id = (insert_team_id) + +room_select_sql = f""" + select room_id from `im_room` where cate_id = {notifycationData.brandId} and site_id = {notifycationData.shopId} +""" +room_select_result = test_env_conn.select_many_value(sql=room_select_sql) +if room_select_result: + room_id = tuple([team['room_id'] for team in room_select_result]) +else: + room_insert_sql = f""" + INSERT INTO `im_room` (room_id,title,room_type,cate_id,site_id,first_send_uid,first_send_uid_type,first_operation_uid,platform,allocation_uid,first_send_name,first_send_avatar,status,open_time,close_time,close_uid,is_mark,is_ignore,is_msg_reply,last_msg_time,last_msg_uid,last_msg_type,last_msg_uid_type,last_msg_context,allocation_name,allocation_avatar,room_platform,room_channel_type,from_id,channel_id,recipient_id,email_topic,ref_email_topic,session_id,create_at,update_at,read_status,third_create_time) VALUES + ({notifycationData.insert_room_id},'',1,{notifycationData.brandId},{notifycationData.shopId},1,1,{notifycationData.userId},0,{notifycationData.userId},'Willdesk Team','',1,0,1714295061,{notifycationData.userId},0,0,1,1714295078362,{notifycationData.userId},11,2,'{"contentList":"0.24day关闭
","attachmentList":[]}','auto_test','https://img.willdesk.com/$','willdesk','wk','','','','','','',1708332200,1714295078,2,0); +""" + test_env_conn.execute_sql(sql=room_insert_sql) + room_id = (notifycationData.insert_room_id) + +room_rel_select_sql = f'select * from `resource_room_rel` where room_id in {room_id} and item_id in {team_cs_rel_id}' +room_rel_select_result = test_env_conn.select_one_value(sql=room_rel_select_sql) +if room_rel_select_result: + setattr(notifycationData, 'team_room_rel_id', room_rel_select_result['id']) +else: + setattr(notifycationData, 'no_team_room_rel_id', room_rel_select_result['id']) +if hasattr(notifycationData, 'team_room_rel_id'): + no_rel_room_select_sql = f'select * from ' \ No newline at end of file diff --git a/YamlCase/setting/facebookIntegration.yaml b/YamlCase/setting/facebookIntegration.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8fc7ad0bd71205a77abbab402ef1de836853030e --- /dev/null +++ b/YamlCase/setting/facebookIntegration.yaml @@ -0,0 +1,11 @@ +api1: + title: 检查facebook列表 + url: /api/v1/facebook/page + method: post + data: {"uType":2,"platform":1,"v":"${v}"} + before_sql: setting/facebookIntegration/facebookIntegration_select.py + expected: + - eq: {"$.code" : 0} + - in_list: {"$.data.data[*].channelName": "${facebook_name}"} + - exec: {"code": "assert len(res.json()['data']['data']) == ${facebook_num}"} + diff --git a/YamlCase/setting/widgetTranslate.yaml b/YamlCase/setting/widgetTranslate.yaml new file mode 100644 index 0000000000000000000000000000000000000000..63582fb356aa335c90912ac44fa3059fec422e22 --- /dev/null +++ b/YamlCase/setting/widgetTranslate.yaml @@ -0,0 +1,19 @@ +api1: + title: 检查翻译结果 - 中文 + url: /api/v1/setting/translateShopSetting + method: post + data: {"language":"${chinese}","v":"${v}"} + expected: + - eq: {"$.code": 0} + - eq: {"$.data.settingInfo[?(@.itemId == ${item_id})].itemValue": "${chinese_value}"} + +api2: + title: 检查翻译结果 - 英文 + url: /api/v1/setting/translateShopSetting + method: post + data: {"language": "${english}","v": "${v}"} + expected: + - eq: {"$.code": 0} + - eq: {"$.data.settingInfo[?(@.itemId == ${item_id})].itemValue": "${english_value}"} + +