Commit 1474d339 authored by zhanhuasheng's avatar zhanhuasheng

新增用例

parent 5849ca19
from Utils.global_variate import Global
class homepageTestData(Global):
pass
\ No newline at end of file
willdesk_brand_id = 4877
\ No newline at end of file
from Utils.global_variate import Global
from Utils.sql_handler import SqlHandler
from Utils.config_handler import base_config
class teamData(Global):
pass
team_db = SqlHandler(address=base_config.get_value('mysql','address'),port=int(base_config.get_value('mysql','port')),account=base_config.get_value('mysql','account'),password=base_config.get_value('mysql','password'))
# brandId = 6052
# shopId = 7238
from Utils.sql_handler import test_env_conn
from TestData.homepage.homepage_test_data import homepageTestData
customer_service_id_select_sql = f'select * from `rel_customerservice_brand` where brand_id = {homepageTestData.brandId}'
customer_service_id_select_result = test_env_conn.select_many_value(sql=customer_service_id_select_sql)
customer_id_list = tuple([cs['customer_service_id'] for cs in customer_service_id_select_result])
no_reply_room_select_sql = f'select * from `im_room` where cate_id = {homepageTestData.brandId} and last_msg_uid not in {customer_id_list} and room_type = 1 and is_ignore = 0 and status =1'
no_reply_room_select_result = test_env_conn.select_many_value(sql=no_reply_room_select_sql)
no_reply_num = len(no_reply_room_select_result)
setattr(homepageTestData, 'no_reply_num', no_reply_num)
\ No newline at end of file
from Utils.sql_handler import test_env_conn
from TestData.homepage.homepage_test_data import homepageTestData
willdesk_cs_id_select_sql = f'select * from `rel_customerservice_brand` where brand_id = {homepageTestData.willdesk_brand_id} and is_activation = 1'
willdesk_cs_id_select_result = test_env_conn.select_many_value(sql=willdesk_cs_id_select_sql)
cs_num = len(willdesk_cs_id_select_result)
cs = willdesk_cs_id_select_result[0]
cs_id = cs['customer_service_id']
cs_info_select_sql = f'select * from `customer_service` where id = {cs_id}'
cs_info_select_result = test_env_conn.select_one_value(sql=cs_info_select_sql)
cs_name = cs_info_select_result['name']
cs_profile = cs_info_select_result['profile']
cs_customer_type = cs_info_select_result['customer_type']
setattr(homepageTestData, 'cs_id', cs_id)
setattr(homepageTestData, 'cs_name', cs_name)
setattr(homepageTestData, 'cs_profile', cs_profile)
setattr(homepageTestData, 'cs_customer_type', cs_customer_type)
setattr(homepageTestData, 'cs_num', cs_num)
\ No newline at end of file
from Utils.sql_handler import test_env_conn
from TestData.inbox.team_test_data import teamData
team_select_sql = f'select * from `resource_item` where brand_id = {teamData.brandId} and resource_id = 1'
team_select_result = test_env_conn.select_many_value(sql=team_select_sql)
team_select_result = teamData.team_db.select_many_value(sql=team_select_sql)
team_num = len(team_select_result)
team_id = team_select_result[0]['id']
......@@ -11,16 +10,16 @@ setattr(teamData, 'team_num', team_num)
setattr(teamData, 'team_id', team_id)
setattr(teamData, 'team_name', team_name)
team_room_list_select_sql = f'select room_id from `resource_room_rel` where item_id = {team_id}'
team_room_list_select_result = test_env_conn.select_many_value(sql=team_room_list_select_sql)
team_room_list_select_result = teamData.team_db.select_many_value(sql=team_room_list_select_sql)
team_room_list = tuple(i['room_id'] for i in team_room_list_select_result)
if team_room_list != ():
open_room_select_sql = f'select * from `im_room` where room_id in {team_room_list} and status = 1 and room_type != 2'
open_room_select_result = test_env_conn.select_many_value(sql=open_room_select_sql)
open_room_select_result = teamData.team_db.select_many_value(sql=open_room_select_sql)
pending_room_select_sql = f'select * from `im_room` where room_id in {team_room_list} and status = 2 and room_type != 2'
pending_room_select_result = test_env_conn.select_many_value(sql=pending_room_select_sql)
pending_room_select_result = teamData.team_db.select_many_value(sql=pending_room_select_sql)
close_room_select_sql = f'select * from `im_room` where room_id in {team_room_list} and status = 3 and room_type != 2'
close_room_select_result = test_env_conn.select_many_value(sql=close_room_select_sql)
close_room_select_result = teamData.team_db.select_many_value(sql=close_room_select_sql)
setattr(teamData, 'open_room_num', len(open_room_select_result))
setattr(teamData, 'pending_room_num', len(pending_room_select_result))
setattr(teamData, 'close_room_num', len(close_room_select_result))
......@@ -31,24 +30,25 @@ else:
setattr(teamData, 'close_room_num', 0)
other_room_select_sql = f'select * from `im_room` where `cate_id` = {teamData.brandId} and room_type != 2 and site_id = {teamData.shopId} and status = 1 limit 10'
other_room_select_result = test_env_conn.select_one_value(sql=other_room_select_sql)
other_room_select_result = teamData.team_db.select_one_value(sql=other_room_select_sql)
setattr(teamData, 'other_room_id', other_room_select_result['room_id'])
setattr(teamData, 'open_room_num_add' , teamData.open_room_num + 1)
team_member_select_sql = f'select * from `resource_item_cs_rel` where item_id = {team_id}'
team_member_select_result = test_env_conn.select_many_value(sql=team_member_select_sql)
team_member_select_result = teamData.team_db.select_many_value(sql=team_member_select_sql)
team_member_num = len(team_member_select_result)
team_member_id = team_member_select_result[0]['cs_id']
setattr(teamData, 'team_member_num', team_member_num)
setattr(teamData, 'team_member_id', team_member_id)
team_member_info_select_sql = f'select * from `customer_service` where id = {team_member_id}'
team_member_info_select_result = test_env_conn.select_one_value(sql=team_member_info_select_sql)
team_member_info_select_result = teamData.team_db.select_one_value(sql=team_member_info_select_sql)
setattr(teamData, 'team_member_name', team_member_info_select_result['name'])
setattr(teamData, 'team_member_image', team_member_info_select_result['profile'])
setattr(teamData, 'team_member_email', team_member_info_select_result['email'])
team_member_open_room_select_sql = f'select * from `im_room` where room_id in {team_room_list} and room_type != 2 and status = 1 and allocation_uid = {team_member_id}'
team_member_open_room_select_result = test_env_conn.select_many_value(sql=team_member_open_room_select_sql)
team_member_open_room_select_result = teamData.team_db.select_many_value(sql=team_member_open_room_select_sql)
setattr(teamData, 'team_member_open_room_num', len(team_member_open_room_select_result))
teamData.team_db.close_db()
\ No newline at end of file
from Utils.sql_handler import test_env_conn
from TestData.inbox.ticketDetail_test_data import ticketDetailData
final_chat_select_sql = f'select * from `im_room` where first_send_uid = {ticketDetailData.customerId} and is_ignore = 0 and room_id != {ticketDetailData.roomId} order by last_msg_time desc'
final_chat_select_result = test_env_conn.select_many_value(sql=final_chat_select_sql)
final_chat_num = len(final_chat_select_result)
first_chat = final_chat_select_result[0]
first_chat_id = first_chat['room_id']
first_chat_allocation_name = first_chat['allocation_name']
first_chat_allocation_avatar = first_chat['allocation_avatar']
first_chat_allocation_uid = first_chat['allocation_uid']
first_chat_last_msg = first_chat['last_msg_context']
first_chat_close_time = first_chat['close_time']
setattr(ticketDetailData, 'first_chat_id', str(first_chat_id))
setattr(ticketDetailData, 'first_chat_allocation_name', first_chat_allocation_name)
setattr(ticketDetailData, 'first_chat_allocation_avatar', first_chat_allocation_avatar)
setattr(ticketDetailData, 'first_chat_allocation_uid', first_chat_allocation_uid)
setattr(ticketDetailData, 'first_chat_last_msg', first_chat_last_msg)
setattr(ticketDetailData, 'first_chat_close_time', str(first_chat_close_time))
setattr(ticketDetailData, 'final_chat_num', final_chat_num)
\ No newline at end of file
import random
from Utils.sql_handler import test_env_conn
from TestData.inbox.ticketDetail_test_data import ticketDetailData
......
......@@ -62,3 +62,42 @@ api6:
method: get
expected:
- eq: {"$.code": 200}
api7:
title: 检查exec接口
url: /api/v1/autoanswer/execPostRule
method: post
data: {"eventId":"cjhd9umein6c1gkes7ug","shopDomain":"willdesktest-system.myshopify.com","ruleData":{"ruleCondList":[{"condList":[{"robId":"cjhdpumein6edbdndpkg","objName":"ChatBotWorkingHours","objDescribe":"Working hours","objType":"bool","objValue":"true","showType":"","showKind":"","showPlaceholder":""},{"robId":"cjksanuein6akm1n0020","objName":"ChatBotCurrentUrl","objDescribe":"Current URL","objType":"string","objValue":"https://hstest.sealapps.com/helpdesk/home","showType":"","showKind":"url","showPlaceholder":""},{"robId":"cjhd9umein6c1gkes7ug","objName":"ChatBotCustomerVisitsPage","objType":"bool","objValue":"true","showType":"","showKind":"","objDescribe":"ChatBotCustomerVisitsPage"}]}]}}
expected:
- eq: {"$.code": 0}
api8:
title: 检查willdesk客服接口
url: /api/v1/customerService/listPublicCustomerService
method: post
data: {"shopId": "${willdesk_brand_id}"}
before_sql: homepage/willdesk_customer_service_select.py
expected:
- eq: { "$.code": 0 }
- eq: { "$.data.list[?(@.id == ${cs_id})].name": "${cs_name}" }
- eq: { "$.data.list[?(@.id == ${cs_id})].profile": "${cs_profile}" }
- eq: { "$.data.list[?(@.id == ${cs_id})].isActive": 1 }
- eq: { "$.data.list[?(@.id == ${cs_id})].customerType": "${cs_customer_type}" }
- exec: {"code": "assert len(res.json()['data']['list']) == ${cs_num}"}
api9:
title: 检查未读消息数量
url: /api/v1/chatRoom/noReply
method: post
data: {"uid":"${userId}","uType":2,"platform":1,"cateId":"${brandId}","v":"${v}"}
before_sql: homepage/no_reply_select.py
expected:
- eq: {"$.code": 0}
- eq: {"$.data.total": "${no_reply_num}"}
api10:
title: 检查advConfig接口
url: /api/v1/shop/getAdvConfig?v=${v}
method: get
expected:
- eq: {"$.code": 0}
......@@ -96,3 +96,28 @@ api11:
expected:
- eq: {"$.code" : 0}
- eq: {"$.data.enterType" : 1}
api12:
title: b端获取房间号
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[?(@.fromID == '${customerId}')].roomId"}
expected:
- eq: {"$.code" : 0}
- like: {"$.data.list[?(@.fromID == '${customerId}')].firstSendUid" : "${customerId}"}
api13:
title: 检查其他最后会话信息
url: /api/v1/chatRoom/closeList
method: post
data: {"uid":"${userId}","uType":2,"platform":1,"firstSendUid":"${customerId}","firstSendUidType":1,"siteId":"${shopId}","roomId":"${roomId}","page":1,"pageSize":2,"v":"${v}"}
before_sql: inbox/ticketDetail_finalChat_select.py
expected:
- eq: {"$.code": 0}
- eq: {"$.data.total": "${final_chat_num}"}
- eq: {"$.data.list[0].roomId": "${first_chat_id}"}
- eq: {"$.data.list[0].allocationName": "${first_chat_allocation_name}"}
- eq: {"$.data.list[0].allocationUid": "${first_chat_allocation_uid}"}
- eq: {"$.data.list[0].lastMsgContext": "${first_chat_last_msg}"}
- eq: {"$.data.list[0].closeTime": "${first_chat_close_time}"}
\ No newline at end of file
......@@ -48,3 +48,23 @@ api6:
- eq: {"$.code": 0}
- eq: {"$.data.settingInfoMap.mapList.0.settings[?(@.itemId == 102)].itemValue": "1"}
- eq: {"$.data.settingInfoMap.mapList.0.settings[?(@.itemId == 103)].itemValue": "0"}
api7:
title: b端获取房间号
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[?(@.fromID == '${customerId}')].roomId"}
expected:
- eq: {"$.code" : 0}
- like: {"$.data.list[?(@.fromID == '${customerId}')].firstSendUid" : "${customerId}"}
api8:
title: 检查通知接口是否ping通
url: /api/v1/resource/roomNotify
method: post
data: {"roomId":"${roomId}","v":"${v}"}
expected:
- eq: {"$.code" : 0}
- eq: {"$.data.res": true}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment