@reltio/components 1.4.2070 → 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 +1 -1
  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
@@ -46,353 +46,228 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
- if (ar || !(i in from)) {
52
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
- ar[i] = from[i];
54
- }
55
- }
56
- return to.concat(ar || Array.prototype.slice.call(from));
57
- };
58
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
59
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
60
51
  };
61
52
  Object.defineProperty(exports, "__esModule", { value: true });
62
53
  var react_1 = __importDefault(require("react"));
63
- var enzyme_1 = require("enzyme");
64
54
  var react_2 = require("@testing-library/react");
65
55
  var user_event_1 = __importDefault(require("@testing-library/user-event"));
66
- var mdm_sdk_1 = require("@reltio/mdm-sdk");
67
- var Typography_1 = __importDefault(require("@mui/material/Typography"));
68
56
  var ReadOnlyAttributesView_1 = require("./ReadOnlyAttributesView");
69
- var BasicView_1 = require("../BasicView");
70
- var ReadOnlyAttributesList_1 = require("../ReadOnlyAttributesList");
71
- var FacetViewHeader_1 = require("../FacetViewHeader");
72
- var PivotingAttributeContext_1 = require("../contexts/PivotingAttributeContext");
73
57
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
74
58
  var HiddenAttributesContext_1 = require("../contexts/HiddenAttributesContext");
