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