@steedos-labs/content-compliance 1.0.0 → 1.0.2

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.
Files changed (73) hide show
  1. package/dist/index.js +1 -1
  2. package/lib/actions/contentHubFillOnSave.d.ts +5 -0
  3. package/lib/actions/contentHubFillOnSave.js +49 -0
  4. package/lib/actions/contentHubFillOnSave.js.map +1 -0
  5. package/lib/actions/contentHubMaterialGroups.js +19 -35
  6. package/lib/actions/contentHubMaterialGroups.js.map +1 -1
  7. package/lib/actions/contentHubSyncPreview.js +23 -19
  8. package/lib/actions/contentHubSyncPreview.js.map +1 -1
  9. package/lib/actions/index.d.ts +1 -0
  10. package/lib/actions/index.js +1 -0
  11. package/lib/actions/index.js.map +1 -1
  12. package/lib/methods/__tests__/contentHubFormFill.test.d.ts +1 -0
  13. package/lib/methods/__tests__/contentHubFormFill.test.js +274 -0
  14. package/lib/methods/__tests__/contentHubFormFill.test.js.map +1 -0
  15. package/lib/methods/__tests__/contentHubMaterialGroupRule.test.js +43 -6
  16. package/lib/methods/__tests__/contentHubMaterialGroupRule.test.js.map +1 -1
  17. package/lib/methods/__tests__/contentHubPush.test.js +503 -9
  18. package/lib/methods/__tests__/contentHubPush.test.js.map +1 -1
  19. package/lib/methods/approval_engine.js +9 -6
  20. package/lib/methods/approval_engine.js.map +1 -1
  21. package/lib/methods/consts.d.ts +1 -0
  22. package/lib/methods/consts.js.map +1 -1
  23. package/lib/methods/content_hub.d.ts +1 -0
  24. package/lib/methods/content_hub.js +203 -25
  25. package/lib/methods/content_hub.js.map +1 -1
  26. package/lib/methods/content_hub_copyright.d.ts +15 -0
  27. package/lib/methods/content_hub_copyright.js +223 -0
  28. package/lib/methods/content_hub_copyright.js.map +1 -0
  29. package/lib/methods/content_hub_form_fill.d.ts +2 -0
  30. package/lib/methods/content_hub_form_fill.js +75 -0
  31. package/lib/methods/content_hub_form_fill.js.map +1 -0
  32. package/lib/methods/content_hub_material_group.d.ts +1 -0
  33. package/lib/methods/content_hub_material_group.js +14 -1
  34. package/lib/methods/content_hub_material_group.js.map +1 -1
  35. package/lib/methods/content_hub_material_group_rule.d.ts +17 -1
  36. package/lib/methods/content_hub_material_group_rule.js +77 -4
  37. package/lib/methods/content_hub_material_group_rule.js.map +1 -1
  38. package/lib/methods/content_hub_sync_rule.d.ts +4 -0
  39. package/lib/methods/content_hub_sync_rule.js +29 -1
  40. package/lib/methods/content_hub_sync_rule.js.map +1 -1
  41. package/lib/methods/content_hub_uploader.d.ts +24 -0
  42. package/lib/methods/content_hub_uploader.js +281 -0
  43. package/lib/methods/content_hub_uploader.js.map +1 -0
  44. package/lib/methods/pls.d.ts +3 -0
  45. package/lib/methods/pls.js +39 -35
  46. package/lib/methods/pls.js.map +1 -1
  47. package/main/default/objects/pepesio_ch__c/fields/media_type.field.yml +2 -0
  48. package/main/default/objects/pepesio_ch__c/fields/pepsico_material_approval.field.yml +6 -0
  49. package/main/default/objects/pepesio_ch__c/fields/push_status.field.yml +11 -0
  50. package/main/default/objects/pepesio_ch__c/fields/type.field.yml +48 -8
  51. package/main/default/objects/pepesio_ch__c/listviews/all.listview.yml +2 -0
  52. package/main/default/objects/pepsico_ch_material_group_rule/fields/classification.field.yml +1 -1
  53. package/main/default/objects/pepsico_ch_material_group_rule/fields/priority.field.yml +10 -0
  54. package/main/default/objects/pepsico_ch_material_group_rule/fields/query_mode.field.yml +12 -0
  55. package/main/default/objects/pepsico_ch_material_group_rule/listviews/all.listview.yml +4 -2
  56. package/main/default/objects/pepsico_ch_material_group_rule/pepsico_ch_material_group_rule.object.yml +2 -1
  57. package/main/default/objects/pepsico_material_approval/buttons/pepsico_confirm_online.button.yml +78 -1
  58. package/main/default/objects/pepsico_material_approval/fields/available_channels.field.yml +2 -0
  59. package/main/default/objects/pepsico_material_approval/fields/ch_material_group.field.yml +5 -12
  60. package/main/default/objects/pepsico_material_approval/fields/ch_material_group_path.field.yml +5 -3
  61. package/main/default/objects/pepsico_material_approval/fields/ch_sync_enabled.field.yml +10 -0
  62. package/main/default/objects/pepsico_material_approval/fields/ch_sync_manual.field.yml +12 -0
  63. package/main/default/objects/pepsico_material_approval/fields/ch_sync_rule_check.field.yml +4 -12
  64. package/main/default/objects/pepsico_material_approval/fields/ch_uploader_notified_group.field.yml +11 -0
  65. package/main/default/objects/pepsico_material_approval/fields/content_rule.field.yml +2 -0
  66. package/main/default/objects/pepsico_material_approval/fields/effective_date.field.yml +2 -0
  67. package/main/default/objects/pepsico_material_approval/fields/expiry_date.field.yml +2 -0
  68. package/main/default/objects/pepsico_material_approval/fields/material_editable.field.yml +78 -0
  69. package/main/default/objects/pepsico_material_approval/fields/material_type.field.yml +2 -0
  70. package/main/default/objects/pepsico_material_approval_data/fields/guding_pass.field.yml +9 -1
  71. package/main/default/objects/pepsico_material_data/fields/guding_pass.field.yml +9 -1
  72. package/main/default/triggers/pepsico_material_approval_content_hub.trigger.yml +26 -0
  73. package/package.json +1 -1
