@reltio/components 1.4.2069 → 1.4.2071

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 (159) hide show
  1. package/FacetViewHeader/FacetViewHeader.js +1 -1
  2. package/ImageAttributesLine/imageAttributeValues.test-data.js +8 -0
  3. package/ImageAttributesLine/index.d.ts +1 -1
  4. package/ImageAttributesLine/index.js +1 -1
  5. package/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.js +1 -1
  6. package/MergeButton/MergeButton.spec.js +55 -124
  7. package/MetadataTypesSelector/MetadataTypesSelector.js +1 -1
  8. package/MetadataTypesSelector/MetadataTypesSelector.test.js +193 -190
  9. package/MoreAttributesButton/MoreAttributesButton.test.js +173 -166
  10. package/MultiValueSelector/MultiValueSelector.test.js +78 -38
  11. package/MultipliableSelect/MultipliableSelect.test.js +111 -47
  12. package/NestedAttribute/NestedAttribute.test.js +121 -42
  13. package/NestedAttributeEditor/NestedAttributeEditor.test.js +95 -41
  14. package/NotMatchButton/NotMatchButton.spec.js +51 -100
  15. package/PieChart/PieChart.test.js +130 -114
  16. package/PinButton/PinButton.spec.js +89 -22
  17. package/PivotingTooltip/PivotingTooltip.test.js +338 -174
  18. package/PotentialMatchReviewCard/PotentialMatchReviewCard.spec.js +94 -29
  19. package/ProfileBand/ProfileBand.spec.js +60 -53
  20. package/ProfileCard/ProfileCard.test.js +109 -27
  21. package/ProfilesList/ProfilesList.d.ts +1 -3
  22. package/ProfilesList/ProfilesList.js +1 -1
  23. package/ProfilesList/ProfilesList.spec.js +226 -211
  24. package/QueryBuilderRow/QueryBuilderRow.spec.js +83 -90
  25. package/QueryBuilderRowsGroup/QueryBuilderRowsGroup.spec.js +195 -86
  26. package/ReactSelectLoadMoreButton/ReactSelectLoadMoreButton.test.js +73 -15
  27. package/ReactSelectMenuWithPopper/ReactSelectMenuWithPopper.test.js +71 -117
  28. package/ReadOnlyAttributeValuesBlock/ReadOnlyAttributeValuesBlock.test.js +128 -61
  29. package/ReadOnlyAttributesFactory/components/ReadOnlyAttribute/ReadOnlyAttribute.test.js +179 -44
  30. package/ReadOnlyAttributesList/ReadOnlyAttributesList.test.js +254 -211
  31. package/ReadOnlyAttributesList/attributes.test-data.js +4 -4
  32. package/ReadOnlyAttributesPager/ReadOnlyAttributesPager.test.js +75 -18
  33. package/ReadOnlyAttributesView/ReadOnlyAttributesView.test.js +187 -312
  34. package/ReadOnlyComplexAttribute/ReadOnlyComplexAttribute.test.js +210 -219
  35. package/ReadOnlyImageAttributesLine/ReadOnlyImageAttributesLine.test.js +89 -89
  36. package/ReferenceAttributeEditor/ReferenceAttributeEditor.test.js +556 -602
  37. package/ReferenceAttributeEditor/metadata.test-data.d.ts +13 -13
  38. package/ReferenceAttributeEditor/metadata.test-data.js +2 -2
  39. package/ReferenceAttributeEditor/styles.d.ts +1 -1
  40. package/RelationEditor/RelationEditor.test.js +1448 -1392
  41. package/RelationTypeSelector/RelationTypeSelector.test.js +99 -17
  42. package/RelationTypesSelector/RelationTypesSelector.test.js +73 -22
  43. package/ReltioMap/ReltioMap.spec.js +51 -25
  44. package/Roles/Roles.test.js +54 -10
  45. package/ScreenProfileBand/ScreenProfileBand.test.js +142 -72
  46. package/cjs/FacetViewHeader/FacetViewHeader.js +1 -1
  47. package/cjs/ImageAttributesLine/imageAttributeValues.test-data.js +8 -0
  48. package/cjs/ImageAttributesLine/index.d.ts +1 -1
  49. package/cjs/ImageAttributesLine/index.js +2 -1
  50. package/cjs/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.js +1 -1
  51. package/cjs/MergeButton/MergeButton.spec.js +55 -124
  52. package/cjs/MetadataTypesSelector/MetadataTypesSelector.js +1 -1
  53. package/cjs/MetadataTypesSelector/MetadataTypesSelector.test.js +193 -190
  54. package/cjs/MoreAttributesButton/MoreAttributesButton.test.js +172 -165
  55. package/cjs/MultiValueSelector/MultiValueSelector.test.js +78 -38
  56. package/cjs/MultipliableSelect/MultipliableSelect.test.js +111 -47
  57. package/cjs/NestedAttribute/NestedAttribute.test.js +121 -42
  58. package/cjs/NestedAttributeEditor/NestedAttributeEditor.test.js +94 -40
  59. package/cjs/NotMatchButton/NotMatchButton.spec.js +51 -100
  60. package/cjs/PieChart/PieChart.test.js +130 -114
  61. package/cjs/PinButton/PinButton.spec.js +89 -22
  62. package/cjs/PivotingTooltip/PivotingTooltip.test.js +338 -174
  63. package/cjs/PotentialMatchReviewCard/PotentialMatchReviewCard.spec.js +94 -29
  64. package/cjs/ProfileBand/ProfileBand.spec.js +60 -53
  65. package/cjs/ProfileCard/ProfileCard.test.js +109 -27
  66. package/cjs/ProfilesList/ProfilesList.d.ts +1 -3
  67. package/cjs/ProfilesList/ProfilesList.js +1 -1
  68. package/cjs/ProfilesList/ProfilesList.spec.js +226 -211
  69. package/cjs/QueryBuilderRow/QueryBuilderRow.spec.js +83 -90
  70. package/cjs/QueryBuilderRowsGroup/QueryBuilderRowsGroup.spec.js +195 -86
  71. package/cjs/ReactSelectLoadMoreButton/ReactSelectLoadMoreButton.test.js +73 -15
  72. package/cjs/ReactSelectMenuWithPopper/ReactSelectMenuWithPopper.test.js +71 -117
  73. package/cjs/ReadOnlyAttributeValuesBlock/ReadOnlyAttributeValuesBlock.test.js +128 -61
  74. package/cjs/ReadOnlyAttributesFactory/components/ReadOnlyAttribute/ReadOnlyAttribute.test.js +179 -44
  75. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.test.js +254 -211
  76. package/cjs/ReadOnlyAttributesList/attributes.test-data.js +4 -4
  77. package/cjs/ReadOnlyAttributesPager/ReadOnlyAttributesPager.test.js +75 -18
  78. package/cjs/ReadOnlyAttributesView/ReadOnlyAttributesView.test.js +185 -310
  79. package/cjs/ReadOnlyComplexAttribute/ReadOnlyComplexAttribute.test.js +209 -218
  80. package/cjs/ReadOnlyImageAttributesLine/ReadOnlyImageAttributesLine.test.js +89 -89
  81. package/cjs/ReferenceAttributeEditor/ReferenceAttributeEditor.test.js +555 -601
  82. package/cjs/ReferenceAttributeEditor/metadata.test-data.d.ts +13 -13
  83. package/cjs/ReferenceAttributeEditor/metadata.test-data.js +2 -2
  84. package/cjs/ReferenceAttributeEditor/styles.d.ts +1 -1
  85. package/cjs/RelationEditor/RelationEditor.test.js +1446 -1390
  86. package/cjs/RelationTypeSelector/RelationTypeSelector.test.js +99 -17
  87. package/cjs/RelationTypesSelector/RelationTypesSelector.test.js +73 -22
  88. package/cjs/ReltioMap/ReltioMap.spec.js +51 -25
  89. package/cjs/Roles/Roles.test.js +54 -10
  90. package/cjs/ScreenProfileBand/ScreenProfileBand.test.js +141 -71
  91. package/package.json +2 -2
  92. package/MetadataTypesSelector/components/ListLabel/ListLabel.test.d.ts +0 -1
  93. package/MetadataTypesSelector/components/ListLabel/ListLabel.test.js +0 -24
  94. package/PivotingTooltip/IntegrationPivotingTooltip.test.d.ts +0 -1
  95. package/PivotingTooltip/IntegrationPivotingTooltip.test.js +0 -356
  96. package/PivotingTooltip/components/PivotingTooltipContent/PivotingTooltipContent.test.d.ts +0 -1
  97. package/PivotingTooltip/components/PivotingTooltipContent/PivotingTooltipContent.test.js +0 -201
  98. package/ProfileCard/components/ProfileCardContent/ProfileCardContent.test.d.ts +0 -1
  99. package/ProfileCard/components/ProfileCardContent/ProfileCardContent.test.js +0 -43
  100. package/QueryBuilderRow/components/ReadOnlyFilter/ReadOnlyFilter.spec.d.ts +0 -1
  101. package/QueryBuilderRow/components/ReadOnlyFilter/ReadOnlyFilter.spec.js +0 -31
  102. package/QueryBuilderRow/components/ReadOnlyLogicOperator/ReadOnlyLogicOperator.spec.d.ts +0 -1
  103. package/QueryBuilderRow/components/ReadOnlyLogicOperator/ReadOnlyLogicOperator.spec.js +0 -31
  104. package/ReadOnlyAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  105. package/ReadOnlyAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -45
  106. package/ReadOnlyAttributesPager/components/MultiLineRenderer/MultiLineRenderer.test.d.ts +0 -1
  107. package/ReadOnlyAttributesPager/components/MultiLineRenderer/MultiLineRenderer.test.js +0 -114
  108. package/ReadOnlyAttributesPager/components/OneLineRenderer/OneLineRenderer.test.d.ts +0 -1
  109. package/ReadOnlyAttributesPager/components/OneLineRenderer/OneLineRenderer.test.js +0 -107
  110. package/ReadOnlyAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  111. package/ReadOnlyAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -72
  112. package/RelationEditor/IntegrationRelationEditor.test.d.ts +0 -1
  113. package/RelationEditor/IntegrationRelationEditor.test.js +0 -337
  114. package/ReltioMap/components/MapControlContainer/MapControlContainer.d.ts +0 -10
  115. package/ReltioMap/components/MapControlContainer/MapControlContainer.js +0 -24
  116. package/ReltioMap/components/MapControlContainer/MapControlContainer.spec.d.ts +0 -1
  117. package/ReltioMap/components/MapControlContainer/MapControlContainer.spec.js +0 -33
  118. package/ReltioMap/components/MapControlContainer/index.d.ts +0 -1
  119. package/ReltioMap/components/MapControlContainer/index.js +0 -1
  120. package/ReltioMap/components/TopCenterMapControls/TopCenterMapControls.spec.d.ts +0 -1
  121. package/ReltioMap/components/TopCenterMapControls/TopCenterMapControls.spec.js +0 -36
  122. package/ReltioMap/components/TopRightMapControls/TopRightMapControls.spec.d.ts +0 -1
  123. package/ReltioMap/components/TopRightMapControls/TopRightMapControls.spec.js +0 -60
  124. package/Roles/components/Role/Role.test.d.ts +0 -1
  125. package/Roles/components/Role/Role.test.js +0 -55
  126. package/cjs/MetadataTypesSelector/components/ListLabel/ListLabel.test.d.ts +0 -1
  127. package/cjs/MetadataTypesSelector/components/ListLabel/ListLabel.test.js +0 -52
  128. package/cjs/PivotingTooltip/IntegrationPivotingTooltip.test.d.ts +0 -1
  129. package/cjs/PivotingTooltip/IntegrationPivotingTooltip.test.js +0 -361
  130. package/cjs/PivotingTooltip/components/PivotingTooltipContent/PivotingTooltipContent.test.d.ts +0 -1
  131. package/cjs/PivotingTooltip/components/PivotingTooltipContent/PivotingTooltipContent.test.js +0 -206
  132. package/cjs/ProfileCard/components/ProfileCardContent/ProfileCardContent.test.d.ts +0 -1
  133. package/cjs/ProfileCard/components/ProfileCardContent/ProfileCardContent.test.js +0 -48
  134. package/cjs/QueryBuilderRow/components/ReadOnlyFilter/ReadOnlyFilter.spec.d.ts +0 -1
  135. package/cjs/QueryBuilderRow/components/ReadOnlyFilter/ReadOnlyFilter.spec.js +0 -36
  136. package/cjs/QueryBuilderRow/components/ReadOnlyLogicOperator/ReadOnlyLogicOperator.spec.d.ts +0 -1
  137. package/cjs/QueryBuilderRow/components/ReadOnlyLogicOperator/ReadOnlyLogicOperator.spec.js +0 -36
  138. package/cjs/ReadOnlyAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  139. package/cjs/ReadOnlyAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -50
  140. package/cjs/ReadOnlyAttributesPager/components/MultiLineRenderer/MultiLineRenderer.test.d.ts +0 -1
  141. package/cjs/ReadOnlyAttributesPager/components/MultiLineRenderer/MultiLineRenderer.test.js +0 -119
  142. package/cjs/ReadOnlyAttributesPager/components/OneLineRenderer/OneLineRenderer.test.d.ts +0 -1
  143. package/cjs/ReadOnlyAttributesPager/components/OneLineRenderer/OneLineRenderer.test.js +0 -112
  144. package/cjs/ReadOnlyAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  145. package/cjs/ReadOnlyAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -77
  146. package/cjs/RelationEditor/IntegrationRelationEditor.test.d.ts +0 -1
  147. package/cjs/RelationEditor/IntegrationRelationEditor.test.js +0 -342
  148. package/cjs/ReltioMap/components/MapControlContainer/MapControlContainer.d.ts +0 -10
  149. package/cjs/ReltioMap/components/MapControlContainer/MapControlContainer.js +0 -28
  150. package/cjs/ReltioMap/components/MapControlContainer/MapControlContainer.spec.d.ts +0 -1
  151. package/cjs/ReltioMap/components/MapControlContainer/MapControlContainer.spec.js +0 -38
  152. package/cjs/ReltioMap/components/MapControlContainer/index.d.ts +0 -1
  153. package/cjs/ReltioMap/components/MapControlContainer/index.js +0 -5
  154. package/cjs/ReltioMap/components/TopCenterMapControls/TopCenterMapControls.spec.d.ts +0 -1
  155. package/cjs/ReltioMap/components/TopCenterMapControls/TopCenterMapControls.spec.js +0 -41
  156. package/cjs/ReltioMap/components/TopRightMapControls/TopRightMapControls.spec.d.ts +0 -1
  157. package/cjs/ReltioMap/components/TopRightMapControls/TopRightMapControls.spec.js +0 -65
  158. package/cjs/Roles/components/Role/Role.test.d.ts +0 -1
  159. package/cjs/Roles/components/Role/Role.test.js +0 -60
