@reltio/components 1.4.1997 → 1.4.1998

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 (139) hide show
  1. package/cjs/features/activity-log/ActivitiesFactory/ActivitiesFactory.d.ts +1 -1
  2. package/cjs/features/activity-log/ActivitiesFactory/ActivitiesFactory.js +1 -1
  3. package/cjs/features/activity-log/ActivitiesFactory/ActivitiesFactory.test.js +267 -0
  4. package/cjs/features/activity-log/ActivitiesFactory/components/CommentActivity/CommentActivity.d.ts +1 -2
  5. package/cjs/features/activity-log/ActivitiesFactory/components/CommentActivity/CommentActivity.js +1 -1
  6. package/cjs/features/activity-log/ActivitiesFactory/components/CommentActivity/CommentActivity.test.js +5 -23
  7. package/cjs/features/activity-log/ActivitiesFactory/components/GroupActivity/GroupActivity.js +2 -2
  8. package/cjs/features/activity-log/ActivitiesFactory/components/GroupActivity/GroupActivity.test.js +3 -23
  9. package/cjs/features/activity-log/ActivitiesFactory/components/MergeActivity/MergeActivity.js +2 -2
  10. package/cjs/features/activity-log/ActivitiesFactory/components/MergeActivity/MergeActivity.test.js +81 -102
  11. package/cjs/features/activity-log/ActivitiesFactory/components/ObjectLabel/ObjectLabel.d.ts +2 -2
  12. package/cjs/features/activity-log/ActivitiesFactory/components/ObjectLabel/ObjectLabel.js +24 -2
  13. package/cjs/features/activity-log/ActivitiesFactory/components/PotentialMatchActivity/PotentialMatchActivity.js +1 -1
  14. package/cjs/features/activity-log/ActivitiesFactory/components/PotentialMatchActivity/PotentialMatchActivity.test.js +69 -48
  15. package/cjs/features/activity-log/ActivitiesFactory/components/ProfileActivity/ProfileActivity.js +2 -2
  16. package/cjs/features/activity-log/ActivitiesFactory/components/ProfileActivity/ProfileActivity.test.js +123 -107
  17. package/cjs/features/activity-log/ActivitiesFactory/components/RelationActivity/RelationActivity.js +2 -2
  18. package/cjs/features/activity-log/ActivitiesFactory/components/RelationActivity/RelationActivity.test.js +128 -115
  19. package/cjs/features/activity-log/ActivitiesFactory/components/SearchActivity/SearchActivity.js +1 -1
  20. package/cjs/features/activity-log/ActivitiesFactory/components/SearchActivity/SearchActivity.test.js +160 -183
  21. package/cjs/features/activity-log/ActivitiesFactory/components/SimpleActivity/SimpleActivity.js +2 -2
  22. package/cjs/features/activity-log/ActivitiesFactory/components/SimpleActivity/SimpleActivity.test.js +44 -28
  23. package/cjs/features/activity-log/ActivitiesFactory/components/SynchronizationIssuesActivity/SynchronizationIssuesActivity.js +4 -5
  24. package/cjs/features/activity-log/ActivitiesFactory/components/SynchronizationIssuesActivity/SynchronizationIssuesActivity.test.js +54 -47
  25. package/cjs/features/activity-log/ActivityLog/ActivityLog.test.js +83 -22
  26. package/cjs/features/activity-log/ActivityLog/components/GroupItem/GroupItem.js +1 -1
  27. package/cjs/features/activity-log/ActivityLogFilter/ActivityLogFilter.test.js +784 -0
  28. package/cjs/features/activity-log/ActivityTitle/ActivityTitle.d.ts +2 -3
  29. package/cjs/features/activity-log/ActivityTitle/ActivityTitle.js +24 -2
  30. package/cjs/features/activity-log/CollapsibleActivityRecords/CollapsibleActivityRecords.test.js +102 -79
  31. package/cjs/features/activity-log/EntityObject/EntityObject.test.js +35 -26
  32. package/cjs/features/activity-log/Field/Field.d.ts +2 -3
  33. package/cjs/features/activity-log/Field/Field.js +24 -2
  34. package/cjs/features/activity-log/PotentialMatchRecord/PotentialMatchRecord.test.js +160 -34
  35. package/cjs/features/activity-log/PotentialMatchRecord/components/PotentialMatchField/PotentialMatchField.js +1 -1
  36. package/cjs/features/activity-log/RecordUpdates/RecordUpdates.test.js +207 -0
  37. package/cjs/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.js +1 -1
  38. package/cjs/features/activity-log/RelationObject/RelationObject.test.js +46 -29
  39. package/cjs/features/activity-log/RelationRecord/RelationRecord.test.js +88 -68
  40. package/esm/features/activity-log/ActivitiesFactory/ActivitiesFactory.d.ts +1 -1
  41. package/esm/features/activity-log/ActivitiesFactory/ActivitiesFactory.js +1 -1
  42. package/esm/features/activity-log/ActivitiesFactory/ActivitiesFactory.test.js +262 -0
  43. package/esm/features/activity-log/ActivitiesFactory/components/CommentActivity/CommentActivity.d.ts +1 -2
  44. package/esm/features/activity-log/ActivitiesFactory/components/CommentActivity/CommentActivity.js +1 -1
  45. package/esm/features/activity-log/ActivitiesFactory/components/CommentActivity/CommentActivity.test.js +5 -23
  46. package/esm/features/activity-log/ActivitiesFactory/components/GroupActivity/GroupActivity.js +2 -2
  47. package/esm/features/activity-log/ActivitiesFactory/components/GroupActivity/GroupActivity.test.js +3 -23
  48. package/esm/features/activity-log/ActivitiesFactory/components/MergeActivity/MergeActivity.js +2 -2
  49. package/esm/features/activity-log/ActivitiesFactory/components/MergeActivity/MergeActivity.test.js +81 -102
  50. package/esm/features/activity-log/ActivitiesFactory/components/ObjectLabel/ObjectLabel.d.ts +2 -2
  51. package/esm/features/activity-log/ActivitiesFactory/components/ObjectLabel/ObjectLabel.js +24 -2
  52. package/esm/features/activity-log/ActivitiesFactory/components/PotentialMatchActivity/PotentialMatchActivity.js +1 -1
  53. package/esm/features/activity-log/ActivitiesFactory/components/PotentialMatchActivity/PotentialMatchActivity.test.js +69 -48
  54. package/esm/features/activity-log/ActivitiesFactory/components/ProfileActivity/ProfileActivity.js +2 -2
  55. package/esm/features/activity-log/ActivitiesFactory/components/ProfileActivity/ProfileActivity.test.js +123 -107
  56. package/esm/features/activity-log/ActivitiesFactory/components/RelationActivity/RelationActivity.js +2 -2
  57. package/esm/features/activity-log/ActivitiesFactory/components/RelationActivity/RelationActivity.test.js +128 -115
  58. package/esm/features/activity-log/ActivitiesFactory/components/SearchActivity/SearchActivity.js +1 -1
  59. package/esm/features/activity-log/ActivitiesFactory/components/SearchActivity/SearchActivity.test.js +160 -183
  60. package/esm/features/activity-log/ActivitiesFactory/components/SimpleActivity/SimpleActivity.js +2 -2
  61. package/esm/features/activity-log/ActivitiesFactory/components/SimpleActivity/SimpleActivity.test.js +44 -28
  62. package/esm/features/activity-log/ActivitiesFactory/components/SynchronizationIssuesActivity/SynchronizationIssuesActivity.js +4 -5
  63. package/esm/features/activity-log/ActivitiesFactory/components/SynchronizationIssuesActivity/SynchronizationIssuesActivity.test.js +54 -47
  64. package/esm/features/activity-log/ActivityLog/ActivityLog.test.js +83 -22
  65. package/esm/features/activity-log/ActivityLog/components/GroupItem/GroupItem.js +1 -1
  66. package/esm/features/activity-log/ActivityLogFilter/ActivityLogFilter.test.js +779 -0
  67. package/esm/features/activity-log/ActivityTitle/ActivityTitle.d.ts +2 -3
  68. package/esm/features/activity-log/ActivityTitle/ActivityTitle.js +24 -2
  69. package/esm/features/activity-log/CollapsibleActivityRecords/CollapsibleActivityRecords.test.js +104 -58
  70. package/esm/features/activity-log/EntityObject/EntityObject.test.js +35 -26
  71. package/esm/features/activity-log/Field/Field.d.ts +2 -3
  72. package/esm/features/activity-log/Field/Field.js +24 -2
  73. package/esm/features/activity-log/PotentialMatchRecord/PotentialMatchRecord.test.js +160 -34
  74. package/esm/features/activity-log/PotentialMatchRecord/components/PotentialMatchField/PotentialMatchField.js +1 -1
  75. package/esm/features/activity-log/RecordUpdates/RecordUpdates.test.js +202 -0
  76. package/esm/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.js +1 -1
  77. package/esm/features/activity-log/RelationObject/RelationObject.test.js +46 -29
  78. package/esm/features/activity-log/RelationRecord/RelationRecord.test.js +88 -68
  79. package/package.json +1 -1
  80. package/cjs/features/activity-log/ActivityExportButton/ActivityExportButton.specs.js +0 -142
  81. package/cjs/features/activity-log/ActivityFilterButton/ActivityFilterButton.specs.js +0 -131
  82. package/cjs/features/activity-log/ActivityFilterEditor/ActivityFilterEditor.specs.js +0 -252
  83. package/cjs/features/activity-log/ActivityFilterEditor/components/ActivitySelector/ActivitySelector.specs.js +0 -158
  84. package/cjs/features/activity-log/ActivityFilterEditor/components/EntityChangedSelectors/EntityChangedSelectors.specs.js +0 -135
  85. package/cjs/features/activity-log/ActivityFilterEditor/components/EntityTypesSelector/EntityTypesSelector.specs.js +0 -65
  86. package/cjs/features/activity-log/ActivityFilterEditor/components/SourceSelector/SourceSelector.specs.d.ts +0 -1
  87. package/cjs/features/activity-log/ActivityFilterEditor/components/SourceSelector/SourceSelector.specs.js +0 -119
  88. package/cjs/features/activity-log/ActivityFilterEditor/editor.test-data.d.ts +0 -25
  89. package/cjs/features/activity-log/ActivityFilterEditor/editor.test-data.js +0 -75
  90. package/cjs/features/activity-log/ActivityLog/components/ActivityItem/ActivityItem.test.d.ts +0 -1
  91. package/cjs/features/activity-log/ActivityLog/components/ActivityItem/ActivityItem.test.js +0 -140
  92. package/cjs/features/activity-log/ActivityLog/components/GroupItem/GroupItem.test.d.ts +0 -1
  93. package/cjs/features/activity-log/ActivityLog/components/GroupItem/GroupItem.test.js +0 -41
  94. package/cjs/features/activity-log/ActivityLogFilter/ActivityLogFilter.specs.d.ts +0 -1
  95. package/cjs/features/activity-log/ActivityLogFilter/ActivityLogFilter.specs.js +0 -87
  96. package/cjs/features/activity-log/ActivityTitle/ActivityTitle.test.d.ts +0 -1
  97. package/cjs/features/activity-log/ActivityTitle/ActivityTitle.test.js +0 -19
  98. package/cjs/features/activity-log/PotentialMatchRecord/components/PotentialMatchField/PotentialMatchField.test.d.ts +0 -1
  99. package/cjs/features/activity-log/PotentialMatchRecord/components/PotentialMatchField/PotentialMatchField.test.js +0 -179
  100. package/cjs/features/activity-log/RecordUpdates/RecordUpdates.specs.d.ts +0 -1
  101. package/cjs/features/activity-log/RecordUpdates/RecordUpdates.specs.js +0 -150
  102. package/cjs/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.test.d.ts +0 -1
  103. package/cjs/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.test.js +0 -124
  104. package/esm/features/activity-log/ActivityExportButton/ActivityExportButton.specs.d.ts +0 -1
  105. package/esm/features/activity-log/ActivityExportButton/ActivityExportButton.specs.js +0 -137
  106. package/esm/features/activity-log/ActivityFilterButton/ActivityFilterButton.specs.d.ts +0 -1
  107. package/esm/features/activity-log/ActivityFilterButton/ActivityFilterButton.specs.js +0 -126
  108. package/esm/features/activity-log/ActivityFilterEditor/ActivityFilterEditor.specs.d.ts +0 -1
  109. package/esm/features/activity-log/ActivityFilterEditor/ActivityFilterEditor.specs.js +0 -247
  110. package/esm/features/activity-log/ActivityFilterEditor/components/ActivitySelector/ActivitySelector.specs.d.ts +0 -1
  111. package/esm/features/activity-log/ActivityFilterEditor/components/ActivitySelector/ActivitySelector.specs.js +0 -153
  112. package/esm/features/activity-log/ActivityFilterEditor/components/EntityChangedSelectors/EntityChangedSelectors.specs.d.ts +0 -1
  113. package/esm/features/activity-log/ActivityFilterEditor/components/EntityChangedSelectors/EntityChangedSelectors.specs.js +0 -130
  114. package/esm/features/activity-log/ActivityFilterEditor/components/EntityTypesSelector/EntityTypesSelector.specs.d.ts +0 -1
  115. package/esm/features/activity-log/ActivityFilterEditor/components/EntityTypesSelector/EntityTypesSelector.specs.js +0 -60
  116. package/esm/features/activity-log/ActivityFilterEditor/components/SourceSelector/SourceSelector.specs.d.ts +0 -1
  117. package/esm/features/activity-log/ActivityFilterEditor/components/SourceSelector/SourceSelector.specs.js +0 -114
  118. package/esm/features/activity-log/ActivityFilterEditor/editor.test-data.d.ts +0 -25
  119. package/esm/features/activity-log/ActivityFilterEditor/editor.test-data.js +0 -72
  120. package/esm/features/activity-log/ActivityLog/components/ActivityItem/ActivityItem.test.d.ts +0 -1
  121. package/esm/features/activity-log/ActivityLog/components/ActivityItem/ActivityItem.test.js +0 -135
  122. package/esm/features/activity-log/ActivityLog/components/GroupItem/GroupItem.test.d.ts +0 -1
  123. package/esm/features/activity-log/ActivityLog/components/GroupItem/GroupItem.test.js +0 -36
  124. package/esm/features/activity-log/ActivityLogFilter/ActivityLogFilter.specs.d.ts +0 -1
  125. package/esm/features/activity-log/ActivityLogFilter/ActivityLogFilter.specs.js +0 -82
  126. package/esm/features/activity-log/ActivityTitle/ActivityTitle.test.d.ts +0 -1
  127. package/esm/features/activity-log/ActivityTitle/ActivityTitle.test.js +0 -14
  128. package/esm/features/activity-log/PotentialMatchRecord/components/PotentialMatchField/PotentialMatchField.test.d.ts +0 -1
  129. package/esm/features/activity-log/PotentialMatchRecord/components/PotentialMatchField/PotentialMatchField.test.js +0 -151
  130. package/esm/features/activity-log/RecordUpdates/RecordUpdates.specs.d.ts +0 -1
  131. package/esm/features/activity-log/RecordUpdates/RecordUpdates.specs.js +0 -122
  132. package/esm/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.test.d.ts +0 -1
  133. package/esm/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.test.js +0 -119
  134. /package/cjs/features/activity-log/{ActivityExportButton/ActivityExportButton.specs.d.ts → ActivitiesFactory/ActivitiesFactory.test.d.ts} +0 -0
  135. /package/cjs/features/activity-log/{ActivityFilterButton/ActivityFilterButton.specs.d.ts → ActivityLogFilter/ActivityLogFilter.test.d.ts} +0 -0
  136. /package/cjs/features/activity-log/{ActivityFilterEditor/ActivityFilterEditor.specs.d.ts → RecordUpdates/RecordUpdates.test.d.ts} +0 -0
  137. /package/{cjs/features/activity-log/ActivityFilterEditor/components/ActivitySelector/ActivitySelector.specs.d.ts → esm/features/activity-log/ActivitiesFactory/ActivitiesFactory.test.d.ts} +0 -0
  138. /package/{cjs/features/activity-log/ActivityFilterEditor/components/EntityChangedSelectors/EntityChangedSelectors.specs.d.ts → esm/features/activity-log/ActivityLogFilter/ActivityLogFilter.test.d.ts} +0 -0
  139. /package/{cjs/features/activity-log/ActivityFilterEditor/components/EntityTypesSelector/EntityTypesSelector.specs.d.ts → esm/features/activity-log/RecordUpdates/RecordUpdates.test.d.ts} +0 -0