@@ -16,9 +16,14 @@ var TAIL_APPROVAL = {
16
16
  ch_material_group: 'g1'
17
17
  };
18
18
  var REVIEWED_APPROVAL = tslib_1.__assign(tslib_1.__assign({}, TAIL_APPROVAL), { is_skip_approver: false, kol_classification: 'Mid-tier' });
19
- var createCtx = function (approval) {
19
+ var COPYRIGHT_FILES = {
20
+ c1: { _id: 'c1', original: { name: '音乐授权.pdf' }, data: Buffer.from('music license') },
21
+ c2: { _id: 'c2', original: { name: '字体授权.pdf' }, data: Buffer.from('font license') }
22
+ };
23
+ var createCtx = function (approval, _a) {
24
+ var _b = _a === void 0 ? {} : _a, _c = _b.unreadable, unreadable = _c === void 0 ? [] : _c;
20
25
  var materials = [
21
- { _id: 'm1', name: '素材1.jpg', extension_type: 'jpg', material: 'f1', pepsico_material_approval: approval._id },
26
+ { _id: 'm1', name: '素材1.jpg', extension_type: 'jpg', material: 'f1', material_type: ['mt1-mt11'], pepsico_material_approval: approval._id },
22
27
  { _id: 'm2', name: '素材2.mp4', extension_type: 'mp4', material: 'f2', pepsico_material_approval: approval._id }
23
28
  ];
24
29
  return {
@@ -28,6 +33,18 @@ var createCtx = function (approval) {
28
33
  }); }); }, error: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
29
34
  return [2, undefined];
30
35
  }); }); } },
36
+ broker: {
37
+ call: function (action, params) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
38
+ var _a;
39
+ return tslib_1.__generator(this, function (_b) {
40
+ if (action === '@builder6/email.send') {
41
+ emails.push(params);
42
+ return [2];
43
+ }
44
+ return [2, unreadable.includes(params.fileId) ? null : (_a = COPYRIGHT_FILES[params.fileId]) === null || _a === void 0 ? void 0 : _a.data];
45
+ });
46
+ }); }
47
+ },
31
48
  getObject: function (name) { return ({
32
49
  findOne: function (id) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
33
50
  return [2, (name === 'pepsico_material' ? materials.find(function (m) { return m._id === id; }) : approval)];
@@ -42,28 +59,107 @@ var createCtx = function (approval) {
42
59
  });
43
60
  });
44
61
  },
