UNPKG

focus-product-extractor2

Version:

Extract product information from chat/order data

211 lines (209 loc) 5.29 kB
"use strict"; var _index = _interopRequireDefault(require("../index.js")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } // 测试卡片数据处理逻辑的用例 const cardDataTestCases = [{ name: "订单卡片 - 只有URL,应该返回null", data: { "scene": "chat", "platform": "shopee", "shopId": "test_shop", "rawData": { "messages": [{ "sender": "system", "timestamp": 1630000000, "message": { "card_msg": { "data": [{ "orders": { "list": [{ "wareUrl": "https://item.taobao.com/item.htm?id=123456" }], "type": 5 } }] }, "order_id": "", "sku_id": "", "spu_id": "", "sub_type": 4, "type": 1 } }] } }, expected: { noResult: true } }, { name: "商品卡片 - 只有URL,应该返回null", data: { "scene": "chat", "platform": "shopee", "shopId": "test_shop", "rawData": { "messages": [{ "sender": "system", "timestamp": 1630000000, "message": { "card_msg": { "data": [{ "wares": { "list": [{ "wareUrl": "https://item.taobao.com/item.htm?id=789012" }], "type": 4 } }] }, "order_id": "", "sku_id": "", "spu_id": "", "sub_type": 4, "type": 1 } }] } }, expected: { noResult: true } }, { name: "订单卡片 - 有文本内容,应该返回order类型", data: { "scene": "chat", "platform": "shopee", "shopId": "test_shop", "rawData": { "messages": [{ "sender": "system", "timestamp": 1630000000, "message": { "card_msg": { "data": [{ "orders": { "list": [{ "title": "订单 #12345", "desc": "订单描述" }], "type": 5 } }] }, "order_id": "", "sku_id": "", "spu_id": "", "sub_type": 4, "type": 1 } }] } }, expected: { hasResult: true, type: "order" } }, { name: "商品卡片 - 有文本内容,应该返回sku类型", data: { "scene": "chat", "platform": "shopee", "shopId": "test_shop", "rawData": { "messages": [{ "sender": "system", "timestamp": 1630000000, "message": { "card_msg": { "data": [{ "wares": { "list": [{ "title": "商品名称", "desc": "商品描述" }], "type": 4 } }] }, "order_id": "", "sku_id": "", "spu_id": "", "sub_type": 4, "type": 1 } }] } }, expected: { hasResult: true, type: "sku" } }, { name: "混合卡片 - URL和文本混合,应该返回sku类型", data: { "scene": "chat", "platform": "shopee", "shopId": "test_shop", "rawData": { "messages": [{ "sender": "system", "timestamp": 1630000000, "message": { "card_msg": { "data": [{ "wares": { "list": [{ "title": "商品名称", "wareUrl": "https://item.taobao.com/item.htm?id=789012" }], "type": 4 } }] }, "order_id": "", "sku_id": "", "spu_id": "", "sub_type": 4, "type": 1 } }] } }, expected: { hasResult: true, type: "sku" } }]; // 执行测试 console.log("开始测试卡片数据处理逻辑...\n"); for (let i = 0; i < cardDataTestCases.length; i++) { const testCase = cardDataTestCases[i]; console.log(`测试 ${i + 1}: ${testCase.name}`); try { const result = await _index.default.process(testCase.data); if (result.items && result.items.length > 0) { if (testCase.expected.noResult) { console.log(`❌ 失败 - 期望无结果,但实际有结果:`); console.log(` type: ${result.items[0].type}, goodsId: ${result.items[0].goodsId}`); } else if (testCase.expected.hasResult) { const actualType = result.items[0].type; const expectedType = testCase.expected.type; if (actualType === expectedType) { console.log(`✅ 通过 - type: ${actualType}, goodsId: ${result.items[0].goodsId}`); } else { console.log(`❌ 失败 - 期望type: ${expectedType}, 实际type: ${actualType}`); } } } else { if (testCase.expected.noResult) { console.log(`✅ 通过 - 无结果(符合预期)`); } else { console.log(`❌ 失败 - 期望有结果,但实际无结果`); } } } catch (error) { console.log(`❌ 错误 - ${error.message}`); } console.log(""); } console.log("卡片数据处理测试完成!");