@@ -16,8 +16,8 @@ var SimpleActivity = function (_a) {
16
16
  var styles = (0, styles_1.useStyles)();
17
17
  var description = (0, mdm_sdk_1.parseJSON)(data.description);
18
18
  var itemsTotal = data.itemsTotal;
19
- return (react_1.default.createElement(ActivityTitle_1.ActivityTitle, { type: type },
19
+ return (react_1.default.createElement(ActivityTitle_1.ActivityTitle, { type: type, "data-reltio-id": "simple-activity" },
20
20
  description && (react_1.default.createElement(EntityUriLink_1.EntityUriLink, { className: styles.link, value: description.uri }, (0, mdm_sdk_1.getLabel)(description.label))),
21
- itemsTotal > 1 && react_1.default.createElement(ObjectLabel_1.ObjectLabel, { label: ui_i18n_1.default.text('(${itemsTotal} records)', { itemsTotal: itemsTotal }) })));
21
+ itemsTotal > 1 && (react_1.default.createElement(ObjectLabel_1.ObjectLabel, { "data-reltio-id": "simple-activity-items-total", label: ui_i18n_1.default.text('(${itemsTotal} records)', { itemsTotal: itemsTotal }) }))));
22
22
  };
23
23
  exports.SimpleActivity = SimpleActivity;