45
- directInsert: function (doc) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
46
- if (name === 'logs')
47
- logs.push(doc);
62
+ directFind: function (_a) {
63
+ var filters = _a.filters;
64
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
65
+ return tslib_1.__generator(this, function (_b) {
66
+ if (name === 'cfs_files_filerecord')
67
+ return [2, filters[0][2].map(function (id) { return COPYRIGHT_FILES[id]; }).filter(Boolean)];
68
+ if (name === 'picklists')
69
+ return [2, [{ _id: "pl-".concat(filters[0][2]) }]];
70
+ if (name === 'picklist_options')
71
+ return [2, filters[1][2].map(function (value) { return ({ _id: "opt-".concat(value), value: value }); })];
72
+ if (name === 'space_users')
73
+ return [2, SPACE_USERS.filter(function (u) { return filters.every(function (_a) {
74
+ var _b = tslib_1.__read(_a, 3), f = _b[0], v = _b[2];
75
+ return u[f] === v;
76
+ }); })];
77
+ return [2, []];
78
+ });
79
+ });
80
+ },
81
+ directUpdate: function (id, doc) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
82
+ updates.push({ name: name, id: id, doc: doc });
48
83
  return [2];
49
- }); }); }
84
+ }); }); },
85
+ directInsert: function (doc) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
86
+ return tslib_1.__generator(this, function (_a) {
87
+ if (name === 'logs')
88
+ logs.push(doc);
89
+ if (name === 'pepesio_ch__c')
90
+ records.push(doc);
91
+ return [2];
92
+ });
93
+ }); }
50
94
  }); }
51
95
  };
52
96
  };
97
+ var records = [];
98
+ var emails = [];
99
+ var updates = [];
100
+ var SPACE_USERS = [
101
+ { _id: 'su-u1', user: 'u1', space: 'space-1', email: 'Owner@Pepsico.com' },
102
+ { _id: 'su-agency', user: 'agency1', space: 'space-1', email: 'agency@agency.com' },
103
+ { _id: 'su-initiator', user: 'u2', space: 'space-1', email: 'initiator@pepsico.com' }
104
+ ];
105
+ var w1Calls = function () { return post.mock.calls.filter(function (_a) {
106
+ var _b = tslib_1.__read(_a, 1), url = _b[0];
107
+ return String(url).includes('/editable-material/uploader-permission');
108
+ }); };
109
+ var uploads = function () { return post.mock.calls.filter(function (_a) {
110
+ var _b = tslib_1.__read(_a, 1), url = _b[0];
111
+ return String(url).includes('/api/v6/files/cfs.files.filerecord');
112
+ }); };
113
+ var unzip = function (zip) {
114
+ var inflateRawSync = require('zlib').inflateRawSync;
115
+ var files = {};
116
+ var offset = 0;
117
+ while (zip.readUInt32LE(offset) === 0x04034b50) {
118
+ var size = zip.readUInt32LE(offset + 18);
119
+ var nameLength = zip.readUInt16LE(offset + 26);
120
+ var name = zip.slice(offset + 30, offset + 30 + nameLength).toString('utf8');
121
+ var start = offset + 30 + nameLength;
122
+ files[name] = inflateRawSync(zip.slice(start, start + size)).toString();
123
+ offset = start + size;
124
+ }
125
+ return files;
126
+ };
127
+ var uploadedZip = function (body) {
128
+ var text = body.toString('latin1');
129
+ var start = text.indexOf('\r\n\r\n', text.indexOf('name="file"')) + 4;
130
+ var end = text.indexOf('\r\n--', start);
131
+ return body.slice(start, end);
132
+ };
53
133
  var logs = [];
54
134
  var pushLogs = function () { return logs.filter(function (l) { return l.name === 'Content Hub推送'; }).map(function (l) { return (tslib_1.__assign(tslib_1.__assign({}, l), { data: JSON.parse(l.data) })); }); };
135
+ var w1Response;
136
+ var w1Ok = function (emails, extra) {
137
+ if (extra === void 0) { extra = {}; }
138
+ return "{\"success\":true,\"code\":200,\"data\":[".concat(emails.map(function (e) {
139
+ return JSON.stringify(tslib_1.__assign({ email: e, accountStatus: 'EXISTING', permissionStatus: 'GRANTED', materialGroupPath: '线下衍生素材|永辉' }, extra))
140
+ .replace('{', '{"materialGroupId":22334050712759158,');
141
+ }).join(','), "]}");
142
+ };
55
143
  var pushed = function () { return post.mock.calls.filter(function (_a) {
56
144
  var _b = tslib_1.__read(_a, 1), url = _b[0];
57
145
  return String(url).includes('/material/inbound_url');
58
146
  }); };
