@steedos-labs/content-compliance 0.8.36 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/lib/actions/contentHubMaterialGroups.d.ts +19 -0
- package/lib/actions/contentHubMaterialGroups.js +70 -0
- package/lib/actions/contentHubMaterialGroups.js.map +1 -0
- package/lib/actions/contentHubSyncPreview.d.ts +21 -0
- package/lib/actions/contentHubSyncPreview.js +51 -0
- package/lib/actions/contentHubSyncPreview.js.map +1 -0
- package/lib/actions/contentHubTagValues.d.ts +12 -0
- package/lib/actions/contentHubTagValues.js +70 -0
- package/lib/actions/contentHubTagValues.js.map +1 -0
- package/lib/actions/index.d.ts +3 -0
- package/lib/actions/index.js +3 -0
- package/lib/actions/index.js.map +1 -1
- package/lib/actions/sendToContentHub.js +1 -1
- package/lib/actions/sendToContentHub.js.map +1 -1
- package/lib/actions/spotCheckMaterial.js +2 -1
- package/lib/actions/spotCheckMaterial.js.map +1 -1
- package/lib/index.js +173 -30
- package/lib/index.js.map +1 -1
- package/lib/methods/__tests__/contentHubMaterialGroup.test.d.ts +1 -0
- package/lib/methods/__tests__/contentHubMaterialGroup.test.js +97 -0
- package/lib/methods/__tests__/contentHubMaterialGroup.test.js.map +1 -0
- package/lib/methods/__tests__/contentHubMaterialGroupRule.test.d.ts +1 -0
- package/lib/methods/__tests__/contentHubMaterialGroupRule.test.js +168 -0
- package/lib/methods/__tests__/contentHubMaterialGroupRule.test.js.map +1 -0
- package/lib/methods/__tests__/contentHubPush.test.d.ts +1 -0
- package/lib/methods/__tests__/contentHubPush.test.js +568 -0
- package/lib/methods/__tests__/contentHubPush.test.js.map +1 -0
- package/lib/methods/__tests__/contentHubSyncRule.test.d.ts +1 -0
- package/lib/methods/__tests__/contentHubSyncRule.test.js +130 -0
- package/lib/methods/__tests__/contentHubSyncRule.test.js.map +1 -0
- package/lib/methods/__tests__/contentHubTagSync.test.d.ts +1 -0
- package/lib/methods/__tests__/contentHubTagSync.test.js +743 -0
- package/lib/methods/__tests__/contentHubTagSync.test.js.map +1 -0
- package/lib/methods/__tests__/tagLabel.test.d.ts +1 -0
- package/lib/methods/__tests__/tagLabel.test.js +136 -0
- package/lib/methods/__tests__/tagLabel.test.js.map +1 -0
- package/lib/methods/approval_engine.js +10 -7
- package/lib/methods/approval_engine.js.map +1 -1
- package/lib/methods/consts.d.ts +4 -0
- package/lib/methods/consts.js.map +1 -1
- package/lib/methods/content_hub.d.ts +8 -1
- package/lib/methods/content_hub.js +278 -27
- package/lib/methods/content_hub.js.map +1 -1
- package/lib/methods/content_hub_copyright.d.ts +15 -0
- package/lib/methods/content_hub_copyright.js +223 -0
- package/lib/methods/content_hub_copyright.js.map +1 -0
- package/lib/methods/content_hub_material_group.d.ts +29 -0
- package/lib/methods/content_hub_material_group.js +268 -0
- package/lib/methods/content_hub_material_group.js.map +1 -0
- package/lib/methods/content_hub_material_group_rule.d.ts +23 -0
- package/lib/methods/content_hub_material_group_rule.js +58 -0
- package/lib/methods/content_hub_material_group_rule.js.map +1 -0
- package/lib/methods/content_hub_sync_rule.d.ts +51 -0
- package/lib/methods/content_hub_sync_rule.js +122 -0
- package/lib/methods/content_hub_sync_rule.js.map +1 -0
- package/lib/methods/content_hub_tag.d.ts +57 -0
- package/lib/methods/content_hub_tag.js +830 -0
- package/lib/methods/content_hub_tag.js.map +1 -0
- package/lib/methods/pls.d.ts +4 -1
- package/lib/methods/pls.js +60 -51
- package/lib/methods/pls.js.map +1 -1
- package/lib/methods/tag_label.d.ts +19 -0
- package/lib/methods/tag_label.js +192 -0
- package/lib/methods/tag_label.js.map +1 -0
- package/main/default/applications/pepsico_content_setting.app.yml +8 -0
- package/main/default/objects/pepesio_ch__c/fields/media_type.field.yml +2 -0
- package/main/default/objects/pepesio_ch__c/fields/pepsico_material_approval.field.yml +6 -0
- package/main/default/objects/pepesio_ch__c/fields/push_status.field.yml +11 -0
- package/main/default/objects/pepesio_ch__c/fields/type.field.yml +48 -8
- package/main/default/objects/pepesio_ch__c/listviews/all.listview.yml +2 -0
- package/main/default/objects/pepsico_ch_material_group_rule/fields/active.field.yml +6 -0
- package/main/default/objects/pepsico_ch_material_group_rule/fields/classification.field.yml +73 -0
- package/main/default/objects/pepsico_ch_material_group_rule/fields/name.field.yml +9 -0
- package/main/default/objects/pepsico_ch_material_group_rule/fields/orgs.field.yml +10 -0
- package/main/default/objects/pepsico_ch_material_group_rule/fields/priority.field.yml +10 -0
- package/main/default/objects/pepsico_ch_material_group_rule/fields/query_mode.field.yml +12 -0
- package/main/default/objects/pepsico_ch_material_group_rule/fields/remark.field.yml +7 -0
- package/main/default/objects/pepsico_ch_material_group_rule/listviews/all.listview.yml +20 -0
- package/main/default/objects/pepsico_ch_material_group_rule/pepsico_ch_material_group_rule.object.yml +19 -0
- package/main/default/objects/pepsico_ch_material_group_rule/permissions/admin.permission.yml +15 -0
- package/main/default/objects/pepsico_ch_material_group_rule/permissions/user.permission.yml +14 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/active.field.yml +6 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/classification.field.yml +73 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/kol_classification.field.yml +67 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/name.field.yml +9 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/need_sync.field.yml +11 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/orgs.field.yml +10 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/priority.field.yml +10 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/product.field.yml +65 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/remark.field.yml +7 -0
- package/main/default/objects/pepsico_ch_sync_rule/fields/spot_check.field.yml +12 -0
- package/main/default/objects/pepsico_ch_sync_rule/listviews/all.listview.yml +24 -0
- package/main/default/objects/pepsico_ch_sync_rule/pepsico_ch_sync_rule.object.yml +19 -0
- package/main/default/objects/pepsico_ch_sync_rule/permissions/admin.permission.yml +15 -0
- package/main/default/objects/pepsico_ch_sync_rule/permissions/user.permission.yml +14 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/action.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/changed_at.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/duration.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/error_code.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/error_msg.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/expired_date.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/name.field.yml +7 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/parent_tag_val_id.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/request_id.field.yml +7 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/result.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/source_ip.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/space.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/tag_id.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/tag_val_id.field.yml +7 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/fields/tag_val_name.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/listviews/all.listview.yml +21 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/pepsico_ch_tag_sync_log.object.yml +16 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/permissions/admin.permission.yml +15 -0
- package/main/default/objects/pepsico_ch_tag_sync_log/permissions/user.permission.yml +14 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/changed_at.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/duration.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/expired_date.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/item_count.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/name.field.yml +7 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/request_id.field.yml +7 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/response.field.yml +9 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/result_code.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/source_ip.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/space.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/tag_id.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/fields/tag_label.field.yml +6 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/listviews/all.listview.yml +19 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/pepsico_ch_tag_sync_request.object.yml +16 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/permissions/admin.permission.yml +15 -0
- package/main/default/objects/pepsico_ch_tag_sync_request/permissions/user.permission.yml +14 -0
- package/main/default/objects/pepsico_material/fields/material_type_label.field.yml +10 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_confirm_online.button.yml +78 -1
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_modify_pls.button.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/available_channels.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/available_channels_label.field.yml +10 -0
- package/main/default/objects/pepsico_material_approval/fields/ch_material_group.field.yml +56 -0
- package/main/default/objects/pepsico_material_approval/fields/ch_material_group_path.field.yml +14 -0
- package/main/default/objects/pepsico_material_approval/fields/ch_sync_enabled.field.yml +11 -0
- package/main/default/objects/pepsico_material_approval/fields/ch_sync_rule_check.field.yml +55 -0
- package/main/default/objects/pepsico_material_approval/fields/content_rule.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/content_rule_label.field.yml +10 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_check_food_name.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ec_check_ingredients.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ec_check_net_content.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_address.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_name.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ec_check_shelf_life.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ec_check_standard_code.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ec_check_storage_condition.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ec_has_detail_page.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/ec_producers.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/ec_qc_production_email.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ec_related_approval.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/effective_date.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/expiry_date.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/form_version.field.yml +6 -2
- package/main/default/objects/pepsico_material_approval/fields/has_nutrition_table.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/material_editable.field.yml +78 -0
- package/main/default/objects/pepsico_material_approval/fields/material_type.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/material_type_label.field.yml +10 -0
- package/main/default/objects/pepsico_material_approval/fields/pls_file.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/pls_km_files.field.yml +2 -5
- package/main/default/objects/pepsico_material_approval/fields/pls_upload_files.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/product_label.field.yml +10 -0
- package/main/default/objects/pepsico_material_approval_data/fields/guding_pass.field.yml +9 -1
- package/main/default/objects/pepsico_material_data/fields/guding_pass.field.yml +9 -1
- package/main/default/objects/picklist_options/fields/ch_changed_at.field.yml +8 -0
- package/main/default/objects/picklist_options/picklist_options.object.yml +7 -0
- package/main/default/tabs/object_pepsico_ch_material_group_rule.tab.yml +8 -0
- package/main/default/tabs/object_pepsico_ch_sync_rule.tab.yml +8 -0
- package/main/default/triggers/pepsico_material_approval_tag_label.trigger.yml +80 -0
- package/main/default/triggers/pepsico_material_tag_label.trigger.yml +77 -0
- package/package.json +1 -1
- package/scripts/audit-legacy-tags.js +246 -0
- package/scripts/probe-content-hub-tags.js +134 -0
- package/main/default/objects/pepsico_material_approval/fields/has_detail_page.field.yml +0 -18
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var content_hub_material_group_rule_1 = require("../content_hub_material_group_rule");
|
|
5
|
+
var contentHubMaterialGroups_1 = require("../../actions/contentHubMaterialGroups");
|
|
6
|
+
var facts = { orgIds: ['org-eka', 'org-sales', 'org-root'], classification: 'SLS-SC2-SC23' };
|
|
7
|
+
describe('materialGroupRuleMatches', function () {
|
|
8
|
+
it('发起人部门命中所选部门或其下级', function () {
|
|
9
|
+
expect((0, content_hub_material_group_rule_1.materialGroupRuleMatches)({ _id: 'r', orgs: ['org-sales'] }, facts)).toBe(true);
|
|
10
|
+
expect((0, content_hub_material_group_rule_1.materialGroupRuleMatches)({ _id: 'r', orgs: ['org-mkt'] }, facts)).toBe(false);
|
|
11
|
+
});
|
|
12
|
+
it('部门 + 分类都要满足; 分类按节点及其下级匹配', function () {
|
|
13
|
+
expect((0, content_hub_material_group_rule_1.materialGroupRuleMatches)({ _id: 'r', orgs: ['org-sales'], classification: ['SLS-SC2'] }, facts)).toBe(true);
|
|
14
|
+
expect((0, content_hub_material_group_rule_1.materialGroupRuleMatches)({ _id: 'r', orgs: ['org-sales'], classification: ['MD-SC1'] }, facts)).toBe(false);
|
|
15
|
+
expect((0, content_hub_material_group_rule_1.materialGroupRuleMatches)({ _id: 'r', orgs: ['org-mkt'], classification: ['SLS-SC2'] }, facts)).toBe(false);
|
|
16
|
+
});
|
|
17
|
+
it('两个条件都没填的规则无效, 不会把所有人切到 Sales', function () {
|
|
18
|
+
expect((0, content_hub_material_group_rule_1.materialGroupRuleMatches)({ _id: 'r' }, facts)).toBe(false);
|
|
19
|
+
expect((0, content_hub_material_group_rule_1.materialGroupRuleMatches)({ _id: 'r', orgs: [], classification: [] }, facts)).toBe(false);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
var createService = function (rules) {
|
|
23
|
+
var getObject = function (name) { return ({
|
|
24
|
+
directFind: function (_a) {
|
|
25
|
+
var filters = _a.filters;
|
|
26
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
27
|
+
return tslib_1.__generator(this, function (_b) {
|
|
28
|
+
if (name === 'pepsico_ch_material_group_rule')
|
|
29
|
+
return [2, rules];
|
|
30
|
+
if (name === 'organizations')
|
|
31
|
+
return [2, [{ _id: filters[0][2], parents: filters[0][2] === 'org-eka' ? ['org-sales', 'org-root'] : ['org-root'] }]];
|
|
32
|
+
if (name === 'picklists')
|
|
33
|
+
return [2, [{ _id: 'pl-product' }]];
|
|
34
|
+
if (name === 'picklist_options')
|
|
35
|
+
return [2, [{ value: 'p1', name: '乐事' }, { value: 'p2', name: '经典袋装' }]];
|
|
36
|
+
return [2, []];
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}); };
|
|
41
|
+
var logger = { info: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
42
|
+
return [2, undefined];
|
|
43
|
+
}); }); }, error: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
44
|
+
return [2, undefined];
|
|
45
|
+
}); }); } };
|
|
46
|
+
return { getObject: getObject, getLogger: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
47
|
+
return [2, logger];
|
|
48
|
+
}); }); } };
|
|
49
|
+
};
|
|
50
|
+
describe('matchMaterialGroupRule', function () {
|
|
51
|
+
it('没有规则或不命中时返回 null', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
52
|
+
var getObject, _a, svc, _b;
|
|
53
|
+
return tslib_1.__generator(this, function (_c) {
|
|
54
|
+
switch (_c.label) {
|
|
55
|
+
case 0:
|
|
56
|
+
getObject = createService([]).getObject;
|
|
57
|
+
_a = expect;
|
|
58
|
+
return [4, (0, content_hub_material_group_rule_1.matchMaterialGroupRule)({ getObject: getObject }, { ownerDepartment: 'org-eka' })];
|
|
59
|
+
case 1:
|
|
60
|
+
_a.apply(void 0, [_c.sent()]).toBeNull();
|
|
61
|
+
svc = createService([{ _id: 'r1', orgs: ['org-mkt'] }]);
|
|
62
|
+
_b = expect;
|
|
63
|
+
return [4, (0, content_hub_material_group_rule_1.matchMaterialGroupRule)({ getObject: svc.getObject }, { ownerDepartment: 'org-eka' })];
|
|
64
|
+
case 2:
|
|
65
|
+
_b.apply(void 0, [_c.sent()]).toBeNull();
|
|
66
|
+
return [2];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}); });
|
|
70
|
+
it('按发起人部门的上级部门命中', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
71
|
+
var getObject, _a;
|
|
72
|
+
return tslib_1.__generator(this, function (_b) {
|
|
73
|
+
switch (_b.label) {
|
|
74
|
+
case 0:
|
|
75
|
+
getObject = createService([{ _id: 'r1', orgs: ['org-sales'] }]).getObject;
|
|
76
|
+
_a = expect;
|
|
77
|
+
return [4, (0, content_hub_material_group_rule_1.matchMaterialGroupRule)({ getObject: getObject }, { ownerDepartment: 'org-eka' })];
|
|
78
|
+
case 1:
|
|
79
|
+
_a.apply(void 0, [_b.sent()]).toMatchObject({ _id: 'r1' });
|
|
80
|
+
return [2];
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}); });
|
|
84
|
+
});
|
|
85
|
+
describe('getQueryMode', function () {
|
|
86
|
+
it('按规则上选的查询方式; 不命中按品牌/产品; 早期没填查询方式的规则按 Sales', function () {
|
|
87
|
+
expect((0, content_hub_material_group_rule_1.getQueryMode)({ _id: 'r', query_mode: 'product' })).toBe('product');
|
|
88
|
+
expect((0, content_hub_material_group_rule_1.getQueryMode)({ _id: 'r', query_mode: 'sales' })).toBe('sales');
|
|
89
|
+
expect((0, content_hub_material_group_rule_1.getQueryMode)(null)).toBe('product');
|
|
90
|
+
expect((0, content_hub_material_group_rule_1.getQueryMode)({ _id: 'r' })).toBe('sales');
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
describe('contentHubMaterialGroups 查询方式', function () {
|
|
94
|
+
var env = process.env.PEPSICO_CONTENT_HUB_MATERIAL_GROUP_MOCK;
|
|
95
|
+
beforeAll(function () { process.env.PEPSICO_CONTENT_HUB_MATERIAL_GROUP_MOCK = 'true'; });
|
|
96
|
+
afterAll(function () { process.env.PEPSICO_CONTENT_HUB_MATERIAL_GROUP_MOCK = env; });
|
|
97
|
+
var call = function (rules, params) { return contentHubMaterialGroups_1.contentHubMaterialGroups.handler.call(createService(rules), {
|
|
98
|
+
params: params,
|
|
99
|
+
meta: { user: { userId: 'u1' } }
|
|
100
|
+
}); };
|
|
101
|
+
it('命中「显示销售目录」的规则时按 Sales 范围查, 不需要品牌/产品', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
102
|
+
var result;
|
|
103
|
+
return tslib_1.__generator(this, function (_a) {
|
|
104
|
+
switch (_a.label) {
|
|
105
|
+
case 0: return [4, call([{ _id: 'r1', orgs: ['org-sales'], query_mode: 'sales' }], { owner_department: 'org-eka', classification: '' })];
|
|
106
|
+
case 1:
|
|
107
|
+
result = _a.sent();
|
|
108
|
+
expect(result.status).toBe(0);
|
|
109
|
+
expect(result.data.options.map(function (o) { return o.label; })).toEqual(['线上衍生素材', '线下衍生素材', '非渠道衍生素材-EKA', '非渠道衍生素材-DCO']);
|
|
110
|
+
return [2];
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}); });
|
|
114
|
+
it('命中「按品牌/产品查」的规则时按名称路径查', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
115
|
+
var result;
|
|
116
|
+
return tslib_1.__generator(this, function (_a) {
|
|
117
|
+
switch (_a.label) {
|
|
118
|
+
case 0: return [4, call([{ _id: 'r1', orgs: ['org-sales'], query_mode: 'product' }], { owner_department: 'org-eka', product: 'p1-p2' })];
|
|
119
|
+
case 1:
|
|
120
|
+
result = _a.sent();
|
|
121
|
+
expect(result.data.options[0]).toMatchObject({ label: '经典袋装', materialGroupPath: '乐事|经典袋装' });
|
|
122
|
+
return [2];
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}); });
|
|
126
|
+
it('多条命中时以排在前面(优先级高)的为准', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
127
|
+
var rules, result;
|
|
128
|
+
return tslib_1.__generator(this, function (_a) {
|
|
129
|
+
switch (_a.label) {
|
|
130
|
+
case 0:
|
|
131
|
+
rules = [
|
|
132
|
+
{ _id: 'r1', orgs: ['org-eka'], query_mode: 'product' },
|
|
133
|
+
{ _id: 'r2', orgs: ['org-sales'], query_mode: 'sales' }
|
|
134
|
+
];
|
|
135
|
+
return [4, call(rules, { owner_department: 'org-eka', product: 'p1-p2' })];
|
|
136
|
+
case 1:
|
|
137
|
+
result = _a.sent();
|
|
138
|
+
expect(result.data.options[0]).toMatchObject({ materialGroupPath: '乐事|经典袋装' });
|
|
139
|
+
return [2];
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}); });
|
|
143
|
+
it('不命中时按品牌/产品的名称路径查', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
144
|
+
var result;
|
|
145
|
+
return tslib_1.__generator(this, function (_a) {
|
|
146
|
+
switch (_a.label) {
|
|
147
|
+
case 0: return [4, call([{ _id: 'r1', orgs: ['org-sales'] }], { owner_department: 'org-mkt', product: 'p1-p2' })];
|
|
148
|
+
case 1:
|
|
149
|
+
result = _a.sent();
|
|
150
|
+
expect(result.data.options[0]).toMatchObject({ label: '经典袋装', materialGroupPath: '乐事|经典袋装' });
|
|
151
|
+
return [2];
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}); });
|
|
155
|
+
it('不命中且没选品牌/产品时返回空列表', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
156
|
+
var result;
|
|
157
|
+
return tslib_1.__generator(this, function (_a) {
|
|
158
|
+
switch (_a.label) {
|
|
159
|
+
case 0: return [4, call([], { owner_department: 'org-mkt', product: '' })];
|
|
160
|
+
case 1:
|
|
161
|
+
result = _a.sent();
|
|
162
|
+
expect(result).toEqual({ status: 0, msg: '', data: { options: [] } });
|
|
163
|
+
return [2];
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}); });
|
|
167
|
+
});
|
|
168
|
+
//# sourceMappingURL=contentHubMaterialGroupRule.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contentHubMaterialGroupRule.test.js","sourceRoot":"","sources":["../../../src/methods/__tests__/contentHubMaterialGroupRule.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|