diff --git a/TestCase/inbox/test_04_ticketInfo.py b/TestCase/inbox/test_04_ticketInfo.py new file mode 100644 index 0000000000000000000000000000000000000000..a5d18bf4de7e93a816d869d292bea9ae0dd6ca8e --- /dev/null +++ b/TestCase/inbox/test_04_ticketInfo.py @@ -0,0 +1,17 @@ +import pytest +from Utils import yaml_handler +from Utils import req_handler +from TestData.inbox.ticketInfo_test_data import ticketInfoData + +''' +这个文件和ticketStatus公用一个变量类 +''' + +class TestTicketInfo: + + yaml_path = r'inbox\ticketInfo.yaml' + yaml_data = yaml_handler.yaml_handler.get_case(yaml_path) + @pytest.mark.parametrize('case',yaml_data) + def test_ticketInfo(self,case): + print(case) + req_handler.ReqHandler.send_requests(case=case,var_class=ticketInfoData) diff --git a/TestData/inbox/ticketInfo_test_data.py b/TestData/inbox/ticketInfo_test_data.py new file mode 100644 index 0000000000000000000000000000000000000000..e6fb0991a5cc022239ebcadf240dae6cebba863c --- /dev/null +++ b/TestData/inbox/ticketInfo_test_data.py @@ -0,0 +1,4 @@ +from Utils.global_variate import Global + +class ticketInfoData(Global): + pass \ No newline at end of file diff --git a/TestData/inbox/ticketStatus_test_data.py b/TestData/inbox/ticketStatus_test_data.py index 2c597f9c6294c1a60f1dc3df4db52b4b00fc9a09..2c11d3ef87a3b1f4ba1017728c3dd1cd336842c3 100644 --- a/TestData/inbox/ticketStatus_test_data.py +++ b/TestData/inbox/ticketStatus_test_data.py @@ -1,4 +1,5 @@ from Utils.global_variate import Global class ticketStatusData(Global): - pass \ No newline at end of file + ticket_title = 'autotest_ticket_title' + #别改这里的数据 \ No newline at end of file diff --git a/TestFile/inbox/ticketInfo_select.py b/TestFile/inbox/ticketInfo_select.py new file mode 100644 index 0000000000000000000000000000000000000000..95d41d986b4f3c00423ae2c55b9e11f500c30e20 --- /dev/null +++ b/TestFile/inbox/ticketInfo_select.py @@ -0,0 +1,24 @@ +from Utils.sql_handler import test_env_conn +from TestData.inbox.ticketInfo_test_data import ticketInfoData + +all_ticket_select_sql = f'select * from `im_room` where `cate_id` = {ticketInfoData.brandId} and `status` = 1 and `is_ignore` = 0' +wait_ticket_select_sql = f'select * from `im_room` where `cate_id` = {ticketInfoData.brandId} and `status` = 2 and `is_ignore` = 0' +close_ticket_select_sql = f'select * from `im_room` where `cate_id` = {ticketInfoData.brandId} and `status` = 3 and `is_ignore` = 0' +your_ticket_select_sql = f'select * from `im_room` where `cate_id` = {ticketInfoData.brandId} and `status` = 1 and `allocation_uid` = {ticketInfoData.userId} and `is_ignore` = 0' +your_wait_ticket_sql = f'select * from `im_room` where `cate_id` = {ticketInfoData.brandId} and `status` = 2 and `allocation_uid` = {ticketInfoData.userId} and `is_ignore` = 0' +your_close_ticket_sql = f'select * from `im_room` where `cate_id` = {ticketInfoData.brandId} and `status` = 3 and `allocation_uid` = {ticketInfoData.userId} and `is_ignore` = 0' + +all_ticket_num = len(test_env_conn.select_many_value(sql=all_ticket_select_sql)) +wait_ticket_num = len(test_env_conn.select_many_value(sql=wait_ticket_select_sql)) +close_ticket_num = len(test_env_conn.select_many_value(sql=close_ticket_select_sql)) +your_ticket_num = len(test_env_conn.select_many_value(sql=your_ticket_select_sql)) +your_wait_ticket_num = len(test_env_conn.select_many_value(sql=your_wait_ticket_sql)) +your_close_ticket_num = len(test_env_conn.select_many_value(sql=your_close_ticket_sql)) + +setattr(ticketInfoData,'all_ticket_num',all_ticket_num) +setattr(ticketInfoData,'close_ticket_num',close_ticket_num) +setattr(ticketInfoData,'wait_ticket_num',wait_ticket_num) +setattr(ticketInfoData,'your_ticket_num',your_ticket_num) +setattr(ticketInfoData,'your_wait_ticket_num',your_wait_ticket_num) +setattr(ticketInfoData,'your_close_ticket_num',your_close_ticket_num) + diff --git a/TestFile/inbox/ticketInfo_select2.py b/TestFile/inbox/ticketInfo_select2.py new file mode 100644 index 0000000000000000000000000000000000000000..6847ef89955fd4be8491c95f2f2479656023ede8 --- /dev/null +++ b/TestFile/inbox/ticketInfo_select2.py @@ -0,0 +1,11 @@ +from Utils.sql_handler import test_env_conn +from TestData.inbox.ticketInfo_test_data import ticketInfoData + +ticket_info_select_sql = f'select * from im_room where room_id = {ticketInfoData.roomId}' +ticket_info_result = test_env_conn.select_one_value(sql=ticket_info_select_sql) + +setattr(ticketInfoData, 'ticketCustomerImage', ticket_info_result['first_send_avatar']) +setattr(ticketInfoData, 'ticketCustomerName', ticket_info_result['first_send_name']) +setattr(ticketInfoData, 'ticketLastMsg', ticket_info_result['last_msg_context']) +setattr(ticketInfoData, 'ticketLastMsgTime', str(ticket_info_result['last_msg_time'])) +setattr(ticketInfoData, 'ticketTitle', ticket_info_result['title']) \ No newline at end of file diff --git a/TestFile/inbox/ticketStatus_selectStatus.py b/TestFile/inbox/ticketStatus_selectStatus.py index f5b7288909e9db235b262975d3e4cf770fd89f21..ef866ba65151b0f85bf5be188767bf41aa2e233d 100644 --- a/TestFile/inbox/ticketStatus_selectStatus.py +++ b/TestFile/inbox/ticketStatus_selectStatus.py @@ -23,7 +23,7 @@ setattr(ticketStatusData,'unassigned_ticket_num_minus',len(unassigned_ticket_num setattr(ticketStatusData,'unassigned_ticket_id',unassigned_ticket_num[0]['room_id']) -read_ticket_select_sql = f'select * from `im_room` where `cate_id` = {ticketStatusData.brandId} and `status` = 1 and `read_status` = 2 and `room_platform` = "willdesk" and `is_ignore` = 0' +read_ticket_select_sql = f'select * from `im_room` where `cate_id` = {ticketStatusData.brandId} and `status` = 1 and `read_status` = 2 and `room_platform` = "willdesk" and `is_ignore` = 0 and `site_id` = {ticketStatusData.shopId}' read_ticket_select_result = test_env_conn.select_one_value(sql=read_ticket_select_sql) setattr(ticketStatusData,'read_ticket_id',str(read_ticket_select_result["room_id"])) diff --git a/YamlCase/inbox/ticketInfo.yaml b/YamlCase/inbox/ticketInfo.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f855f3032f7daee577aa4b05291f0965faee7c5b --- /dev/null +++ b/YamlCase/inbox/ticketInfo.yaml @@ -0,0 +1,39 @@ +api1: + title: 检查各状态会话数量 + url: /api/v1/chat/local/count + method: post + data: { "uid": "${userId}","uType": 2,"platform": 1,"siteIds": [ "${shopId}" ],"keyword": "","countType": [ "all","unread","mention","assigned","unassigned","chatbot","spam" ],"v": "${v}" } + before_sql: inbox/ticketInfo_select.py + expected: + - eq: { "$.code": 0 } + - eq: { "$.data.list.all.openCount": "${all_ticket_num}" } + - eq: { "$.data.list.all.waitCount": "${wait_ticket_num}" } + - eq: { "$.data.list.all.closeCount": "${close_ticket_num}" } + - eq: { "$.data.list.assigned.openCount": "${your_ticket_num}" } + - eq: { "$.data.list.assigned.waitCount": "${your_wait_ticket_num}" } + - eq: { "$.data.list.assigned.closeCount": "${your_close_ticket_num}" } + + +api2: + title: 获取一个会话id + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"","v":"${v}"} + set_value: {"roomId" : "$.data.list[0].roomId"} + expected: + - eq: { "$.code": 0 } + +api3: + title: 检查会话信息 + url: /api/v1/chat/local/roomList + method: post + data: { "uid": "${userId}","uType": 2,"platform": 1,"siteIds": [ "${shopId}" ],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "","v": "${v}" } + before_sql: inbox/ticketInfo_select2.py + expected: + - eq: { "$.code": 0 } + - eq: { "$.data.list[?(@.roomId == '${roomId}')].title": "${ticketTitle}"} + - eq: { "$.data.list[?(@.roomId == '${roomId}')].firstSendName": "${ticketCustomerName}"} + - eq: { "$.data.list[?(@.roomId == '${roomId}')].firstSendAvatar": "${ticketCustomerImage}"} + - eq: { "$.data.list[?(@.roomId == '${roomId}')].lastMsgContext": "${ticketLastMsg}"} +# - eq: { "$.data.list[?(@.roomId == '${roomId}')].lastMsgTime": "${ticketLastMsgTime}"} + diff --git a/YamlCase/inbox/ticketOpreate.yaml b/YamlCase/inbox/ticketOpreate.yaml index db4e93d2ea7378bdbe17bf425feb67c0c0888564..868ebed0935ab1548b7f92420b005b05e8d3e334 100644 --- a/YamlCase/inbox/ticketOpreate.yaml +++ b/YamlCase/inbox/ticketOpreate.yaml @@ -1,5 +1,5 @@ api1: - title: 标记为垃圾邮件 + title: 标记为垃圾会话 url: /api/v1/chat/local/moveToSpamList method: post data: {"roomId":"${read_ticket_id}","isMoveToSpam":true,"v":"${v}"} @@ -7,7 +7,7 @@ api1: - eq: {"$.code": 0} api2: - title: 检查是否标记为垃圾邮件 + title: 检查是否标记为垃圾会话 url: /api/v1/chat/local/roomList method: post data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"spam","keyword":"","v":"${v}"} @@ -15,7 +15,7 @@ api2: - eq: {"$.data.list[?(@.roomId == '${read_ticket_id}')].isIgnore" : true} api3: - title: 取消标记为垃圾邮件 + title: 取消标记为垃圾会话 url: /api/v1/chat/local/moveToSpamList method: post data: {"roomId":"${read_ticket_id}","isMoveToSpam":false,"v":"${v}"} @@ -29,4 +29,140 @@ api4: data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"keyword":"","countType":["all","unread","mention","assigned","unassigned","chatbot","spam"],"v":"${v}"} expected: - eq: {"$.code" : 0} - - eq: {"$.data.list.all.openCount" : "${all_ticket_num}"} \ No newline at end of file + - eq: {"$.data.list.all.openCount" : "${all_ticket_num}"} + +api5: + title: 标记为紧急会话 + url: /api/v1/chatRoom/operate + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"roomId":"${read_ticket_id}","clientId":"${willdesk_clientId}","event":"mark","username":"${name}","isMark":true,"allocationUid":"${userId}","v":"${v}"} + expected: + - eq: {"$.code": 0} + +api6: + title: 检查是否标记为紧急会话 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"","v":"${v}"} + expected: + - eq: {"$.code" : 0} + - eq: {"$.data.list[?(@.roomId == '${read_ticket_id}')].isMark" : true} + +api7: + title: 取消标记为紧急会话 + url: /api/v1/chatRoom/operate + method: post + data: { "uid": "${userId}","uType": 2,"platform": 1,"roomId": "${read_ticket_id}","clientId": "${willdesk_clientId}","event": "mark","username": "${name}","isMark": false,"allocationUid": "${userId}","v": "${v}" } + expected: + - eq: { "$.code": 0 } + +api8: + title: 检查是否取消标记为紧急会话 + url: /api/v1/chat/local/roomList + method: post + data: { "uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "","v": "${v}" } + expected: + - eq: { "$.code": 0 } + - eq: { "$.data.list[?(@.roomId == '${read_ticket_id}')].isMark": false } + +api9: + title: 标记为待定会话 + url: /api/v1/chatRoom/operate + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"roomId":"${read_ticket_id}","clientId":"${willdesk_clientId}","event":"wait","username":"${name}","isMark":false,"allocationUid":"${userId}","v":"${v}"} + expected: + - eq: {"$.code": 0} + +api10: + title: 检查是否标记为待定会话 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":2,"page":1,"pageSize":20,"sortName":"all","keyword":"","v":"${v}"} + expected: + - eq: {"$.code" : 0} + - eq: {"$.data.list[?(@.roomId == '${read_ticket_id}')].status" : 2} + +api11: + title: 取消标记为待定会话 + url: /api/v1/chatRoom/operate + method: post + data: {"uid": "${userId}","uType": 2,"platform": 1,"roomId": "${read_ticket_id}","clientId": "${willdesk_clientId}","event": "open","username": "${name}","isMark": false,"allocationUid": "${userId}","v": "${v}" } + expected: + - eq: { "$.code": 0 } + +api12: + title: 检查是否取消标记为待定会话 + url: /api/v1/chat/local/roomList + method: post + data: { "uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "","v": "${v}" } + expected: + - eq: { "$.code": 0 } + - eq: { "$.data.list[?(@.roomId == '${read_ticket_id}')].status": 1} + +api13: + title: 关闭会话 + url: /api/v1/chatRoom/operate + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"roomId":"${read_ticket_id}","clientId":"${willdesk_clientId}","event":"close","username":"${name}","isMark":false,"allocationUid":"${userId}","v":"${v}"} + expected: + - eq: {"$.code": 0} + +api14: + title: 检查是否关闭会话 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":3,"page":1,"pageSize":20,"sortName":"all","keyword":"","v":"${v}"} + expected: + - eq: {"$.code" : 0} + - eq: {"$.data.list[?(@.roomId == '${read_ticket_id}')].status" : 3} + +api15: + title: 重新打开会话 + url: /api/v1/chatRoom/operate + method: post + data: {"uid": "${userId}","uType": 2,"platform": 1,"roomId": "${read_ticket_id}","clientId": "${willdesk_clientId}","event": "open","username": "${name}","isMark": false,"allocationUid": "${userId}","v": "${v}" } + expected: + - eq: { "$.code": 0 } + +api16: + title: 检查是否重新打开会话 + url: /api/v1/chat/local/roomList + method: post + data: { "uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "","v": "${v}" } + expected: + - eq: { "$.code": 0 } + - eq: { "$.data.list[?(@.roomId == '${read_ticket_id}')].status": 1} + +api17: + title: 添加会话标题 + url: /api/v1/chatRoom/operate + method: post + data: {"avatar":"","uid":5746,"uType":2,"platform":1,"roomId":"${read_ticket_id}","clientId":"${willdesk_clientId}","event":"title","isMark":true,"title":"${ticket_title}","allocationUid":"${userId}","allocationName":"${name}","allocationAvatar":"","username":"${name}","v":"${v}"} + expected: + - eq: {"$.code": 0} + +api18: + title: 检查是否成功添加会话标题 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"","v":"${v}"} + expected: + - eq: {"$.code" : 0} + - eq: {"$.data.list[?(@.roomId == '${read_ticket_id}')].title" : "${ticket_title}"} + +api19: + title: 删除会话标题 + url: /api/v1/chatRoom/operate + method: post + data: {"avatar":"","uid":5746,"uType":2,"platform":1,"roomId":"${read_ticket_id}","clientId":"${willdesk_clientId}","event":"title","isMark":true,"title":"","allocationUid":"${userId}","allocationName":"${name}","allocationAvatar":"","username":"${name}","v":"${v}"} + expected: + - eq: { "$.code": 0 } + +api20: + title: 检查是否成功删除会话标题 + url: /api/v1/chat/local/roomList + method: post + data: { "uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "","v": "${v}" } + expected: + - eq: { "$.code": 0 } + - eq: {"$.data.list[?(@.roomId == '${read_ticket_id}')].title" : ""}