59
147
  beforeEach(function () {
148
+ w1Response = w1Ok(['owner@pepsico.com']);
60
149
  logs = [];
150
+ records = [];
151
+ emails = [];
152
+ updates = [];
61
153
  post.mockReset();
62
154
  post.mockImplementation(function (url) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
63
155
  return tslib_1.__generator(this, function (_a) {
64
- return [2, String(url).includes('tenantAccessToken')
65
- ? { data: { data: { tenantAccessToken: 't', expire: 7200 } } }
66
- : { data: { code: 200 } }];
156
+ if (String(url).includes('tenantAccessToken'))
157
+ return [2, { data: { data: { tenantAccessToken: 't', expire: 7200 } } }];
158
+ if (String(url).includes('/api/v6/files/cfs.files.filerecord'))
159
+ return [2, { data: { _id: 'zip-1' } }];
160
+ if (String(url).includes('/editable-material/uploader-permission'))
161
+ return [2, { data: w1Response }];
162
+ return [2, { data: { code: 200 } }];
67
163
  });
68
164
  }); });
69
165
  });
@@ -204,6 +300,7 @@ describe('推送日志(系统日志 logs, name=Content Hub推送)', function ()
204
300
  material_count: 1, materials: ['素材1.jpg'], material_group_ids: ['g1'],
205
301
  response: { code: 200 }, operator: 'u1'
206
302
  });
303
+ expect(log.data.request).toEqual({ url: '/creativeSaas/v1/material/inbound_url', body: JSON.parse(JSON.stringify({ requestId: 'a1', materialList: pushed()[0][1].materialList })) });
207
304
  return [2];
208
305
  }
209
306
  });
@@ -276,4 +373,401 @@ describe('推送日志(系统日志 logs, name=Content Hub推送)', function ()
276
373
  });
277
374
  }); });
278
375
  });