@@ -1,40 +1,105 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
2
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
51
  };
5
52
  Object.defineProperty(exports, "__esModule", { value: true });
6
53
  var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
8
- var test_utils_1 = require("react-dom/test-utils");
9
54
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
10
- var ramda_1 = require("ramda");
55
+ var react_2 = require("@testing-library/react");
56
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
11
57
  var PotentialMatchReviewCard_1 = require("./PotentialMatchReviewCard");
58
+ var defaultProps = {
59
+ date: 1612265837382,
60
+ createdBy: 'testUser',
61
+ type: 'pmReviewCardType',
62
+ step: 'Review',
63
+ children: react_1.default.createElement("div", null, "Children"),
64
+ Actions: react_1.default.createElement("div", null, "Actions")
65
+ };
66
+ var setUp = function (props) {
67
+ if (props === void 0) { props = defaultProps; }
68
+ var user = user_event_1.default.setup();
69
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(PotentialMatchReviewCard_1.PotentialMatchReviewCard, __assign({}, props)))), { user: user });
70
+ };
12
71
  describe('Potential match review card tests', function () {
13
- var date = 1612265837382;
14
- var createdBy = 'testUser';
15
- var type = 'pmReviewCardType';
16
- var step = 'Review';
17
- var children = react_1.default.createElement("div", { className: "children" }, "Children");
18
- var Actions = react_1.default.createElement("div", { className: "actions" }, "Actions");
19
- it('should render elements correctly', function () {
20
- jest.spyOn(ui_i18n_1.default, 'date').mockImplementation(ramda_1.identity);
21
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(PotentialMatchReviewCard_1.PotentialMatchReviewCard, { date: date, createdBy: createdBy, type: type, step: step, Actions: Actions }, children));
22
- expect(component.find('CollapseButton').prop('isOpen')).toBeFalsy();
23
- expect(component.find('.date').text()).toBe(String(date));
24
- expect(component.find('.info').at(0).text()).toBe(type);
25
- expect(component.find('.info').at(1).text()).toBe('Created by testUser');
26
- expect(component.find('.info').at(2).text()).toBe('Step: Review');
27
- expect(component.find('.actions').text()).toBe('Actions');
28
- expect(component.find('.children').length).toBe(0);
29
- });
30
- it('should show children in expanded mode', function () {
31
- jest.spyOn(ui_i18n_1.default, 'date').mockImplementation(ramda_1.identity);
32
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(PotentialMatchReviewCard_1.PotentialMatchReviewCard, { date: date, createdBy: createdBy, type: type, step: step, Actions: Actions }, children));
33
- expect(component.find('CollapseButton').prop('isOpen')).toBeFalsy();
34
- (0, test_utils_1.act)(function () {
35
- component.find('CollapseButton').simulate('click');
36
- component.update();
72
+ it('should render correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
73
+ return __generator(this, function (_a) {
74
+ setUp();
75
+ react_2.screen.getByTestId('SvgPmIcon');
76
+ react_2.screen.getByText('Match review');
77
+ react_2.screen.getByText(ui_i18n_1.default.date(defaultProps.date, 'L'));
78
+ react_2.screen.getByText('pmReviewCardType');
79
+ react_2.screen.getByText('Created by testUser');
80
+ react_2.screen.getByText('Step: Review');
81
+ react_2.screen.getByText('Actions');
82
+ expect(react_2.screen.queryByText('Children')).not.toBeInTheDocument();
83
+ return [2 /*return*/];
37
84
  });
38
- expect(component.find('.children').length).toBe(1);
39
- });
85
+ }); });
86
+ it('should expand and collapse content correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
87
+ var user;
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0:
91
+ user = setUp().user;
92
+ expect(react_2.screen.queryByText('Children')).not.toBeInTheDocument();
93
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('collapse-button'))];
94
+ case 1:
95
+ _a.sent();
96
+ react_2.screen.getByText('Children');
97
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('collapse-button'))];
98
+ case 2:
99
+ _a.sent();
100
+ expect(react_2.screen.queryByText('Children')).not.toBeInTheDocument();
101
+ return [2 /*return*/];
102
+ }
103
+ });
104
+ }); });
40
105
  });