@@ -15,36 +15,52 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var react_1 = __importDefault(require("react"));
18
- var enzyme_1 = require("enzyme");
19
- var SimpleActivity_1 = require("./SimpleActivity");
18
+ var react_2 = require("@testing-library/react");
19
+ var MdmModuleContext_1 = require("../../../../../contexts/MdmModuleContext");
20
20
  var types_1 = require("../../../types");
21
- describe('SimpleActivity tests', function () {
22
- var data = {
23
- uri: 'activities/de19-08e1-b220b95c',
24
- user: 'polina.arsenteva',
25
- label: 'USER_LOGIN',
26
- description: 'User polina.arsenteva was logged in',
27
- timestamp: 1622625987531,
28
- items: [
29
- {
30
- id: '3Gme7xNf',
31
- user: 'polina.arsenteva',
32
- method: 'POST',
33
- url: '/reltio/api/alenat/activities',
34
- clientType: 'Reltio UI',
35
- timestamp: 1622625987531
36
- }
37
- ],
38
- itemsTotal: 1
21
+ var SimpleActivity_1 = require("./SimpleActivity");
22
+ var defaultMdmValues = {
23
+ uiPath: 'https://reltio.com/nui'
24
+ };
25
+ var setUp = function (_a) {
26
+ var props = _a.props, _b = _a.mdmValues, mdmValues = _b === void 0 ? defaultMdmValues : _b;
27
+ var Providers = function (_a) {
28
+ var children = _a.children;
29
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues }, children));
39
30
  };
40
- var description = '{"uri":"entities/k5nO0xA","label":"test"}';
31
+ return (0, react_2.render)(react_1.default.createElement(SimpleActivity_1.SimpleActivity, __assign({}, props)), { wrapper: Providers });
32
+ };
33
+ describe('Simple activity tests', function () {
41
34
  it('should render correctly', function () {
42
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SimpleActivity_1.SimpleActivity, { type: types_1.ActivityTypes.USER_LOGIN, data: data }));
43
- expect(wrapper.find('ActivityTitle').prop('type')).toBe(types_1.ActivityTypes.USER_LOGIN);
44
- expect(wrapper.find('EntityUriLink').length).toBe(0);
45
- wrapper.setProps({ data: __assign(__assign({}, data), { description: description }) });
46
- expect(wrapper.find('ActivityTitle').prop('type')).toBe(types_1.ActivityTypes.USER_LOGIN);
47
- expect(wrapper.find('EntityUriLink').prop('value')).toBe('entities/k5nO0xA');
48
- expect(wrapper.find('EntityUriLink').text()).toBe('test');
35
+ var props = {
36
+ type: types_1.ActivityTypes.USER_LOGIN,
37
+ data: {
38
+ uri: 'activities/de19-08e1-b220b95c',
39
+ user: 'polina.arsenteva',
40
+ label: 'User login',
41
+ timestamp: 1622625987531,
42
+ description: '{"uri":"entities/k5nO0xA","label":"test"}',
43
+ itemsTotal: 2
44
+ }
45
+ };
46
+ setUp({ props: props });
47
+ react_2.screen.getByText('Logged in');
48
+ react_2.screen.getByText('(2 records)');
49
+ expect(react_2.screen.getByText('test')).toHaveAttribute('href', 'https://reltio.com/nui#p~com.reltio.plugins.entity.default.DefaultPerspective_e~entities/k5nO0xA');
50
+ });
51
+ it('should render correctly if description is not passed and itemsTotal is 1 or less', function () {
52
+ var props = {
53
+ type: types_1.ActivityTypes.USER_LOGIN,
54
+ data: {
55
+ uri: 'activities/de19-08e1-b220b95c',
56
+ user: 'polina.arsenteva',
57
+ label: 'User login',
58
+ timestamp: 1622625987531,
59
+ itemsTotal: 1
60
+ }
61
+ };
62
+ setUp({ props: props });
63
+ expect(react_2.screen.queryByRole('link')).not.toBeInTheDocument();
64
+ expect(react_2.screen.queryByTestId('simple-activity-items-total')).not.toBeInTheDocument();
49
65
  });
