api0: title: 获取AI设置列表 url: api/v1/willai/local/aiShopConfigList?v=${v} method: get expected: - eq: {"$.code": 0} set_value: {"aiId": "$.data.list[0].id","aiShopId": "$.data.list[0].shopId","thirdAiId": "$.data.list[?(@.source == 3)].id","thirdShopAiId": "$.data.list[?(@.source == 3)].shopId"} api1: title: 打开AI辅助开关 url: api/v1/willai/local/updateAiShopConfig method: post data: {"id":"${aiId}","brandId":"${brandId}","shopId":"${aiShopId}","aiSwitch":true,"v":"${v}"} expected: - eq: {"$.code": 0} api1-1: title: 打开AI接管开关 url: api/v1/willai/local/updateAiShopConfig method: post data: {"id":"${aiId}","brandId":"${brandId}","shopId":"${aiShopId}","automaticReply":true,"v":"${v}"} sleep: 1 expected: - eq: {"$.code": 0} api2: title: 检查AI开关状态 url: api/v1/willai/local/aiShopConfigList?v=${v} method: get expected: - eq: {"$.code": 0} - eq: {"$.data.list[?(@.id == ${aiId})].aiSwitch": true} - eq: {"$.data.list[?(@.id == ${aiId})].automaticReply": true} api3: title: 检查产品接口 url: api/v1/shopify/local/productList method: post data: {"page":1,"pageSize":10,"shopId":"${shopId}","v":"${v}"} before_sql: automation/ai/product_select_sql.py expected: - eq: {"$.code": 0} - eq: {"$.data.list[?(@.productId == '${product_id}')].productImage": '${product_image}'} - eq: {"$.data.list[?(@.productId == '${product_id}')].productLink": '${product_link}'} - eq: {"$.data.list[?(@.productId == '${product_id}')].productName": '${product_name}'} - eq: {"$.data.list[?(@.productId == '${product_id}')].totalQuantity": '${product_quantity}'} - eq: {"$.data.total": "${product_num}"} api4: title: 查询已学习的FAQ url: api/v1/willai/local/getKbFaqs method: post data: {"shopId": "${shopId}"} set_value: {"faq_list": "$.data.faqId"} expected: - eq: {"$.code": 0} api5: title: 查询已学习到的文档数量 url: api/v1/willai/local/docCount method: post data: {"shopId": "${shopId}"} set_value: {"doc_num": "$.data.urlCount"} expected: - eq: {"$.code": 0} - exec: {"code": "assert res.json()['data']['faqCount'] == len(${faq_list})"} api6: title: 查询url接口 url: api/v1/willai/local/aiUrlList method: post data: {"page":1,"pageSize":10,"shopId":"${shopId}","v":"${v}","category": 1} set_value: {"url_id": "$.data.list[0].id","url_num": "$.data.total"} expected: - eq: {"$.code": 0} api7: title: 新增url url: api/v1/willai/local/addAiUrl method: post data: {"shopId":"${shopId}","url":["${new_url}"],"v":"${v}"} expected: - eq: {"$.code": 0} api8: title: 查询url接口 url: api/v1/willai/local/aiUrlList method: post data: {"page":1,"pageSize":100,"shopId":"${shopId}","v":"${v}","category": 1} expected: - eq: {"$.code": 0} - exec: {"code": "assert res.json()['data']['total'] == str(int('${url_num}') + 1)"} api11: title: 刷新url url: api/v1/willai/local/operateAiUrl method: post data: {"shopId":"${shopId}","idList":["${url_id}"],"v":"${v}","selectAll": false,"status": 1,"excludeIdList": []} expected: - eq: {"$.code": 0} api12: title: 删除url url: api/v1/willai/local/operateAiUrl method: post data: {"shopId":"${shopId}","idList":["${url_id}"],"v":"${v}","selectAll": false,"status": 2,"excludeIdList": []} expected: - eq: {"$.code": 0} api13: title: 查询url接口 url: api/v1/willai/local/aiUrlList method: post data: {"page":1,"pageSize":100,"shopId":"${shopId}","v":"${v}","category": 1,"sortType": 0} expected: - eq: {"$.code": 0} - not_in_list: {"$.data.list[*].id": "${url_id}"} - exec: {"code": "assert res.json()['data']['total'] == str(${url_num})"} api14: title: 查询in this knowledge中的QA接口 url: api/v1/willai/local/aiQAList method: post data: {"shopId":"${shopId}","page":1,"pageSize":15,"status":2,"search":"","lastDayType":2,"searchType":1,"timeZone":"Asia/Shanghai","v":"${v}"} set_value: {"qa_num": "$.data.total"} expected: - eq: {"$.code": 0} api15: title: 新增QA url: api/v1/willai/local/addAiQa method: post data: {"docType":3,"shopId":"${shopId}","question":"${new_question}","answer":"${new_answer}","v":"${v}"} set_value: {"qa_id": "$.data.id"} expected: - eq: {"$.code": 0} api16: title: 查询in this knowledge中的QA接口 url: api/v1/willai/local/aiQAList method: post data: {"shopId":"${shopId}","page":1,"pageSize":15,"status":2,"search":"","lastDayType":2,"searchType":1,"timeZone":"Asia/Shanghai","v":"${v}"} expected: - eq: {"$.code": 0} - exec: {"code": "assert res.json()['data']['total'] == str(int('${qa_num}') + 1)"} api17: title: 编辑QA url: api/v1/willai/local/modifyAiQa method: post data: {"docType":3,"shopId":"${shopId}","question":"${edit_question}","answer":"${edit_answer}","id":"${qa_id}","v":"${v}"} expected: - eq: {"$.code": 0} api18: title: 查询QA接口 url: api/v1/willai/local/aiQAList method: post data: {"shopId":"${shopId}","page":1,"pageSize":15,"status":2,"search":"","lastDayType":2,"searchType":1,"timeZone":"Asia/Shanghai","v":"${v}"} expected: - eq: {"$.code": 0} - eq: {"$.data.list[?(@.id == '${qa_id}')].question": "${edit_question}"} - eq: {"$.data.list[?(@.id == '${qa_id}')].answer": "${edit_answer}"} api19: title: 关闭QA url: api/v1/willai/local/operateAiQa method: post data: { "id": "${qa_id}","shopId": "${shopId}","brandId": "${brandId}","status": 3,"v": "${v}" } expected: - eq: {"$.code": 0} api20: title: 查询QA接口 url: api/v1/willai/local/aiQAList method: post data: {"shopId":"${shopId}","page":1,"pageSize":15,"status":2,"search":"","lastDayType":2,"searchType":1,"timeZone":"Asia/Shanghai","v":"${v}"} expected: - eq: {"$.code": 0} - eq: {"$.data.list[?(@.id == '${qa_id}')].status": 3} api21: title: 打开QA url: api/v1/willai/local/operateAiQa method: post data: { "id": "${qa_id}","shopId": "${shopId}","brandId": "${brandId}","status": 2,"v": "${v}" } expected: - eq: { "$.code": 0 } api22: title: 查询QA接口 url: api/v1/willai/local/aiQAList method: post data: { "shopId": "${shopId}","page": 1,"pageSize": 15,"status": 2,"search": "","lastDayType": 2,"searchType": 1,"timeZone": "Asia/Shanghai","v": "${v}" } expected: - eq: { "$.code": 0 } - eq: { "$.data.list[?(@.id == '${qa_id}')].status": 2} api23: title: 删除QA url: api/v1/willai/local/operateAiQa method: post data: {"id":"${qa_id}","shopId":"${shopId}","brandId":"${brandId}","status":4,"v":"${v}"} expected: - eq: {"$.code": 0} api24: title: 查询dismiss的QA接口 url: api/v1/willai/local/aiQAList method: post data: {"shopId":"${shopId}","page":1,"pageSize":15,"status":3,"lastDayType":4,"searchType":1,"timeZone":"Asia/Shanghai","v":"${v}"} expected: - eq: {"$.code": 0} - in_list: {"$.data.list[*].id": "${qa_id}"} api25: title: 把qa添加回in this knowledge url: api/v1/willai/local/operateAiQa method: post data: { "id": "${qa_id}","shopId": "${shopId}","brandId": "${brandId}","status": 1,"v": "${v}" } expected: - eq: { "$.code": 0 } api26: title: 查询QA接口 url: api/v1/willai/local/aiQAList method: post data: {"shopId":"${shopId}","page":1,"pageSize":15,"status":2,"search":"","lastDayType":2,"searchType":1,"timeZone":"Asia/Shanghai","v":"${v}"} expected: - eq: {"$.code": 0} - in_list: {"$.data.list[*].id": "${qa_id}"} api27: title: 把qa添加回in this knowledge url: api/v1/willai/local/operateAiQa method: post data: { "id": "${qa_id}","shopId": "${shopId}","brandId": "${brandId}","status": 5,"v": "${v}" } expected: - eq: { "$.code": 0 } api28: title: 查询in this knowledge的QA接口 url: api/v1/willai/local/aiQAList method: post data: {"shopId":"${shopId}","page":1,"pageSize":15,"status":2,"search":"","lastDayType":4,"searchType":1,"timeZone":"Asia/Shanghai","v":"${v}"} expected: - eq: {"$.code": 0} - not_in_list: {"$.data.list[*].id": "${qa_id}"} api29: title: 查询dismiss的QA接口 url: api/v1/willai/local/aiQAList method: post data: {"shopId":"${shopId}","page":1,"pageSize":15,"status":3,"lastDayType":4,"searchType":1,"timeZone":"Asia/Shanghai","v":"${v}"} expected: - eq: {"$.code": 0} - not_in_list: {"$.data.list[*].id": "${qa_id}"} api30: title: 编辑Email url: api/v1/setting/local/updateShopSetting method: post data: {"itemList":[{"shopId":"${shopId}","itemId":204,"itemValue":"${new_email}","itemName":"willAiShopEmail"}],"brandId":"${brandId}","v":"${v}"} expected: - eq: {"$.code": 0} api31: title: 检查Email是否编辑成功 url: api/v1/setting/local/getShopSetting method: post data: {"v": "${v}"} expected: - eq: {"$.code": 0} - eq: {"$.data.settingInfoMap.mapList['${shopId}'].[?(@.itemId == 204)].itemValue": "${new_email}"} api32: title: AI训练页面聊天 url: api/v1/willai/local/knowledgeTestChat method: post data: {"sessionId":"","shopId":"${shopId}","question":"hello","clientId":"${willdesk_clientId}","v":"${v}"} expected: - eq: {"$.code": 0} api33: title: 编辑Email url: api/v1/setting/local/updateShopSetting method: post data: {"itemList":[{"shopId":"${shopId}","itemId":204,"itemValue":"","itemName":"willAiShopEmail"}],"brandId":"${brandId}","v":"${v}"} expected: - eq: {"$.code": 0} api344: title: 检查Email和推荐问题开关是否编辑成功 url: api/v1/setting/local/getShopSetting method: post data: {"v": "${v}"} expected: - eq: {"$.code": 0} - eq: {"$.data.settingInfoMap.mapList['${shopId}'].[?(@.itemId == 204)].itemValue": ""} api35: title: 关闭AI辅助开关 url: api/v1/willai/local/updateAiShopConfig method: post data: {"id":"${aiId}","brandId":"${brandId}","shopId":"${aiShopId}","aiSwitch":false,"v":"${v}"} expected: - eq: {"$.code": 0} api36: title: 关闭AI接管开关 url: api/v1/willai/local/updateAiShopConfig method: post data: {"id":"${aiId}","brandId":"${brandId}","shopId":"${aiShopId}","automaticReply":false,"v":"${v}"} sleep: 1 expected: - eq: {"$.code": 0} api37: title: 检查AI开关状态 url: api/v1/willai/local/aiShopConfigList?v=${v} method: get expected: - eq: {"$.code": 0} - eq: {"$.data.list[?(@.id == ${aiId})].aiSwitch": false} - eq: {"$.data.list[?(@.id == ${aiId})].automaticReply": false} api38: title: 第三方渠道关联知识库 url: api/v1/willai/local/updateAiShopConfig method: post data: {"id":"${thirdAiId}","brandId":"${brandId}","shopId":"${thirdShopAiId}","kbParentShopId":"${aiShopId}","v":"${v}"} expected: - eq: {"$.code": 0} api39: title: 检查知识库关联状态 url: api/v1/willai/local/aiShopConfigList?v=${v} method: get expected: - eq: { "$.code": 0 } - eq: { "$.data.list[?(@.id == ${thirdAiId})].kbParentShopId": "${aiShopId}"} api40: title: 取消关联知识库 url: api/v1/willai/local/updateAiShopConfig method: post data: {"id":"${thirdAiId}","brandId":"${brandId}","shopId":"${thirdShopAiId}","kbParentShopId":0 ,"v":"${v}"} expected: - eq: {"$.code": 0} api41: title: 检查知识库关联状态 url: api/v1/willai/local/aiShopConfigList?v=${v} method: get expected: - eq: { "$.code": 0 } - eq: { "$.data.list[?(@.id == ${thirdAiId})].kbParentShopId": 0}