@@ -15,78 +15,85 @@ 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 ProfileBand_1 = require("./ProfileBand");
20
- var EntityAvatar_1 = require("../EntityAvatar");
21
- var EntityTypeBadge_1 = require("../EntityTypeBadge");
18
+ var react_2 = require("@testing-library/react");
22
19
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
23
- jest.mock('@reltio/mdm-sdk', function () { return (__assign({}, jest.requireActual('@reltio/mdm-sdk'))); });
24
- jest.mock('../contexts/MdmModuleContext', function () { return (__assign(__assign({}, jest.requireActual('../contexts/MdmModuleContext')), { useMdmMetadata: jest.fn(), useMdmShowEntityId: jest.fn() })); });
20
+ var ProfileBand_1 = require("./ProfileBand");
25
21
  var metadata = {
26
22
  entityTypes: [
27
23
  {
28
24
  uri: 'configuration/entityTypes/HCP',
29
25
  attributes: [
30
26
  {
27
+ type: 'String',
31
28
  name: 'FirstName',
32
29
  uri: 'configuration/entityTypes/HCP/attributes/FirstName'
33
30
  }
34
31
  ],
35
- businessCardAttributeURIs: ['configuration/entityTypes/HCP/attributes/FirstName']
32
+ businessCardAttributeURIs: ['configuration/entityTypes/HCP/attributes/FirstName'],
33
+ typeImage: 'images/defaultImage/image.png'
36
34
  }
37
35
  ]
38
36
  };