75
- jest.mock('../contexts/MdmModuleContext', function () { return (__assign(__assign({}, jest.requireActual('../contexts/MdmModuleContext')), { useMdmMetadata: jest.fn(), useMdmPivotingAttributes: jest.fn() })); });
76
- describe('ReadOnlyAttributesView tests', function () {
77
- var metadata = {
78
- entityTypes: [
79
- {
80
- uri: 'configuration/entityTypes/HCP',
81
- attributes: [
82
- {
83
- name: 'Complex',
84
- type: 'String',
85
- uri: 'configuration/entityTypes/HCP/attributes/Complex',
86
- attributes: []
87
- },
88
- {
89
- name: 'Name',
90
- type: 'String',
91
- uri: 'configuration/entityTypes/HCP/attributes/Name',
92
- access: ['READ', 'CREATE']
93
- }
94
- ],
95
- analyticsAttributes: [
96
- {
97
- name: 'AnalyticsAttributesName',
98
- type: 'String',
99
- uri: 'configuration/entityTypes/HCP/analyticsAttributes/AnalyticsAttributesName',
100
- access: ['READ', 'CREATE']
101
- }
102
- ]
103
- }
104
- ]
105
- };
106
- var entity = {
107
- type: 'configuration/entityTypes/HCP',
108
- uri: 'entities/uri_e',
109
- attributes: {
110
- Name: [{ uri: 'entities/uri_e/attributes/uri1', value: '123' }]
111
- },
112
- analyticsAttributes: {
113
- AnalyticsAttributesName: [{ uri: 'entities/uri_e/analyticsAttributes/uri2', value: '123' }]
59
+ var defaultMetadata = {
60
+ entityTypes: [
61
+ {
62
+ uri: 'configuration/entityTypes/HCP',
63
+ attributes: [
64
+ {
65
+ name: 'Complex',
66
+ type: 'Nested',
67
+ label: 'Complex',
68
+ uri: 'configuration/entityTypes/HCP/attributes/Complex',
69
+ attributes: [
70
+ {
71
+ name: 'FirstName',
72
+ type: 'String',
73
+ label: 'First Name',
74
+ uri: 'configuration/entityTypes/HCP/attributes/Complex/attributes/FirstName'
75
+ },
76
+ {
77
+ name: 'LastName',
78
+ type: 'String',
79
+ label: 'Last Name',
80
+ uri: 'configuration/entityTypes/HCP/attributes/Complex/attributes/LastName'
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ name: 'Name',
86
+ type: 'String',
87
+ label: 'Name',
88
+ uri: 'configuration/entityTypes/HCP/attributes/Name'
89
+ },
90
+ {
91
+ name: 'Category',
92
+ type: 'String',
93
+ label: 'Category',
94
+ uri: 'configuration/entityTypes/HCP/attributes/Category'
95
+ }
96
+ ],
97
+ analyticsAttributes: [
98
+ {
99
+ name: 'AnalyticsAttributesName',
100
+ label: 'Analytics Attributes Name',
101
+ type: 'String',
102
+ uri: 'configuration/entityTypes/HCP/analyticsAttributes/AnalyticsAttributesName'
103
+ }
104
+ ]
114
105
  }
106
+ ]
107
+ };
108
+ var defaultEntity = {
109
+ type: 'configuration/entityTypes/HCP',
110
+ uri: 'entities/uri_e',
111
+ attributes: {
112
+ Name: [{ uri: 'entities/uri_e/attributes/uri1', value: 'name value' }]
113
+ },
114
+ analyticsAttributes: {
115
+ AnalyticsAttributesName: [{ uri: 'entities/uri_e/analyticsAttributes/uri2', value: 'analytics name value' }]
116
+ }
117
+ };
118
+ var defaultMdmValues = {
119
+ metadata: defaultMetadata,
120
+ pivotingAttributes: []
121
+ };
122
+ var defaultProps = { entity: defaultEntity };
123
+ var setUp = function (_a) {
124
+ var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? defaultProps : _c, _d = _b.mdmValues, mdmValues = _d === void 0 ? defaultMdmValues : _d, _e = _b.hiddenAttributes, hiddenAttributes = _e === void 0 ? {} : _e;
125
+ var user = user_event_1.default.setup();
126
+ var Providers = function (_a) {
127
+ var children = _a.children;
128
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues },
129
+ react_1.default.createElement(HiddenAttributesContext_1.HiddenAttributesContext.Provider, { value: hiddenAttributes }, children)));
115
130
  };
116
- var defaultProps = { entity: entity };
117
- var pivotingAttributes = [
118
- { uri: 'configuration/entityTypes/HCP/attributes/FirstName' },
119
- { uri: 'configuration/entityTypes/HCP/attributes/CountryCode' }
120
- ];
121
- beforeAll(function () {
122
- MdmModuleContext_1.useMdmMetadata.mockReturnValue(metadata);
123
- MdmModuleContext_1.useMdmPivotingAttributes.mockReturnValue(pivotingAttributes);
124
- });
125
- var specialAttrTypes = Object.values(mdm_sdk_1.EntityAttrTypes).filter(function (_a) {
126
- var uri = _a.uri;
127
- return uri !== mdm_sdk_1.EntityAttrTypes.id.uri;
128
- });
129
- it('should render AttributeList inside BasicView', function () {
130
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, defaultProps)));
131
- var basicView = component.find(BasicView_1.BasicView);
132
- expect(basicView.length).toBe(1);
133
- var attributesList = basicView.find(ReadOnlyAttributesList_1.ReadOnlyAttributesList);
134
- expect(attributesList.length).toBe(1);
135
- expect(attributesList.prop('entity')).toBe(entity);
136
- expect(attributesList.prop('attrTypes')).toEqual(__spreadArray(__spreadArray(__spreadArray([], metadata.entityTypes[0].attributes, true), metadata.entityTypes[0].analyticsAttributes, true), specialAttrTypes, true));
137
- expect(attributesList.prop('parentUri')).toBe(entity.uri);
138
- expect(attributesList.prop('drawLines')).toBe(false);
131
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, props)), { wrapper: Providers })), { user: user });
132
+ };
133
+ describe('Read only attributes view tests', function () {
134
+ it('should render attribute list correctly', function () {
135
+ setUp();
136
+ var renderers = react_2.screen.getAllByTestId('one-line-renderer');
137
+ expect(renderers).toHaveLength(2);
138
+ expect(renderers[0]).toHaveTextContent('Name');
139
+ expect(renderers[0]).toHaveTextContent('name value');
140
+ expect(renderers[1]).toHaveTextContent('Analytics Attributes Name');
141
+ expect(renderers[1]).toHaveTextContent('analytics name value');
139
142
  });
140
- it('should return null in case empty attributes list and empty caption', function () {
141
- var emptyEntity = {
143
+ it('should return nothing in case empty attributes list and empty caption', function () {
144
+ var entity = {
142
145
  type: 'configuration/entityTypes/HCP',
143
146
  uri: 'entities/uri_e',
144
147
  attributes: {},
145
148
  analyticsAttributes: {}
146
149
  };
147
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, { entity: emptyEntity }));
148
- expect(component.html()).toBeNull();
150
+ var props = { entity: entity };
151
+ var container = setUp({ props: props }).container;
152
+ expect(container).toBeEmptyDOMElement();
149
153
  });
150
- it('should render FacetViewHeader if caption is not empty', function () {
151
- var emptyEntity = {
154
+ it('should render facet view header if caption is not empty', function () {
155
+ var entity = {
152
156
  type: 'configuration/entityTypes/HCP',
153
157
  uri: 'entities/uri_e',
154
158
  attributes: {},
155
159
  analyticsAttributes: {}
156
160
  };
157
- var caption = 'Test caption';
158
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, { entity: emptyEntity, caption: caption }));
159
- var basicView = component.find(BasicView_1.BasicView);
160
- expect(basicView.length).toBe(1);
161
- var viewHeader = basicView.find(FacetViewHeader_1.FacetViewHeader);
162
- expect(viewHeader.length).toBe(1);
163
- expect(viewHeader.prop('title')).toBe(caption);
164
- expect(basicView.find(ReadOnlyAttributesList_1.ReadOnlyAttributesList).length).toBe(0);
165
- expect(basicView.find(Typography_1.default).text()).toBe('No data found');
161
+ var props = { entity: entity, caption: 'Attributes view caption' };
162
+ setUp({ props: props });
163
+ react_2.screen.getByText('Attributes view caption');
164
+ react_2.screen.getByText('No data found');
166
165
  });
167
- it('should render AttributeList inside BasicView with filtered attrType by excludeUris', function () {
166
+ it('should render attributes list filtered by excludeUris', function () {
168
167
  var excludeUris = ['configuration/entityTypes/HCP/attributes/Name'];
169
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, defaultProps, { excludeUris: excludeUris })));
170
- var basicView = component.find(BasicView_1.BasicView);
171
- expect(basicView.length).toBe(1);
172
- var attributesList = basicView.find(ReadOnlyAttributesList_1.ReadOnlyAttributesList);
173
- expect(attributesList.length).toBe(1);
174
- expect(attributesList.prop('entity')).toBe(entity);
175
- expect(attributesList.prop('attrTypes')).toEqual(__spreadArray(__spreadArray(__spreadArray([], metadata.entityTypes[0].attributes.filter(function (_a) {
176
- var uri = _a.uri;
177
- return !excludeUris.includes(uri);
178
- }), true), metadata.entityTypes[0].analyticsAttributes, true), specialAttrTypes, true));
179
- expect(attributesList.prop('parentUri')).toBe(entity.uri);
180
- expect(attributesList.prop('drawLines')).toBe(false);
168
+ var props = __assign(__assign({}, defaultProps), { excludeUris: excludeUris });
169
+ setUp({ props: props });
170
+ var renderers = react_2.screen.getAllByTestId('one-line-renderer');
171
+ expect(renderers).toHaveLength(1);
172
+ expect(renderers[0]).toHaveTextContent('Analytics Attributes Name');
173
+ expect(renderers[0]).toHaveTextContent('analytics name value');
181
174
  });
182
- it('should render AttributeList inside BasicView with filtered attrType by includeUris and ignore excludeUris', function () {
175
+ it('should render attributes list filtered by includeUris and ignore excludeUris', function () {
183
176
  var includeUris = ['configuration/entityTypes/HCP/attributes/Name'];
184
177
  var excludeUris = ['configuration/entityTypes/HCP/analyticsAttributes/AnalyticsAttributesName'];
185
- var caption = 'Attributes View(Test123)';
186
- var attrType = metadata.entityTypes[0].attributes.filter(function (_a) {
187
- var uri = _a.uri;
188
- return includeUris.includes(uri);
189
- });
190
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, defaultProps, { excludeUris: excludeUris, includeUris: includeUris, caption: caption })));
191
- var basicView = component.find(BasicView_1.BasicView);
192
- expect(basicView.length).toBe(1);
193
- var viewHeader = component.find(FacetViewHeader_1.FacetViewHeader);
194
- expect(viewHeader.length).toBe(1);
195
- expect(viewHeader.prop('title')).toBe(caption);
196
- var attributesList = basicView.find(ReadOnlyAttributesList_1.ReadOnlyAttributesList);
197
- expect(attributesList.length).toBe(1);
198
- expect(attributesList.prop('entity')).toBe(entity);
199
- expect(attributesList.prop('attrTypes')).toEqual(attrType);
200
- expect(attributesList.prop('parentUri')).toBe(entity.uri);
201
- expect(attributesList.prop('drawLines')).toBe(false);
178
+ var caption = 'Attributes view caption';
179
+ var props = __assign(__assign({}, defaultProps), { includeUris: includeUris, excludeUris: excludeUris, caption: caption });
180
+ setUp({ props: props });
181
+ react_2.screen.getByText('Attributes view caption');
182
+ var renderers = react_2.screen.getAllByTestId('one-line-renderer');
183
+ expect(renderers).toHaveLength(1);
184
+ expect(renderers[0]).toHaveTextContent('Name');
185
+ expect(renderers[0]).toHaveTextContent('name value');
202
186
  });
203
- it('should render AttributeList inside BasicView and render FacetViewHeader', function () {
204
- var caption = 'Attributes View(Test123)';
205
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, defaultProps, { caption: caption })));
206
- var basicView = component.find(BasicView_1.BasicView);
207
- expect(basicView.length).toBe(1);
208
- var viewHeader = component.find(FacetViewHeader_1.FacetViewHeader);
209
- expect(viewHeader.length).toBe(1);
210
- expect(viewHeader.prop('title')).toBe(caption);
211
- var attributesList = basicView.find(ReadOnlyAttributesList_1.ReadOnlyAttributesList);
212
- expect(attributesList.length).toBe(1);
213
- expect(attributesList.prop('entity')).toBe(entity);
214
- expect(attributesList.prop('attrTypes')).toEqual(__spreadArray(__spreadArray(__spreadArray([], metadata.entityTypes[0].attributes, true), metadata.entityTypes[0].analyticsAttributes, true), specialAttrTypes, true));
215
- expect(attributesList.prop('parentUri')).toBe(entity.uri);
216
- expect(attributesList.prop('drawLines')).toBe(false);
187
+ it('should render attributes list and render facet view header', function () {
188
+ var caption = 'Attributes view caption';
189
+ var props = __assign(__assign({}, defaultProps), { caption: caption });
190
+ setUp({ props: props });
191
+ react_2.screen.getByText('Attributes view caption');
192
+ var renderers = react_2.screen.getAllByTestId('one-line-renderer');
193
+ expect(renderers).toHaveLength(2);
194
+ expect(renderers[0]).toHaveTextContent('Name');
195
+ expect(renderers[0]).toHaveTextContent('name value');
196
+ expect(renderers[1]).toHaveTextContent('Analytics Attributes Name');
197
+ expect(renderers[1]).toHaveTextContent('analytics name value');
217
198
  });
218
- it('should render AttributeList inside BasicView with max props', function () {
219
- var attributesCount = 10;
220
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, defaultProps, { attributesCount: attributesCount })));
221
- var basicView = component.find(BasicView_1.BasicView);
222
- expect(basicView.length).toBe(1);
223
- var attributesList = basicView.find(ReadOnlyAttributesList_1.ReadOnlyAttributesList);
224
- expect(attributesList.length).toBe(1);
225
- expect(attributesList.prop('entity')).toBe(entity);
226
- expect(attributesList.prop('max')).toBe(attributesCount);
227
- expect(attributesList.prop('attrTypes')).toEqual(__spreadArray(__spreadArray(__spreadArray([], metadata.entityTypes[0].attributes, true), metadata.entityTypes[0].analyticsAttributes, true), specialAttrTypes, true));
228
- expect(attributesList.prop('parentUri')).toBe(entity.uri);
229
- expect(attributesList.prop('drawLines')).toBe(false);
199
+ it('should render attributes list with max props', function () {
200
+ var attributesCount = 1;
201
+ var props = __assign(__assign({}, defaultProps), { attributesCount: attributesCount });
202
+ setUp({ props: props });
203
+ var renderers = react_2.screen.getAllByTestId('one-line-renderer');
204
+ expect(renderers).toHaveLength(1);
205
+ expect(renderers[0]).toHaveTextContent('Name');
206
+ expect(renderers[0]).toHaveTextContent('name value');
207
+ react_2.screen.getByText('Show more');
230
208
  });