50
66
  });
@@ -17,10 +17,9 @@ var SynchronizationIssuesActivity = function (_a) {
17
17
  var description = (0, mdm_sdk_1.parseJSON)(data.description);
18
18
  var itemsTotal = data.itemsTotal;
19
19
  var objectUri = data.items[0].objectUri;
20
- return (react_1.default.createElement(ActivityTitle_1.ActivityTitle, { type: type },
21
- react_1.default.createElement(react_1.default.Fragment, null,
22
- (0, mdm_sdk_1.isRelationUri)(objectUri) ? (react_1.default.createElement("span", { className: styles.relationUri }, objectUri)) : (react_1.default.createElement(EntityObject_1.EntityObject, { item: data.items[0] })),
23
- description && react_1.default.createElement(ObjectLabel_1.ObjectLabel, { label: description.label })),
24
- itemsTotal > 1 && react_1.default.createElement(ObjectLabel_1.ObjectLabel, { label: ui_i18n_1.default.text('(${itemsTotal} records)', { itemsTotal: itemsTotal }) })));
20
+ return (react_1.default.createElement(ActivityTitle_1.ActivityTitle, { type: type, "data-reltio-id": "synchronization-issues-activity" },
21
+ (0, mdm_sdk_1.isRelationUri)(objectUri) ? (react_1.default.createElement("span", { className: styles.relationUri }, objectUri)) : (react_1.default.createElement(EntityObject_1.EntityObject, { item: data.items[0] })),
22
+ description && (react_1.default.createElement(ObjectLabel_1.ObjectLabel, { "data-reltio-id": "synchronization-issues-activity-description", label: description.label })),
23
+ itemsTotal > 1 && (react_1.default.createElement(ObjectLabel_1.ObjectLabel, { "data-reltio-id": "synchronization-issues-activity-items-total", label: ui_i18n_1.default.text('(${itemsTotal} records)', { itemsTotal: itemsTotal }) }))));
25
24
  };