39
- describe('Profile band tests', function () {
40
- beforeEach(function () {
41
- MdmModuleContext_1.useMdmShowEntityId.mockReturnValue(true);
42
- MdmModuleContext_1.useMdmMetadata.mockReturnValue(metadata);
43
- });
44
- var entity = {
45
- attributes: {
46
- FirstName: [
47
- {
48
- ov: true,
49
- value: 'First name',
50
- uri: 'entities/1MheIGmc/attributes/FirstName/2l2ktkUn0',
51
- type: 'configuration/entityTypes/HCP/attributes/FirstName'
52
- }
53
- ]
54
- },
55
- label: 'Entity one',
56
- secondaryLabel: 'Entity expanded label',
57
- type: 'configuration/entityTypes/HCP',
58
- uri: 'entities/uioU78'
37
+ var defaultEntity = {
38
+ attributes: {
39
+ FirstName: [
40
+ {
41
+ ov: true,
42
+ value: 'First name',
43
+ uri: 'entities/1MheIGmc/attributes/FirstName/2l2ktkUn0',
44
+ type: 'configuration/entityTypes/HCP/attributes/FirstName'
45
+ }
46
+ ]
47
+ },
48
+ label: 'Entity one',
49
+ secondaryLabel: 'Entity expanded label',
50
+ type: 'configuration/entityTypes/HCP',
51
+ uri: 'entities/uioU78'
52
+ };
53
+ var defaultProps = { entity: defaultEntity, children: react_1.default.createElement("div", null, "Content") };
54
+ var defaultMdmValues = {
55
+ showEntityId: true,
56
+ absoluteImagePath: 'https://reltio.com/nui/imagePath',
57
+ metadata: metadata
58
+ };
59
+ var setUp = function (_a) {
60
+ var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? defaultProps : _c, _d = _b.mdmValues, mdmValues = _d === void 0 ? defaultMdmValues : _d;
61
+ var Providers = function (_a) {
62
+ var children = _a.children;
63
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues }, children));
59
64
  };
60
- it('should render main parts', function () {
61
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ProfileBand_1.ProfileBand, { entity: entity },
62
- react_1.default.createElement("div", { className: "content" }, "Content")));
63
- expect(component.find(EntityAvatar_1.EntityAvatar)).toHaveLength(1);
64
- expect(component.find(EntityTypeBadge_1.EntityTypeBadge)).toHaveLength(1);
65
- expect(component.find('.label').text()).toBe(entity.label);
66
- expect(component.find('.secondaryLabel').text()).toBe(entity.secondaryLabel);
67
- expect(component.find('.businessCard').text()).toBe('First name');
68
- expect(component.find('.entityId').text()).toBe('Entity ID: uioU78');
69
- expect(component.find('.content').text()).toBe('Content');
65
+ return (0, react_2.render)(react_1.default.createElement(ProfileBand_1.ProfileBand, __assign({}, props)), { wrapper: Providers });
66
+ };
67
+ describe('Profile band tests', function () {
68
+ it('should render main parts correctly', function () {
69
+ setUp();
70
+ expect(react_2.screen.getByRole('img')).toHaveAttribute('src', 'https://reltio.com/nui/imagePath/images/defaultImage/image.png');
71
+ react_2.screen.getByText('Entity one');
72
+ react_2.screen.getByText('Entity expanded label');
73
+ react_2.screen.getByText('First name');
74
+ react_2.screen.getByText('Entity ID: uioU78');
75
+ react_2.screen.getByText('Content');
70
76
  });
71
- it('should render inactive profile band', function () {
72
- var inactiveEntity = __assign(__assign({}, entity), { endDate: Date.now() - 10 });
73
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ProfileBand_1.ProfileBand, { entity: inactiveEntity }));
74
- expect(component.find('.inactive').length).toBe(1);
77
+ it('should render inactive profile band correctly', function () {
78
+ var entity = __assign(__assign({}, defaultEntity), { endDate: Date.now() - 10 });
79
+ var props = __assign(__assign({}, defaultProps), { entity: entity });
80
+ setUp({ props: props });
81
+ expect(react_2.screen.getByTestId('reltio-profile-band').firstChild).toHaveClass('inactive');
75
82
  });
76
- it('should hide entityId for create mode', function () {
77
- var tmpEntity = __assign(__assign({}, entity), { uri: 'entities/uri$$1646115317921' });
78
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ProfileBand_1.ProfileBand, { entity: tmpEntity },
79
- react_1.default.createElement("div", { className: "content" }, "Content")));
80
- expect(component.find('.entityId').length).toBe(0);
83
+ it('should hide entity id for create mode', function () {
84
+ var entity = __assign(__assign({}, defaultEntity), { uri: 'entities/uri$$1646115317921' });
85
+ var props = __assign(__assign({}, defaultProps), { entity: entity });
86
+ setUp({ props: props });
87
+ expect(react_2.screen.queryByLabelText('Copy to clipboard')).not.toBeInTheDocument();
81
88
  });
82
- it('should hide entityId if "showEntityId" selector returns false', function () {
83
- MdmModuleContext_1.useMdmShowEntityId.mockReturnValue(false);
84
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ProfileBand_1.ProfileBand, { entity: entity },
85
- react_1.default.createElement("div", { className: "content" }, "Content")));
86
- expect(component.find('.entityId').length).toBe(0);
89
+ it('should hide entityId if "showEntityId" is false', function () {
90
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { showEntityId: false });
91
+ setUp({ mdmValues: mdmValues });
92
+ expect(react_2.screen.queryByLabelText('Copy to clipboard')).not.toBeInTheDocument();
87
93
  });
88
94
  it('should render custom label correctly using renderLabel prop', function () {
89
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ProfileBand_1.ProfileBand, { entity: entity, renderLabel: function (label) { return "custom ".concat(label); } }));
90
- expect(component.find('.label').text()).toBe("custom ".concat(entity.label));
95
+ var props = __assign(__assign({}, defaultProps), { renderLabel: function (label) { return "custom ".concat(label); } });
96
+ setUp({ props: props });
97
+ react_2.screen.getByText('custom Entity one');
91
98
  });