231
- it('should not render FacetViewHeader if caption empty', function () {
232
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, defaultProps, { caption: '' })));
233
- var basicView = component.find(BasicView_1.BasicView);
234
- expect(basicView.length).toBe(1);
235
- var attributesList = basicView.find(ReadOnlyAttributesList_1.ReadOnlyAttributesList);
236
- expect(attributesList.length).toBe(1);
237
- var viewHeader = component.find(FacetViewHeader_1.FacetViewHeader);
238
- expect(viewHeader.length).toBe(0);
239
- expect(attributesList.prop('entity')).toBe(entity);
240
- expect(attributesList.prop('attrTypes')).toEqual(__spreadArray(__spreadArray(__spreadArray([], metadata.entityTypes[0].attributes, true), metadata.entityTypes[0].analyticsAttributes, true), specialAttrTypes, true));
241
- expect(attributesList.prop('parentUri')).toBe(entity.uri);
242
- expect(attributesList.prop('drawLines')).toBe(false);
209
+ it('should not render facet view header if caption empty', function () {
210
+ var props = __assign(__assign({}, defaultProps), { caption: '' });
211
+ setUp({ props: props });
212
+ expect(react_2.screen.queryByTestId('facet-view-header')).not.toBeInTheDocument();
243
213
  });
244
214
  it("should render component and set correct pivotingAttributes to context's provider", function () {
245
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, defaultProps, { caption: '' })));
246
- var provider = component.find(PivotingAttributeContext_1.PivotingAttributeContext.Provider);
247
- expect(provider.prop('value')).toEqual(pivotingAttributes);
215
+ var pivotingAttributes = [{ uri: 'configuration/entityTypes/HCP/attributes/Name' }];
216
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { pivotingAttributes: pivotingAttributes });
217
+ setUp({ mdmValues: mdmValues });
218
+ var renderers = react_2.screen.getAllByTestId('one-line-renderer');
219
+ expect(renderers).toHaveLength(2);
220
+ (0, react_2.within)(renderers[0]).getByTestId('SvgPivotingIcon');
221
+ expect((0, react_2.within)(renderers[1]).queryByTestId('SvgPivotingIcon')).not.toBeInTheDocument();
248
222
  });