376
+ describe('v3: 版权文件打成压缩包一起推', function () {
377
+ var WITH_COPYRIGHT = tslib_1.__assign(tslib_1.__assign({}, TAIL_APPROVAL), { copyright_music: ['c1'], copyright_front: ['c2'] });
378
+ it('抽查核准按素材推送时, 带上所属审批单的版权文件压缩包', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
379
+ var list;
380
+ return tslib_1.__generator(this, function (_a) {
381
+ switch (_a.label) {
382
+ case 0: return [4, (0, content_hub_1.sendByMaterial)(createCtx(WITH_COPYRIGHT), 'm1')];
383
+ case 1:
384
+ _a.sent();
385
+ list = pushed()[0][1].materialList;
386
+ expect(list.map(function (m) { return m.name; })).toEqual(['素材1.jpg', '尾部审批单_版权文件.zip']);
387
+ expect(list[1]).toMatchObject({ url: expect.stringContaining('/api/files/files/zip-1?download=true'), materialGroupIdList: ['g1'] });
388
+ expect(unzip(uploadedZip(uploads()[0][1]))).toEqual({ '音乐授权.pdf': 'music license', '字体授权.pdf': 'font license' });
389
+ return [2];
390
+ }
391
+ });
392
+ }); });
393
+ it('确认上线推全部素材时也带上', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
394
+ return tslib_1.__generator(this, function (_a) {
395
+ switch (_a.label) {
396
+ case 0: return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { copyright_other: ['c1'] })), 'a1')];
397
+ case 1:
398
+ _a.sent();
399
+ expect(pushed()[0][1].materialList.map(function (m) { return m.name; })).toEqual(['素材1.jpg', '素材2.mp4', '尾部审批单_版权文件.zip']);
400
+ return [2];
401
+ }
402
+ });
403
+ }); });
404
+ it('没有版权文件时不推压缩包', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
405
+ return tslib_1.__generator(this, function (_a) {
406
+ switch (_a.label) {
407
+ case 0: return [4, (0, content_hub_1.sendByMaterial)(createCtx(TAIL_APPROVAL), 'm1')];
408
+ case 1:
409
+ _a.sent();
410
+ expect(uploads()).toHaveLength(0);
411
+ expect(pushed()[0][1].materialList).toHaveLength(1);
412
+ return [2];
413
+ }
414
+ });
415
+ }); });
416
+ it('有版权文件读不到时整次不推, 记为失败, 避免漏推版权', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
417
+ return tslib_1.__generator(this, function (_a) {
418
+ switch (_a.label) {
419
+ case 0: return [4, (0, content_hub_1.sendByMaterial)(createCtx(WITH_COPYRIGHT, { unreadable: ['c2'] }), 'm1')];
420
+ case 1:
421
+ _a.sent();
422
+ expect(pushed()).toHaveLength(0);
423
+ expect(pushLogs()[0]).toMatchObject({ level: 'error' });
424
+ expect(pushLogs()[0].data.error).toContain('字体授权.pdf');
425
+ return [2];
426
+ }
427
+ });
428
+ }); });
429
+ it('存量单据不带压缩包', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
430
+ return tslib_1.__generator(this, function (_a) {
431
+ switch (_a.label) {
432
+ case 0: return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { form_version: 'v2', copyright_music: ['c1'] })), 'a1')];
433
+ case 1:
434
+ _a.sent();
435
+ expect(uploads()).toHaveLength(0);
436
+ expect(pushed()[0][1].materialList.map(function (m) { return m.name; })).toEqual(['素材1.jpg', '素材2.mp4']);
437
+ return [2];
438
+ }
439
+ });
440
+ }); });
441
+ });
442
+ describe('v3: 推送的标签只有品牌/产品、生效/失效日期和是否可以进行素材编辑', function () {
443
+ it('不再推可使用渠道、素材类型、素材授权规则', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
444
+ var approval, tagList;
445
+ return tslib_1.__generator(this, function (_a) {
446
+ switch (_a.label) {
447
+ case 0:
448
+ approval = tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { product: 'b1-p1', available_channels: ['c-1'], material_type: ['t-1'], content_rule: ['r-1'], material_editable: 'e1-e2' });
449
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(approval), 'a1')];
450
+ case 1:
451
+ _a.sent();
452
+ tagList = pushed()[0][1].materialList[0].tagList;
453
+ expect(tagList.map(function (t) { return t.tagId; })).toEqual(['223321001114213', '223321018147010', '22334050712759158', '223321022150011']);
454
+ expect(tagList[0].tagValIdList).toEqual(['p1']);
455
+ expect(tagList[3].tagValIdList).toEqual(['e2']);
456
+ return [2];
457
+ }
458
+ });
459
+ }); });
460
+ it('素材生效日期的 tagId 可按环境变量配置(测试 / 生产 Content Hub 不同)', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
461
+ var tagIds;
462
+ return tslib_1.__generator(this, function (_a) {
463
+ switch (_a.label) {
464
+ case 0:
465
+ process.env.PEPSICO_CONTENT_HUB_TAG_ID_EFFECTIVE_DATE = 't-effective';
466
+ _a.label = 1;
467
+ case 1:
468
+ _a.trys.push([1, , 3, 4]);
469
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { product: 'b1-p1' })), 'a1')];
470
+ case 2:
471
+ _a.sent();
472
+ return [3, 4];
473
+ case 3:
474
+ delete process.env.PEPSICO_CONTENT_HUB_TAG_ID_EFFECTIVE_DATE;
475
+ return [7];
476
+ case 4:
477
+ tagIds = pushed()[0][1].materialList[0].tagList.map(function (t) { return t.tagId; });
478
+ expect(tagIds).toEqual(['223321001114213', '223321018147010', 't-effective', '223321022150011']);
479
+ return [2];
480
+ }
481
+ });
482
+ }); });
483
+ it('存量单据推送的素材生效日期 tagId 也按环境变量', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
484
+ var tagIds;
485
+ return tslib_1.__generator(this, function (_a) {
486
+ switch (_a.label) {
487
+ case 0:
488
+ process.env.PEPSICO_CONTENT_HUB_TAG_ID_EFFECTIVE_DATE = 't-effective';
489
+ _a.label = 1;
490
+ case 1:
491
+ _a.trys.push([1, , 3, 4]);
492
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { form_version: 'v1' })), 'a1')];
493
+ case 2:
494
+ _a.sent();
495
+ return [3, 4];
496
+ case 3:
497
+ delete process.env.PEPSICO_CONTENT_HUB_TAG_ID_EFFECTIVE_DATE;
498
+ return [7];
499
+ case 4:
500
+ tagIds = pushed()[0][1].materialList[0].tagList.map(function (t) { return t.tagId; });
501
+ expect(tagIds).toContain('t-effective');
502
+ expect(tagIds).not.toContain('22334050712759158');
503
+ return [2];
504
+ }
505
+ });
506
+ }); });
507
+ it('未填是否可以进行素材编辑时推空列表', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
508
+ return tslib_1.__generator(this, function (_a) {
509
+ switch (_a.label) {
510
+ case 0: return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { product: 'b1-p1' })), 'a1')];
511
+ case 1:
512
+ _a.sent();
513
+ expect(pushed()[0][1].materialList[0].tagList[3]).toEqual({ tagId: '223321022150011', tagValIdList: [] });
514
+ return [2];
515
+ }
516
+ });
517
+ }); });
518
+ it('存量单据仍推原来的 6 个标签', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
519
+ return tslib_1.__generator(this, function (_a) {
520
+ switch (_a.label) {
521
+ case 0: return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { form_version: 'v1' })), 'a1')];
522
+ case 1:
523
+ _a.sent();
524
+ expect(pushed()[0][1].materialList[0].tagList).toHaveLength(6);
525
+ return [2];
526
+ }
527
+ });
528
+ }); });
529
+ });
530
+ describe('推送明细 pepesio_ch__c: 每推一个文件写一条', function () {
531
+ it('素材和版权压缩包各一条, 带文件名、类型、产品、推送结果', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
532
+ var approval;
533
+ return tslib_1.__generator(this, function (_a) {
534
+ switch (_a.label) {
535
+ case 0:
536
+ approval = tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { product: 'b1-p1', copyright_music: ['c1'] });
537
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(approval), 'a1')];
538
+ case 1:
539
+ _a.sent();
540
+ expect(records.map(function (r) { return [r.file_name, r.type, r.media_type]; })).toEqual([
541
+ ['素材1.jpg', 'jpg', '图片'],
542
+ ['素材2.mp4', 'mp4', '视频'],
543
+ ['尾部审批单_版权文件.zip', 'zip', '压缩包']
544
+ ]);
545
+ expect(records[0]).toMatchObject({
546
+ name: '尾部审批单', pepsico_material_approval: 'a1', product: 'opt-p1', material_type: 'opt-mt11',
547
+ push_status: 'success', space: 'space-1', time: expect.any(Date)
548
+ });
549
+ return [2];
550
+ }
551
+ });
552
+ }); });
553
+ it('抽查只推一个素材时只写这一个素材(和压缩包)', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
554
+ return tslib_1.__generator(this, function (_a) {
555
+ switch (_a.label) {
556
+ case 0: return [4, (0, content_hub_1.sendByMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, TAIL_APPROVAL), { copyright_music: ['c1'] })), 'm2')];
557
+ case 1:
558
+ _a.sent();
559
+ expect(records.map(function (r) { return r.file_name; })).toEqual(['素材2.mp4', '尾部审批单_版权文件.zip']);
560
+ return [2];
561
+ }
562
+ });
563
+ }); });
564
+ it('接口调用失败也写, 推送结果为失败', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
565
+ return tslib_1.__generator(this, function (_a) {
566
+ switch (_a.label) {
567
+ case 0:
568
+ post.mockImplementation(function (url) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
569
+ return tslib_1.__generator(this, function (_a) {
570
+ if (String(url).includes('tenantAccessToken'))
571
+ return [2, { data: { data: { tenantAccessToken: 't' } } }];
572
+ throw new Error('connect ETIMEDOUT');
573
+ });
574
+ }); });
575
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(REVIEWED_APPROVAL), 'a1')];
576
+ case 1:
577
+ _a.sent();
578
+ expect(records.map(function (r) { return r.push_status; })).toEqual(['failed', 'failed']);
579
+ return [2];
580
+ }
581
+ });
582
+ }); });
583
+ it('没有调用推送接口(未勾选同步)时不写', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
584
+ return tslib_1.__generator(this, function (_a) {
585
+ switch (_a.label) {
586
+ case 0: return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { ch_sync_enabled: false })), 'a1')];
587
+ case 1:
588
+ _a.sent();
589
+ expect(records).toHaveLength(0);
590
+ return [2];
591
+ }
592
+ });
593
+ }); });
594
+ it('存量单据推送也写明细', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
595
+ return tslib_1.__generator(this, function (_a) {
596
+ switch (_a.label) {
597
+ case 0: return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { form_version: 'v1' })), 'a1')];
598
+ case 1:
599
+ _a.sent();
600
+ expect(records).toHaveLength(2);
601
+ return [2];
602
+ }
603
+ });
604
+ }); });
605
+ });
606
+ describe('素材组 ID', function () {
607
+ it('审批单上存的是选项对象时, 推送取它的 value, 不是 [object Object]', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
608
+ var approval;
609
+ return tslib_1.__generator(this, function (_a) {
610
+ switch (_a.label) {
611
+ case 0:
612
+ approval = tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { ch_material_group: { label: 'EKA', value: '2233001', materialGroupPath: '线下|EKA' } });
613
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(approval), 'a1')];
614
+ case 1:
615
+ _a.sent();
616
+ expect(pushed()[0][1].materialList[0].materialGroupIdList).toEqual(['2233001']);
617
+ return [2];
618
+ }
619
+ });
620
+ }); });
621
+ });
622
+ describe('推送成功后开通上传权限并发邮件(W1)', function () {
623
+ var APPROVAL = tslib_1.__assign(tslib_1.__assign({}, REVIEWED_APPROVAL), { ch_material_group: '22334050712759158' });
624
+ var uploaderLogs = function () { return logs.filter(function (l) { return l.name === 'Content Hub上传授权'; }).map(function (l) { return JSON.parse(l.data); }); };
625
+ it('内部员工提的单: 推送成功后用发起人邮箱和素材组调 W1, 素材组 ID 原样传(不丢精度), 再给发起人发邮件, 附路径', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
626
+ var approval, log;
627
+ return tslib_1.__generator(this, function (_a) {
628
+ switch (_a.label) {
629
+ case 0:
630
+ approval = tslib_1.__assign(tslib_1.__assign({}, APPROVAL), { owner: 'u1', created_by: 'u1' });
631
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(approval), 'a1')];
632
+ case 1:
633
+ _a.sent();
634
+ expect(w1Calls()).toHaveLength(1);
635
+ expect(w1Calls()[0][1]).toBe('{"email":["owner@pepsico.com"],"materialGroupIdList":[22334050712759158]}');
636
+ expect(w1Calls()[0][2].headers['X-Request-Id']).toBeTruthy();
637
+ expect(emails).toHaveLength(1);
638
+ expect(emails[0].to).toBe('Owner@Pepsico.com');
639
+ expect(emails[0].html).toContain('线下衍生素材|永辉');
640
+ expect(updates).toContainEqual({ name: 'pepsico_material_approval', id: 'a1', doc: { ch_uploader_notified_group: '22334050712759158' } });
641
+ log = uploaderLogs()[0];
642
+ expect(log).toMatchObject({ status: 'done', emailed: ['Owner@Pepsico.com'] });
643
+ expect(log.request).toEqual({
644
+ url: '/creativeSaas/pepsico/compliance/v1/editable-material/uploader-permission',
645
+ request_id: w1Calls()[0][2].headers['X-Request-Id'],
646
+ body: '{"email":["owner@pepsico.com"],"materialGroupIdList":[22334050712759158]}'
647
+ });
648
+ expect(log.response).toMatchObject({ success: true, code: 200, data: [{ materialGroupId: '22334050712759158', materialGroupPath: '线下衍生素材|永辉' }] });
649
+ return [2];
650
+ }
651
+ });
652
+ }); });
653
+ it('Agency 代提的单: 发给内部发起人和 Agency 各一封', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
654
+ var approval;
655
+ return tslib_1.__generator(this, function (_a) {
656
+ switch (_a.label) {
657
+ case 0:
658
+ w1Response = w1Ok(['initiator@pepsico.com', 'agency@agency.com']);
659
+ approval = tslib_1.__assign(tslib_1.__assign({}, APPROVAL), { is_external: true, created_by: 'agency1', owner: 'agency1', internal_collaborator: 'su-initiator' });
660
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(approval), 'a1')];
661
+ case 1:
662
+ _a.sent();
663
+ expect(JSON.parse(w1Calls()[0][1]).email).toEqual(['initiator@pepsico.com', 'agency@agency.com']);
664
+ expect(emails.map(function (e) { return e.to; })).toEqual(['initiator@pepsico.com', 'agency@agency.com']);
665
+ return [2];
666
+ }
667
+ });
668
+ }); });
669
+ it('首次使用(SSO_PENDING)的人也发邮件, 并提示先 SSO 登录', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
670
+ return tslib_1.__generator(this, function (_a) {
671
+ switch (_a.label) {
672
+ case 0:
673
+ w1Response = w1Ok(['owner@pepsico.com'], { accountStatus: 'SSO_PENDING', permissionStatus: 'SKIPPED_MEMBER_NOT_READY' });
674
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, APPROVAL), { owner: 'u1' })), 'a1')];
675
+ case 1:
676
+ _a.sent();
677
+ expect(emails[0].html).toContain('SSO 登录');
678
+ return [2];
679
+ }
680
+ });
681
+ }); });
682
+ it('账号或授权失败的人不发邮件, 记 error 日志', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
683
+ return tslib_1.__generator(this, function (_a) {
684
+ switch (_a.label) {
685
+ case 0:
686
+ w1Response = w1Ok(['owner@pepsico.com'], { permissionStatus: 'FAILED' });
687
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, APPROVAL), { owner: 'u1' })), 'a1')];
688
+ case 1:
689
+ _a.sent();
690
+ expect(emails).toHaveLength(0);
691
+ expect(logs.find(function (l) { return l.name === 'Content Hub上传授权'; })).toMatchObject({ level: 'error' });
692
+ return [2];
693
+ }
694
+ });
695
+ }); });
696
+ it('W1 返回 HTTP 错误时, 日志里带上 HTTP 状态和返回内容', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
697
+ return tslib_1.__generator(this, function (_a) {
698
+ switch (_a.label) {
699
+ case 0:
700
+ post.mockImplementation(function (url) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
701
+ return tslib_1.__generator(this, function (_a) {
702
+ if (String(url).includes('tenantAccessToken'))
703
+ return [2, { data: { data: { tenantAccessToken: 't' } } }];
704
+ if (String(url).includes('/editable-material/uploader-permission')) {
705
+ throw Object.assign(new Error('Request failed with status code 400'), { response: { status: 400, data: '{"success":false,"msg":"邮箱格式不合法"}' } });
706
+ }
707
+ return [2, { data: { code: 200 } }];
708
+ });
709
+ }); });
710
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, APPROVAL), { owner: 'u1' })), 'a1')];
711
+ case 1:
712
+ _a.sent();
713
+ expect(uploaderLogs()[0]).toMatchObject({ status: 'failed', http_status: 400, response: { msg: '邮箱格式不合法' }, request: { body: expect.any(String) } });
714
+ return [2];
715
+ }
716
+ });
717
+ }); });
718
+ it('W1 整体失败不发邮件, 也不影响推送结果', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
719
+ var result;
720
+ return tslib_1.__generator(this, function (_a) {
721
+ switch (_a.label) {
722
+ case 0:
723
+ w1Response = '{"success":false,"code":500,"msg":"素材组不可授权"}';
724
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, APPROVAL), { owner: 'u1' })), 'a1')];
725
+ case 1:
726
+ result = _a.sent();
727
+ expect(result).toEqual({ code: 200 });
728
+ expect(emails).toHaveLength(0);
729
+ expect(uploaderLogs()[0]).toMatchObject({ status: 'failed', error: '素材组不可授权' });
730
+ expect(updates).toHaveLength(0);
731
+ return [2];
732
+ }
733
+ });
734
+ }); });
735
+ it('同一素材组已经通知过(如抽查又推了一个素材), 不再调 W1、不重复发邮件', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
736
+ return tslib_1.__generator(this, function (_a) {
737
+ switch (_a.label) {
738
+ case 0: return [4, (0, content_hub_1.sendByMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, TAIL_APPROVAL), { owner: 'u1', ch_uploader_notified_group: 'g1' })), 'm1')];
739
+ case 1:
740
+ _a.sent();
741
+ expect(pushed()).toHaveLength(1);
742
+ expect(w1Calls()).toHaveLength(0);
743
+ expect(emails).toHaveLength(0);
744
+ return [2];
745
+ }
746
+ });
747
+ }); });
748
+ it('推送失败、没推送、存量单据都不调 W1', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
749
+ return tslib_1.__generator(this, function (_a) {
750
+ switch (_a.label) {
751
+ case 0: return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, APPROVAL), { owner: 'u1', ch_sync_enabled: false })), 'a1')];
752
+ case 1:
753
+ _a.sent();
754
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, APPROVAL), { owner: 'u1', form_version: 'v2' })), 'a1')];
755
+ case 2:
756
+ _a.sent();
757
+ post.mockImplementation(function (url) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
758
+ return tslib_1.__generator(this, function (_a) {
759
+ return [2, String(url).includes('tenantAccessToken')
760
+ ? { data: { data: { tenantAccessToken: 't' } } }
761
+ : { data: { success: false, code: 500 } }];
762
+ });
763
+ }); });
764
+ return [4, (0, content_hub_1.inventoryApprovalMaterial)(createCtx(tslib_1.__assign(tslib_1.__assign({}, APPROVAL), { owner: 'u1' })), 'a1')];
765
+ case 3:
766
+ _a.sent();
767
+ expect(w1Calls()).toHaveLength(0);
768
+ return [2];
769
+ }
770
+ });
771
+ }); });
772
+ });
279
773
  //# sourceMappingURL=contentHubPush.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contentHubPush.test.js","sourceRoot":"","sources":["../../../src/methods/__tests__/contentHubPush.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contentHubPush.test.js","sourceRoot":"","sources":["../../../src/methods/__tests__/contentHubPush.test.ts"],"names":[],"mappings":"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"}