92
99
  });
@@ -1,38 +1,120 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
2
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
51
  };
5
52
  Object.defineProperty(exports, "__esModule", { value: true });
6
53
  var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
8
56
  var ProfileCard_1 = __importDefault(require("./ProfileCard"));
9
- var ProfileCardContent_1 = require("./components/ProfileCardContent");
10
- var ProfileCardPlaceholder_1 = require("./components/ProfileCardPlaceholder");
11
- describe('ProfileCard tests', function () {
12
- var entity = {
13
- uri: 'entities/123',
14
- label: 'Main label',
15
- secondaryLabel: 'secondary label',
16
- type: 'configuration/entityTypes/HCP'
57
+ var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
58
+ var defaultEntity = {
59
+ uri: 'entities/123',
60
+ label: 'Main label',
61
+ secondaryLabel: 'secondary label',
62
+ type: 'configuration/entityTypes/HCP'
63
+ };
64
+ var defaultProps = { entity: defaultEntity };
65
+ var mdmValues = {
66
+ metadata: {
67
+ entityTypes: [
68
+ {
69
+ uri: 'configuration/entityTypes/HCP',
70
+ label: 'HCP',
71
+ typeImage: 'images/defaultImage/typeImage_gender_neutral.png'
72
+ }
73
+ ]
74
+ },
75
+ uiPath: 'https://reltio.com/nui',
76
+ absoluteImagePath: 'https://images.reltio.com'
77
+ };
78
+ var setUp = function (props) {
79
+ if (props === void 0) { props = defaultProps; }
80
+ var user = user_event_1.default.setup();
81
+ var Providers = function (_a) {
82
+ var children = _a.children;
83
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues }, children));
17
84
  };
18
- it('should render container with correctly props', function () {
19
- var onClick = jest.fn();
20
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ProfileCard_1.default, { entity: entity, classes: { container: 'wrapper' }, onClick: onClick }));
21
- expect(component.find('.container').props()).toMatchObject({
22
- className: 'container wrapper',
23
- onClick: onClick
24
- });
25
- });
26
- it('should render ProfileCardContent with correct props if variant is "normal"', function () {
27
- var classes = { container: 'label' };
28
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ProfileCard_1.default, { entity: entity, classes: classes, variant: "normal" }));
29
- expect(component.find(ProfileCardPlaceholder_1.ProfileCardPlaceholder)).toHaveLength(0);
30
- expect(component.find(ProfileCardContent_1.ProfileCardContent)).toHaveLength(1);
31
- expect(component.find(ProfileCardContent_1.ProfileCardContent).props()).toEqual({ entity: entity, classes: classes });
85
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(ProfileCard_1.default, __assign({}, props)), { wrapper: Providers })), { user: user });
86
+ };
87
+ describe('Profile card tests', function () {
88
+ it('should render profile card content correctly if variant is "normal"', function () {
89
+ setUp();
90
+ expect(react_2.screen.getByRole('img')).toHaveAttribute('src', 'https://images.reltio.com/images/defaultImage/typeImage_gender_neutral.png');
91
+ expect(react_2.screen.getByRole('link', { name: 'Main label' })).toHaveAttribute('href', 'https://reltio.com/nui#p~com.reltio.plugins.entity.default.DefaultPerspective_e~entities/123');
92
+ react_2.screen.getByText('secondary label');
93
+ react_2.screen.getByText('HCP');
94
+ react_2.screen.getByText('ID:');
95
+ react_2.screen.getByText('123');
32
96
  });
33
- it('should render ProfileCardPlaceholder if variant is "loading"', function () {
34
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ProfileCard_1.default, { entity: entity, variant: "loading" }));
35
- expect(component.find(ProfileCardContent_1.ProfileCardContent)).toHaveLength(0);
36
- expect(component.find(ProfileCardPlaceholder_1.ProfileCardPlaceholder)).toHaveLength(1);
97
+ it('should copy entity ID on click', function () { return __awaiter(void 0, void 0, void 0, function () {
98
+ var user, clipboardText;
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0:
102
+ user = setUp().user;
103
+ return [4 /*yield*/, user.click(react_2.screen.getByText('123'))];
104
+ case 1:
105
+ _a.sent();
106
+ return [4 /*yield*/, navigator.clipboard.readText()];
107
+ case 2:
108
+ clipboardText = _a.sent();
109
+ expect(clipboardText).toBe('123');
110
+ return [2 /*return*/];
111
+ }
112
+ });
113
+ }); });
114
+ it('should render profile card placeholder correctly if variant is "loading"', function () {
115
+ var props = __assign(__assign({}, defaultProps), { variant: 'loading' });
116
+ setUp(props);
117
+ react_2.screen.getByTestId('profile-card-placeholder-avatar');
118
+ react_2.screen.getByTestId('profile-card-placeholder-info');
37
119
  });