249
- describe('rule based attributes', function () {
250
- var metadata = {
251
- entityTypes: [
252
- {
253
- uri: 'configuration/entityTypes/HCP',
254
- attributes: [
255
- {
256
- name: 'Category1',
257
- type: 'String',
258
- uri: 'configuration/entityTypes/HCP/attributes/Category1'
259
- },
260
- {
261
- name: 'Category2',
262
- type: 'String',
263
- uri: 'configuration/entityTypes/HCP/attributes/Category2'
264
- },
265
- {
266
- name: 'Category3',
267
- type: 'String',
268
- uri: 'configuration/entityTypes/HCP/attributes/Category3'
269
- },
270
- {
271
- name: 'Category4',
272
- type: 'String',
273
- uri: 'configuration/entityTypes/HCP/attributes/Category4'
274
- },
275
- {
276
- name: 'Nested1',
277
- label: 'Nested1',
278
- type: 'Nested',
279
- uri: 'configuration/entityTypes/HCP/attributes/Nested1',
280
- attributes: [
281
- {
282
- name: 'NestedCategory1',
283
- type: 'String',
284
- uri: 'configuration/entityTypes/HCP/attributes/Nested1/attributes/NestedCategory1'
285
- },
223
+ it('should hide attributes correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
224
+ var hiddenAttributes, entity, props, user;
225
+ return __generator(this, function (_a) {
226
+ switch (_a.label) {
227
+ case 0:
228
+ hiddenAttributes = {
229
+ 'entities/uri_e': [
230
+ 'configuration/entityTypes/HCP/attributes/Name',
231
+ 'configuration/entityTypes/HCP/attributes/Complex/attributes/FirstName'
232
+ ]
233
+ };
234
+ entity = __assign(__assign({}, defaultEntity), { attributes: {
235
+ Name: [{ uri: 'entities/uri_e/attributes/uri1', value: 'name value' }],
236
+ Category: [{ uri: 'entities/uri_e/attributes/uri2', value: 'category value' }],
237
+ Complex: [
286
238
  {
287
- name: 'NestedCategory2',
288
- type: 'String',
289
- uri: 'configuration/entityTypes/HCP/attributes/Nested1/attributes/NestedCategory2'
239
+ uri: 'entities/uri_e/attributes/Complex/nesteduri1',
240
+ value: {
241
+ FirstName: [
242
+ {
243
+ ov: true,
244
+ uri: 'entities/uri_e/attributes/Complex/uri3/FirstName/nesteduri1',
245
+ value: 'nested first name value'
246
+ }
247
+ ],
248
+ LastName: [
249
+ {
250
+ ov: true,
251
+ uri: 'entities/uri_e/attributes/Complex/uri3/LastName/nesteduri1',
252
+ value: 'nested last name value'
253
+ }
254
+ ]
255
+ }
290
256
  }
291
257
  ]
292
- }
293
- ]
294
- }
295
- ]
296
- };
297
- var setUp = function (props, hiddenAttributes) {
298
- var user = user_event_1.default.setup();
299
- var Providers = function (_a) {
300
- var children = _a.children;
301
- return (react_1.default.createElement(HiddenAttributesContext_1.HiddenAttributesContext.Provider, { value: hiddenAttributes }, children));
302
- };
303
- return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(ReadOnlyAttributesView_1.ReadOnlyAttributesView, __assign({}, props)), { wrapper: Providers })), { user: user });
304
- };
305
- beforeAll(function () {
306
- MdmModuleContext_1.useMdmMetadata.mockReturnValue(metadata);
307
- });
308
- it('should hide attributes', function () {
309
- var entity = {
310
- type: 'configuration/entityTypes/HCP',
311
- uri: 'entities/uri_e',
312
- attributes: {
313
- Category1: [
314
- {
315
- uri: 'entities/uri_e/attributes/uri1',
316
- value: 'category1_value1'
317
- }
318
- ],
319
- Category2: [
320
- {
321
- uri: 'entities/uri_e/attributes/uri2',
322
- value: 'category2_value1'
323
- }
324
- ],
325
- Category3: [
326
- {
327
- uri: 'entities/uri_e/attributes/uri3',
328
- value: 'category3_value1'
329
- }
330
- ],
331
- Category4: [
332
- {
333
- uri: 'entities/uri_e/attributes/uri4',
334
- value: 'category4_value1'
335
- }
336
- ]
337
- }
338
- };
339
- var hiddenAttributes = {
340
- 'entities/uri_e': [
341
- 'configuration/entityTypes/HCP/attributes/Category2',
342
- 'configuration/entityTypes/HCP/attributes/Category3',
343
- 'configuration/entityTypes/HCP/attributes/Category4'
344
- ]
345
- };
346
- setUp({ entity: entity }, hiddenAttributes);
347
- expect(react_2.screen.getByText('category1_value1')).toBeInTheDocument();
348
- expect(react_2.screen.queryByText('category2_value1')).not.toBeInTheDocument();
349
- expect(react_2.screen.queryByText('category3_value1')).not.toBeInTheDocument();
350
- expect(react_2.screen.queryByText('category4_value1')).not.toBeInTheDocument();
258
+ } });
259
+ props = { entity: entity };
260
+ user = setUp({ props: props, hiddenAttributes: hiddenAttributes }).user;
261
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
262
+ case 1:
263
+ _a.sent();
264
+ react_2.screen.getByText('nested last name value');
265
+ react_2.screen.getByText('category value');
266
+ react_2.screen.getByText('analytics name value');
267
+ expect(react_2.screen.queryByText('nested first name value')).not.toBeInTheDocument();
268
+ expect(react_2.screen.queryByText('name value')).not.toBeInTheDocument();
269
+ return [2 /*return*/];
270
+ }
351
271
  });
352
- it('should hide nested attributes', function () { return __awaiter(void 0, void 0, void 0, function () {
353
- var entity, hiddenAttributes, user;
354
- return __generator(this, function (_a) {
355
- switch (_a.label) {
356
- case 0:
357
- entity = {
358
- type: 'configuration/entityTypes/HCP',
359
- uri: 'entities/uri_e',
360
- attributes: {
361
- Nested1: [
362
- {
363
- uri: 'entities/uri_e/attributes/nesteduri1',
364
- value: {
365
- NestedCategory1: [
366
- {
367
- ov: true,
368
- uri: 'entities/uri_e/attributes/nesteduri1/attributes/nestedcaturi1',
369
- value: 'nested_category1_value'
370
- }
371
- ],
372
- NestedCategory2: [
373
- {
374
- ov: true,
375
- uri: 'entities/uri_e/attributes/nesteduri1/attributes/nestedcaturi2',
376
- value: 'nested_category2_value1'
377
- }
378
- ]
379
- }
380
- }
381
- ]
382
- }
383
- };
384
- hiddenAttributes = {
385
- 'entities/uri_e': ['configuration/entityTypes/HCP/attributes/Nested1/attributes/NestedCategory2']
386
- };
387
- user = setUp({ entity: entity }, hiddenAttributes).user;
388
- return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
389
- case 1:
390
- _a.sent();
391
- expect(react_2.screen.getByText('nested_category1_value')).toBeInTheDocument();
392
- expect(react_2.screen.queryByText('nested_category2_value1')).not.toBeInTheDocument();
393
- return [2 /*return*/];
394
- }
395
- });
396
- }); });
397
- });
272
+ }); });
398
273
  });