26
25
  exports.SynchronizationIssuesActivity = SynchronizationIssuesActivity;
@@ -15,56 +15,63 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var react_1 = __importDefault(require("react"));
18
- var enzyme_1 = require("enzyme");
19
- var SynchronizationIssuesActivity_1 = require("./SynchronizationIssuesActivity");
18
+ var react_2 = require("@testing-library/react");
19
+ var MdmModuleContext_1 = require("../../../../../contexts/MdmModuleContext");
20
20
  var types_1 = require("../../../types");
21
- describe('SynchronizationIssuesActivity tests', function () {
22
- var data = {
23
- uri: 'activities/0dcf97d0-5006-46d6-b82f-07579922e2f6',
24
- user: 'sfdc.connector.admin',
25
- label: 'SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE',
26
- timestamp: 1652374313724,
27
- items: [
28
- {
29
- id: '42uxv5X2',
30
- user: 'sfdc.connector.admin',
31
- method: 'POST',
32
- url: '/reltio/api/HGFYOZboMbwGyFP/activities',
33
- clientType: 'SFDC_CONNECTOR',
34
- timestamp: 1652374313724,
35
- objectUri: 'entities/15T9kNFk',
36
- objectType: 'configuration/entityTypes/HCP1',
37
- objectLabel: 'Andy Andy'
38
- }
39
- ],
40
- itemsTotal: 1
21
+ var SynchronizationIssuesActivity_1 = require("./SynchronizationIssuesActivity");
22
+ var defaultItem = {
23
+ id: '42uxv5X2',
24
+ timestamp: 1652374313724,
25
+ objectUri: 'entities/15T9kNFk',
26
+ objectType: 'configuration/entityTypes/HCP',
27
+ objectLabel: 'Andy Andy'
28
+ };
29
+ var defaultData = {
30
+ uri: 'activities/0dcf97d0-5006-46d6-b82f-07579922e2f6',
31
+ user: 'sfdc.connector.admin',
32
+ label: 'label',
33
+ timestamp: 1652374313724,
34
+ items: [defaultItem],
35
+ itemsTotal: 1
36
+ };
37
+ var defaultProps = {
38
+ type: types_1.ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE,
39
+ data: defaultData
40
+ };
41
+ var defaultMdmValues = {
42
+ uiPath: 'https://reltio.com/nui'
43
+ };
44
+ var setUp = function (_a) {
45
+ var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? defaultProps : _c, _d = _b.mdmValues, mdmValues = _d === void 0 ? defaultMdmValues : _d;
46
+ var Providers = function (_a) {
47
+ var children = _a.children;
48
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues }, children));
41
49
  };
42
- var description = '{"label":"test"}';
43
- it('should render main parts correctly', function () {
44
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SynchronizationIssuesActivity_1.SynchronizationIssuesActivity, { type: types_1.ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE, data: data }));
45
- expect(wrapper.find('ActivityTitle').prop('type')).toBe(types_1.ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE);
46
- wrapper.setProps({ data: __assign(__assign({}, data), { description: description }) });
47
- expect(wrapper.find('ActivityTitle').prop('type')).toBe(types_1.ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE);
48
- expect(wrapper.find('EntityObject').prop('item')).toEqual(data.items[0]);
49
- var descriptionDiv = wrapper.find('ObjectLabel');
50
- expect(descriptionDiv.length).toBe(1);
51
- expect(descriptionDiv.prop('label')).toBe('test');
50
+ return (0, react_2.render)(react_1.default.createElement(SynchronizationIssuesActivity_1.SynchronizationIssuesActivity, __assign({}, props)), { wrapper: Providers });
51
+ };
52
+ describe('Synchronization issues activity tests', function () {
53
+ it('should render correctly', function () {
54
+ setUp();
55
+ react_2.screen.getByText('SFDC connector synchronization issue');
56
+ expect(react_2.screen.getByText('Andy Andy')).toHaveAttribute('href', 'https://reltio.com/nui#p~com.reltio.plugins.entity.default.DefaultPerspective_e~entities/15T9kNFk');
57
+ expect(react_2.screen.queryByTestId('synchronization-issues-activity-description')).not.toBeInTheDocument();
58
+ expect(react_2.screen.queryByTestId('synchronization-issues-activity-items-total')).not.toBeInTheDocument();
52
59
  });
53
60
  it('should render relation uri correctly', function () {
54
- var items = [
55
- {
56
- id: '42uxv5X2',
57
- user: 'sfdc.connector.admin',
58
- timestamp: 1652374313724,
59
- objectUri: 'relations/15T9kNFk'
60
- }
61
- ];
62
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SynchronizationIssuesActivity_1.SynchronizationIssuesActivity, { type: types_1.ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE, data: data }));
63
- expect(wrapper.find('ActivityTitle').prop('type')).toBe(types_1.ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE);
64
- wrapper.setProps({ data: __assign(__assign({}, data), { description: description, items: items }) });
65
- expect(wrapper.find('ActivityTitle').prop('type')).toBe(types_1.ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE);
66
- var relationUriSpan = wrapper.find('span');
67
- expect(relationUriSpan.length).toBe(1);
68
- expect(relationUriSpan.text()).toBe('relations/15T9kNFk');
61
+ var props = __assign(__assign({}, defaultProps), { data: __assign(__assign({}, defaultData), { items: [
62
+ __assign(__assign({}, defaultItem), { objectUri: 'relations/15T9kNFk', objectType: 'configuration/relationTypes/HasAddress' })
63
+ ] }) });
64
+ setUp({ props: props });
65
+ react_2.screen.getByText('relations/15T9kNFk');
66
+ });
67
+ it('should render description if it has been passed', function () {
68
+ var props = __assign(__assign({}, defaultProps), { data: __assign(__assign({}, defaultData), { description: '{"label":"description"}' }) });
69
+ setUp({ props: props });
70
+ react_2.screen.getByText('description');
71
+ });
72
+ it('should render items total if itemsTotal is greater than 1', function () {
73
+ var props = __assign(__assign({}, defaultProps), { data: __assign(__assign({}, defaultData), { itemsTotal: 2 }) });
74
+ setUp({ props: props });
75
+ react_2.screen.getByText('(2 records)');
69
76
  });