38
120
  });
@@ -6,9 +6,7 @@ type Props = {
6
6
  selectedEntityUri?: string;
7
7
  onEntityClick?: (entityUri: string) => void;
8
8
  onEntityHover?: (entityUri: string) => void;
9
- entitiesImportStatus?: {
10
- entityUri: string;
11
- };
9
+ entitiesImportStatus?: Record<string, string>;
12
10
  entityButtonsRenderer?: (entity: Entity) => void;
13
11
  };
14
12
  export declare const ProfilesList: ({ entities, entityToHighlight, selectedEntityUri, onEntityClick, onEntityHover, entitiesImportStatus, entityButtonsRenderer }: Props) => React.JSX.Element;
@@ -82,7 +82,7 @@ var ProfilesList = function (_a) {
82
82
  _a[styles.highlighted] = entityUri === entityToHighlight,
83
83
  _a[styles.inactive] = !isActive,
84
84
  _a[styles.justImported] = importStatus === types_1.ImportModes.Success,
85
- _a)), onClick: onEntityClick ? function () { return onEntityClick(entityUri); } : undefined, onMouseEnter: onEntityHover ? function () { return onEntityHover(entityUri); } : undefined, onMouseLeave: onEntityHover ? function () { return onEntityHover(null); } : undefined, "data-entity-uri": entityUri },
85
+ _a)), onClick: onEntityClick ? function () { return onEntityClick(entityUri); } : undefined, onMouseEnter: onEntityHover ? function () { return onEntityHover(entityUri); } : undefined, onMouseLeave: onEntityHover ? function () { return onEntityHover(null); } : undefined, "data-reltio-id": "profiles-list-item", "data-entity-uri": entityUri },
86
86
  react_1.default.createElement(EntityAvatar_1.EntityAvatar, { entity: entity, avatarClassName: styles.avatar, imageClassName: styles.image }),
87
87
  react_1.default.createElement("div", { className: styles.info },
88
88
  react_1.default.createElement("div", null,