70
77
  });
@@ -51,11 +51,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
51
51
  };
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  var react_1 = __importDefault(require("react"));
54
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
55
+ var jsdom_testing_mocks_1 = require("jsdom-testing-mocks");
54
56
  var react_2 = require("@testing-library/react");
55
57
  var user_event_1 = __importDefault(require("@testing-library/user-event"));
56
- var ActivityLog_1 = require("./ActivityLog");
57
58
  var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
58
- describe('ActivityLogTests', function () {
59
+ var ActivityLog_1 = require("./ActivityLog");
60
+ describe('Activity log tests', function () {
61
+ (0, jsdom_testing_mocks_1.mockResizeObserver)();
59
62
  var activities = [
60
63
  {
61
64
  uri: 'activities/de19-08e1-b220b95c',
@@ -117,29 +120,68 @@ describe('ActivityLogTests', function () {
117
120
  timestamp: 1663335811251,
118
121
  items: [
119
122
  {
120
- id: '7G4iT0Rd',
121
- user: 'vyacheslav.kovyazin',
123
+ id: 'Hsj3l43',
124
+ user: 'olga.silina',
122
125
  method: 'POST',
123
126
  url: '/reltio/api/alenat/activities',
124
127
  clientType: 'Reltio UI',
125
128
  timestamp: 1663335811251,
129
+ objectUri: 'entities/11B3njW5',
130
+ objectType: 'configuration/entityTypes/HCP',
131
+ objectLabel: 'entity 1',
126
132
  data: {
127
133
  type: 'ENTITIES_MERGED_MANUALLY'
128
134
  }
129
135
  },
130
136
  {
131
- id: '7G4iT0Rd',
132
- user: 'vyacheslav.kovyazin',
137
+ id: 'fjS339S',
138
+ user: 'olga.silina',
133
139
  method: 'POST',
134
140
  url: '/reltio/api/alenat/activities',
135
141
  clientType: 'Reltio UI',
136
- timestamp: 1663335811251,
142
+ timestamp: 1663335812359,
137
143
  data: {
138
144
  type: 'NOT_IMPLEMENTED_ACTIVITY'
139
145
  }
146
+ },
147
+ {
148
+ id: 'kL23s23',
149
+ user: 'olga.silina',
150
+ method: 'POST',
151
+ url: '/reltio/api/alenat/activities',
152
+ clientType: 'Reltio UI',
153
+ timestamp: 1663335810156,
154
+ objectUri: 'entities/8Nms3KlS',
155
+ objectType: 'configuration/entityTypes/HCP',
156
+ objectLabel: 'entity 2',
157
+ data: {
158
+ type: 'ENTITY_LOST_MERGE'
159
+ }
160
+ }
161
+ ],
162
+ itemsTotal: 3
163
+ },
164
+ {
165
+ uri: 'activities/ds31343-8602-43d7-9mnb6-2127lc45d4c6',
166
+ user: 'alexander.kirsanov',
167
+ timestamp: 1663335811280,
168
+ items: [
169
+ {
170
+ id: '0Ls3nm8J',
171
+ user: 'alexander.kirsanov',
172
+ method: 'POST',
173
+ url: '/reltio/api/alenat/activities',
174
+ clientType: 'Reltio UI',
175
+ timestamp: 1663335811280,
176
+ objectUri: 'entities/9MswQl71',
177
+ objectType: 'configuration/entityTypes/HCP',
178
+ objectLabel: 'entity 3',
179
+ data: {
180
+ type: 'ENTITIES_MERGED_MANUALLY'
181
+ }
140
182
  }
141
183
  ],
142
- itemsTotal: 2
184
+ itemsTotal: 1
143
185
  }
144
186
  ];
145
187
  var defaultProps = {
@@ -163,19 +205,39 @@ describe('ActivityLogTests', function () {
163
205
  };
164
206
  return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(ActivityLog_1.ActivityLog, __assign({}, defaultProps, props)), { wrapper: Providers }));
165
207
  };
166
- it('should render correctly', function () {
208
+ beforeEach(function () {
167
209
  jest.spyOn(console, 'warn').mockReturnValue();
210
+ jest.spyOn(Date, 'now').mockReturnValue(1622625987531);
211
+ });
212
+ afterEach(function () {
213
+ jest.resetAllMocks();
214
+ });
215
+ it('should render correctly', function () {
168
216
  setUp();
169
217
  var activityItems = react_2.screen.getAllByTestId('activity-log-item');
170
- expect(activityItems).toHaveLength(3);
171
- expect((0, react_2.within)(activityItems[0]).getByText(activities[0].user)).toBeInTheDocument();
172
- expect((0, react_2.within)(activityItems[0]).getByText('Logged in')).toBeInTheDocument();
173
- expect((0, react_2.within)(activityItems[1]).getByText(activities[1].user)).toBeInTheDocument();
174
- expect((0, react_2.within)(activityItems[1]).getByText('Searched')).toBeInTheDocument();
175
- expect((0, react_2.within)(activityItems[1]).getByText('Commenter exists')).toBeInTheDocument();
176
- expect((0, react_2.within)(activityItems[2]).getByText(activities[3].user)).toBeInTheDocument();
177
- expect((0, react_2.within)(activityItems[2]).getByText('Profile merged manually')).toBeInTheDocument();
178
- expect((0, react_2.within)(activityItems[2]).getByText('<No label>')).toBeInTheDocument();
218
+ var activityGroupItems = react_2.screen.getAllByTestId('activity-log-group-item');
219
+ expect(activityItems).toHaveLength(4);
220
+ expect(activityGroupItems).toHaveLength(3);
221
+ (0, react_2.within)(activityGroupItems[0]).getByText('Today');
222
+ (0, react_2.within)(activityItems[0]).getByText(activities[0].user);
223
+ (0, react_2.within)(activityItems[0]).getByText(ui_i18n_1.default.date(activities[0].timestamp, 'LT'));
224
+ (0, react_2.within)(activityItems[0]).getByText('Logged in');
225
+ (0, react_2.within)(activityGroupItems[1]).getByText(ui_i18n_1.default.date(activities[1].timestamp, 'LL'));
226
+ (0, react_2.within)(activityItems[1]).getByText(activities[1].user);
227
+ (0, react_2.within)(activityItems[1]).getByText(ui_i18n_1.default.date(activities[1].timestamp, 'LT'));
228
+ (0, react_2.within)(activityItems[1]).getByText('Searched');
229
+ (0, react_2.within)(activityItems[1]).getByText('Commenter exists');
230
+ (0, react_2.within)(activityGroupItems[2]).getByText(ui_i18n_1.default.date(activities[3].timestamp, 'LL'));
231
+ (0, react_2.within)(activityItems[2]).getByText(activities[3].user);
232
+ (0, react_2.within)(activityItems[2]).getByText(ui_i18n_1.default.date(activities[3].timestamp, 'LT'));
233
+ (0, react_2.within)(activityItems[2]).getByText('Profile merged manually');
234
+ (0, react_2.within)(activityItems[2]).getByText('entity 1');
235
+ (0, react_2.within)(activityItems[2]).getByText('Profile lost merge');
236
+ (0, react_2.within)(activityItems[2]).getByText('entity 2');
237
+ (0, react_2.within)(activityItems[3]).getByText(activities[4].user);
238
+ (0, react_2.within)(activityItems[3]).getByText(ui_i18n_1.default.date(activities[4].timestamp, 'LT'));
239
+ (0, react_2.within)(activityItems[3]).getByText('Profile merged manually');
240
+ (0, react_2.within)(activityItems[3]).getByText('entity 3');
179
241
  expect(console.warn).toHaveBeenCalledWith('Activities not implemented:', activities[2].items);
180
242
  expect(console.warn).toHaveBeenCalledWith('Activities not implemented:', [activities[3].items[1]]);
181
243
  });
@@ -184,18 +246,17 @@ describe('ActivityLogTests', function () {
184
246
  return __generator(this, function (_a) {
185
247
  switch (_a.label) {
186
248
  case 0:
187
- jest.spyOn(console, 'warn').mockReturnValue();
188
249
  user = setUp().user;
189
250
  react_2.screen.getAllByTestId('collapse-button');
190
- expect(react_2.screen.getAllByTestId('activity-log-item')).toHaveLength(3);
251
+ expect(react_2.screen.getAllByTestId('activity-log-item')).toHaveLength(4);
191
252
  return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('collapse-button')[0])];
192
253
  case 1:
193
254
  _a.sent();
194
- expect(react_2.screen.getAllByTestId('activity-log-item')).toHaveLength(2);
255
+ expect(react_2.screen.getAllByTestId('activity-log-item')).toHaveLength(3);
195
256
  return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('collapse-button')[0])];
196
257
  case 2:
197
258
  _a.sent();
198
- expect(react_2.screen.getAllByTestId('activity-log-item')).toHaveLength(3);
259
+ expect(react_2.screen.getAllByTestId('activity-log-item')).toHaveLength(4);
199
260
  return [2 /*return*/];
200
261
  }
201
262
  });
@@ -14,7 +14,7 @@ var styles_1 = require("./styles");
14
14
  var GroupItem = function (_a) {
15
15
  var _b = _a.item, index = _b.index, timestamp = _b.timestamp, collapsed = _b.collapsed, onToggle = _a.onToggle;
16
16
  var styles = (0, styles_1.useStyles)();
17
- return (react_1.default.createElement("div", { className: styles.groupItem },
17
+ return (react_1.default.createElement("div", { className: styles.groupItem, "data-reltio-id": "activity-log-group-item" },
18
18
  react_1.default.createElement("div", { className: styles.groupIcon }),
19
19
  react_1.default.createElement(Typography_1.default, { className: styles.groupTitle, variant: 'subtitle1' }, (0, mdm_sdk_1.isToday)(timestamp) ? ui_i18n_1.default.text('Today') : ui_i18n_1.default.date(timestamp, 'LL')),
20
20
  react_1.default.createElement(Spacer_1.Spacer, null),