@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,101 +1,94 @@
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
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
17
  var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
18
+ var react_2 = require("@testing-library/react");
8
19
  var QueryBuilderRow_1 = __importDefault(require("./QueryBuilderRow"));
9
- var ReadOnlyLogicOperator_1 = require("./components/ReadOnlyLogicOperator");
10
- var ReadOnlyFilter_1 = require("./components/ReadOnlyFilter");
11
- describe('QueryBuilderRow tests', function () {
12
- var LogicOperatorComponent = function () { return react_1.default.createElement("div", null, "Logic Operator Component"); };
13
- var AttributeSelectorComponent = function () { return react_1.default.createElement("div", null, "Attribute Selector Component"); };
14
- var FilterSelectorComponent = function () { return react_1.default.createElement("div", null, "Filter Selector Component"); };
15
- var ValuesEditorComponent = function () { return react_1.default.createElement("div", null, "Values Editor Component"); };
16
- var ActionsComponent = function () { return react_1.default.createElement("div", null, "Actions Component"); };
17
- it('should render provided row components', function () {
18
- var rowData = {
19
- data: {},
20
- operator: 'and',
21
- filter: 'not equals',
22
- id: 'nanoid1'
23
- };
24
- var prevRowData = {
25
- data: { a: 2 },
26
- operator: 'or',
27
- filter: 'equals',
28
- id: 'nanoid0'
29
- };
30
- var classes = {
31
- root: 'rootClass',
32
- logicOperatorContainer: 'logicOperatorContainerClass',
33
- attributeSelectorContainer: 'attributeSelectorContainerClass',
34
- filterSelectorContainer: 'filterSelectorContainerClass',
35
- valuesEditorContainer: 'valuesEditorContainerClass',
36
- actionsContainer: 'actionsContainerClass'
37
- };
38
- var someRowContextProp = '123';
39
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(QueryBuilderRow_1.default, { classes: classes, rowData: rowData, previousRowData: prevRowData, LogicOperatorComponent: LogicOperatorComponent, AttributeSelectorComponent: AttributeSelectorComponent, FilterSelectorComponent: FilterSelectorComponent, ValuesEditorComponent: ValuesEditorComponent, ActionsComponent: ActionsComponent, someRowContextProp: someRowContextProp }));
40
- var container = component.find('.row');
41
- expect(container.prop('className')).toContain(classes.root);
42
- var logicOperator = component.find(LogicOperatorComponent);
43
- expect(logicOperator.length).toBe(1);
44
- expect(logicOperator.prop('className')).toBe(classes.logicOperatorContainer);
45
- expect(logicOperator.prop('rowData')).toBe(prevRowData);
46
- expect(logicOperator.prop('rowContext')).toEqual({ someRowContextProp: someRowContextProp });
47
- var attributeSelector = component.find(AttributeSelectorComponent);
48
- expect(attributeSelector.length).toBe(1);
49
- expect(attributeSelector.prop('rowData')).toBe(rowData);
50
- expect(attributeSelector.prop('rowContext')).toEqual({ someRowContextProp: someRowContextProp });
51
- var filterSelector = component.find(FilterSelectorComponent);
52
- expect(filterSelector.length).toBe(1);
53
- expect(filterSelector.prop('rowData')).toBe(rowData);
54
- expect(filterSelector.prop('rowContext')).toEqual({ someRowContextProp: someRowContextProp });
55
- var valuesEditor = component.find(ValuesEditorComponent);
56
- expect(valuesEditor.length).toBe(1);
57
- expect(valuesEditor.prop('rowData')).toBe(rowData);
58
- expect(valuesEditor.prop('rowContext')).toEqual({ someRowContextProp: someRowContextProp });
59
- var actions = component.find(ActionsComponent);
60
- expect(actions.length).toBe(1);
61
- expect(actions.prop('rowData')).toBe(rowData);
62
- expect(actions.prop('rowContext')).toEqual({ someRowContextProp: someRowContextProp });
63
- expect(component.find('.hidden').find(ActionsComponent).length).toBe(0);
64
- var rowItems = component.find('.rowItem');
65
- expect(rowItems.length).toBe(4);
66
- expect(rowItems.at(0).prop('className')).toContain(classes.attributeSelectorContainer);
67
- expect(rowItems.at(1).prop('className')).toContain(classes.filterSelectorContainer);
68
- expect(rowItems.at(2).prop('className')).toContain(classes.valuesEditorContainer);
69
- expect(rowItems.at(3).prop('className')).toContain(classes.actionsContainer);
20
+ var LogicOperatorComponent = function () { return react_1.default.createElement("div", null, "Logic Operator Component"); };
21
+ var AttributeSelectorComponent = function () { return react_1.default.createElement("div", null, "Attribute Selector Component"); };
22
+ var FilterSelectorComponent = function () { return react_1.default.createElement("div", null, "Filter Selector Component"); };
23
+ var ValuesEditorComponent = function () { return react_1.default.createElement("div", null, "Values Editor Component"); };
24
+ var ActionsComponent = function () { return react_1.default.createElement("div", null, "Actions Component"); };
25
+ var rowData = { data: {}, operator: 'and', filter: 'not equals', id: 'nanoid1' };
26
+ var previousRowData = { data: { a: 2 }, operator: 'or', filter: 'equals', id: 'nanoid0' };
27
+ var classes = {
28
+ root: 'root',
29
+ logicOperatorContainer: 'logicOperatorContainer',
30
+ attributeSelectorContainer: 'attributeSelectorContainer',
31
+ filterSelectorContainer: 'filterSelectorContainer',
32
+ valuesEditorContainer: 'valuesEditorContainer',
33
+ actionsContainer: 'actionsContainer'
34
+ };
35
+ var defaultProps = {
36
+ rowData: rowData,
37
+ previousRowData: previousRowData,
38
+ filterSelectorRef: react_1.default.createRef(),
39
+ classes: classes,
40
+ LogicOperatorComponent: LogicOperatorComponent,
41
+ AttributeSelectorComponent: AttributeSelectorComponent,
42
+ FilterSelectorComponent: FilterSelectorComponent,
43
+ ValuesEditorComponent: ValuesEditorComponent,
44
+ ActionsComponent: ActionsComponent
45
+ };
46
+ var setUp = function (props) {
47
+ if (props === void 0) { props = defaultProps; }
48
+ return (0, react_2.render)(react_1.default.createElement(QueryBuilderRow_1.default, __assign({}, props)));
49
+ };
50
+ describe('Query builder row tests', function () {
51
+ it('should render provided row components correctly', function () {
52
+ setUp();
53
+ var row = react_2.screen.getByTestId('query-builder-row');
54
+ expect(row).toHaveClass('root');
55
+ expect(row).toHaveTextContent('Logic Operator Component');
56
+ var attributeSelector = react_2.screen.getByTestId('query-builder-row-attribute-selector');
57
+ expect(attributeSelector).toHaveClass('attributeSelectorContainer');
58
+ expect(attributeSelector).toHaveTextContent('Attribute Selector Component');
59
+ var filterSelector = react_2.screen.getByTestId('query-builder-row-filter-selector');
60
+ expect(filterSelector).toHaveClass('filterSelectorContainer');
61
+ expect(filterSelector).toHaveTextContent('Filter Selector Component');
62
+ var valuesEditor = react_2.screen.getByTestId('query-builder-row-values-editor');
63
+ expect(valuesEditor).toHaveClass('valuesEditorContainer');
64
+ expect(valuesEditor).toHaveTextContent('Values Editor Component');
65
+ var actions = react_2.screen.getByTestId('query-builder-row-actions');
66
+ expect(actions).toHaveClass('actionsContainer');
67
+ expect(actions).toHaveTextContent('Actions Component');
68
+ });
69
+ it('should render actions as hidden if rowData is not provided', function () {
70
+ var props = __assign(__assign({}, defaultProps), { rowData: undefined });
71
+ setUp(props);
72
+ expect(react_2.screen.getByTestId('query-builder-row-actions')).toHaveClass('hidden');
73
+ });
74
+ it('should render read only filter correctly if FilterSelectorComponent are not provided', function () {
75
+ var props = __assign(__assign({}, defaultProps), { FilterSelectorComponent: undefined });
76
+ setUp(props);
77
+ expect(react_2.screen.getByTestId('query-builder-row-filter-selector')).toHaveTextContent('not');
78
+ });
79
+ it('should render read only filter correctly if FilterSelectorComponent and rowData are not provided', function () {
80
+ var props = __assign(__assign({}, defaultProps), { FilterSelectorComponent: undefined, rowData: undefined });
81
+ setUp(props);
82
+ expect(react_2.screen.getByTestId('query-builder-row-filter-selector')).toHaveTextContent('equals');
70
83
  });
71
- it('should render ReadOnlyFilter and ReadOnlyFilter by default if LogicOperatorComponent and FilterSelectorComponent are not provided', function () {
72
- var rowData = {
73
- data: {},
74
- operator: 'and',
75
- filter: 'not equals',
76
- id: 'nanoid1'
77
- };
78
- var prevRowData = {
79
- data: { a: 2 },
80
- operator: 'or',
81
- filter: 'equals',
82
- id: 'nanoid0'
83
- };
84
- var someRowContextProp = '123';
85
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(QueryBuilderRow_1.default, { rowData: rowData, previousRowData: prevRowData, AttributeSelectorComponent: AttributeSelectorComponent, ValuesEditorComponent: ValuesEditorComponent, ActionsComponent: ActionsComponent, someRowContextProp: someRowContextProp }));
86
- expect(component.find(ReadOnlyLogicOperator_1.ReadOnlyLogicOperator).length).toBe(1);
87
- expect(component.find(AttributeSelectorComponent).length).toBe(1);
88
- expect(component.find(ReadOnlyFilter_1.ReadOnlyFilter).length).toBe(1);
89
- expect(component.find(ValuesEditorComponent).length).toBe(1);
90
- expect(component.find(ActionsComponent).length).toBe(1);
84
+ it('should render read only logic operator correctly if LogicOperatorComponent are not provided', function () {
85
+ var props = __assign(__assign({}, defaultProps), { LogicOperatorComponent: undefined });
86
+ setUp(props);
87
+ expect(react_2.screen.getByTestId('query-builder-row')).toHaveTextContent('Or');
91
88
  });
92
- it('should render ActionsComponent as hidden if rowData is not provided', function () {
93
- var someRowContextProp = '123';
94
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(QueryBuilderRow_1.default, { LogicOperatorComponent: LogicOperatorComponent, AttributeSelectorComponent: AttributeSelectorComponent, FilterSelectorComponent: FilterSelectorComponent, ValuesEditorComponent: ValuesEditorComponent, ActionsComponent: ActionsComponent, someRowContextProp: someRowContextProp }));
95
- expect(component.find(LogicOperatorComponent).length).toBe(1);
96
- expect(component.find(AttributeSelectorComponent).length).toBe(1);
97
- expect(component.find(FilterSelectorComponent).length).toBe(1);
98
- expect(component.find(ValuesEditorComponent).length).toBe(1);
99
- expect(component.find('.hidden').find(ActionsComponent).length).toBe(1);
89
+ it('should render read only logic operator correctly if LogicOperatorComponent and previousRowData are not provided', function () {
90
+ var props = __assign(__assign({}, defaultProps), { LogicOperatorComponent: undefined, previousRowData: undefined });
91
+ setUp(props);
92
+ expect(react_2.screen.getByTestId('query-builder-row')).toHaveTextContent('Where');
100
93
  });
101
94
  });
@@ -1,104 +1,213 @@
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"));
56
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
8
57
  var QueryBuilderRowsGroup_1 = __importDefault(require("./QueryBuilderRowsGroup"));
9
- var QueryBuilderRow_1 = require("../QueryBuilderRow");
10
- describe('QueryBuilderRowsGroup tests', function () {
58
+ var defaultProps = {
59
+ rowsData: [],
60
+ AttributeSelectorComponent: function (_a) {
61
+ var attributeSelectorProps = _a.attributeSelectorProps;
62
+ return (react_1.default.createElement("div", { onClick: attributeSelectorProps.onOpen }, "Attribute selector"));
63
+ },
64
+ FilterSelectorComponent: function (_a) {
65
+ var textFieldInputRef = _a.textFieldInputRef;
66
+ return (react_1.default.createElement("div", { ref: textFieldInputRef }, "Filter selector"));
67
+ },
68
+ ActionsComponent: function () { return react_1.default.createElement("div", null, "Actions"); },
69
+ ValuesEditorComponent: function () { return react_1.default.createElement("div", null, "Values editor"); }
70
+ };
71
+ var setUp = function (props) {
72
+ if (props === void 0) { props = defaultProps; }
73
+ var user = user_event_1.default.setup();
74
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(QueryBuilderRowsGroup_1.default, __assign({}, props)))), { user: user });
75
+ };
76
+ describe('Query builder rows group tests', function () {
11
77
  it('should render empty row by default', function () {
12
- var rowsData = [];
13
- var someRowContextProp = '123';
14
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(QueryBuilderRowsGroup_1.default, { rowsData: rowsData, someRowContextProp: someRowContextProp }));
15
- var queryBuilderRow = component.find(QueryBuilderRow_1.QueryBuilderRow);
16
- expect(queryBuilderRow.length).toBe(1);
17
- expect(queryBuilderRow.prop('rowData')).toBe(null);
18
- expect(queryBuilderRow.prop('previousRowData')).toBe(null);
19
- expect(queryBuilderRow.prop('someRowContextProp')).toBe(someRowContextProp);
20
- });
21
- it('should render QueryBuilderRows with last empty row', function () {
22
- var rowsData = [
23
- {
24
- data: {},
25
- operator: 'and',
26
- filter: 'not equals',
27
- id: 'nanoid1'
28
- },
29
- {
30
- data: { a: 1 },
31
- operator: 'or',
32
- filter: 'not equals',
33
- id: 'nanoid2'
34
- }
35
- ];
36
- var someRowContextProp = '123';
37
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(QueryBuilderRowsGroup_1.default, { rowsData: rowsData, someRowContextProp: someRowContextProp }));
38
- var queryBuilderRow = component.find(QueryBuilderRow_1.QueryBuilderRow);
39
- expect(queryBuilderRow.length).toBe(3);
40
- expect(queryBuilderRow.at(0).prop('rowData')).toBe(rowsData[0]);
41
- expect(queryBuilderRow.at(0).prop('previousRowData')).toBe(null);
42
- expect(queryBuilderRow.at(0).prop('someRowContextProp')).toBe(someRowContextProp);
43
- expect(queryBuilderRow.at(1).prop('rowData')).toBe(rowsData[1]);
44
- expect(queryBuilderRow.at(1).prop('previousRowData')).toBe(rowsData[0]);
45
- expect(queryBuilderRow.at(1).prop('someRowContextProp')).toBe(someRowContextProp);
46
- expect(queryBuilderRow.at(2).prop('rowData')).toBe(null);
47
- expect(queryBuilderRow.at(2).prop('previousRowData')).toBe(rowsData[1]);
48
- expect(queryBuilderRow.at(2).prop('someRowContextProp')).toBe(someRowContextProp);
78
+ setUp();
79
+ var rows = react_2.screen.getAllByTestId('query-builder-row');
80
+ expect(rows).toHaveLength(1);
81
+ (0, react_2.within)(rows[0]).getByText('Where');
82
+ (0, react_2.within)(rows[0]).getByText('Attribute selector');
83
+ (0, react_2.within)(rows[0]).getByText('Filter selector');
84
+ (0, react_2.within)(rows[0]).getByText('Values editor');
85
+ (0, react_2.within)(rows[0]).getByText('Actions');
49
86
  });
50
- it('should take into account lastRowAttributeSelectorProps, filterSelectorRef and filterSelectorRefIndex props', function () {
51
- var rowsData = [
52
- {
53
- data: {},
54
- operator: 'and',
55
- filter: 'not equals',
56
- id: 'nanoid1'
87
+ it('should render rows correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
88
+ var rowsData, props, user, rows;
89
+ return __generator(this, function (_a) {
90
+ switch (_a.label) {
91
+ case 0:
92
+ rowsData = [
93
+ {
94
+ data: {
95
+ title: 'Int',
96
+ pathToTitle: ['HCP', 'Int'],
97
+ fieldName: 'attributes.Int',
98
+ entityTypeUri: 'configuration/entityTypes/HCP',
99
+ attrType: {
100
+ label: 'Int',
101
+ name: 'Int',
102
+ type: 'Int',
103
+ uri: 'configuration/entityTypes/HCP/attributes/Int'
104
+ },
105
+ uri: 'configuration/entityTypes/HCP/attributes/Int',
106
+ groupName: 'HCP',
107
+ filterOptions: []
108
+ },
109
+ operator: mdm_sdk_1.SearchOperator.and,
110
+ filter: 'equals',
111
+ id: 'iARTfv_ha1wUvzVFBDIPn',
112
+ values: [['300']]
113
+ },
114
+ {
115
+ data: {
116
+ title: 'First Name',
117
+ pathToTitle: ['HCP', 'First Name'],
118
+ fieldName: 'attributes.FirstName',
119
+ entityTypeUri: 'configuration/entityTypes/HCP',
120
+ attrType: {
121
+ label: 'First Name',
122
+ name: 'FirstName',
123
+ type: 'String',
124
+ uri: 'configuration/entityTypes/HCP/attributes/FirstName'
125
+ },
126
+ uri: 'configuration/entityTypes/HCP/attributes/FirstName',
127
+ groupName: 'HCP',
128
+ filterOptions: []
129
+ },
130
+ operator: mdm_sdk_1.SearchOperator.or,
131
+ filter: 'exists',
132
+ id: 'FY1Giy6DsSu1flgQ3cqSK',
133
+ values: []
134
+ }
135
+ ];
136
+ props = __assign(__assign({}, defaultProps), { rowsData: rowsData, filterSelectorRef: react_1.default.createRef(), filterSelectorRefIndex: 1, lastRowAttributeSelectorProps: { onOpen: jest.fn() } });
137
+ user = setUp(props).user;
138
+ rows = react_2.screen.getAllByTestId('query-builder-row');
139
+ expect(rows).toHaveLength(3);
140
+ (0, react_2.within)(rows[0]).getByText('Where');
141
+ (0, react_2.within)(rows[0]).getByText('Attribute selector');
142
+ (0, react_2.within)(rows[0]).getByText('Values editor');
143
+ (0, react_2.within)(rows[0]).getByText('Actions');
144
+ expect((0, react_2.within)(rows[0]).getByText('Filter selector')).not.toBe(props.filterSelectorRef.current);
145
+ return [4 /*yield*/, user.click((0, react_2.within)(rows[0]).getByText('Attribute selector'))];
146
+ case 1:
147
+ _a.sent();
148
+ expect(props.lastRowAttributeSelectorProps.onOpen).not.toHaveBeenCalled();
149
+ (0, react_2.within)(rows[1]).getByText('And');
150
+ (0, react_2.within)(rows[1]).getByText('Attribute selector');
151
+ (0, react_2.within)(rows[1]).getByText('Values editor');
152
+ (0, react_2.within)(rows[1]).getByText('Actions');
153
+ expect((0, react_2.within)(rows[1]).getByText('Filter selector')).toBe(props.filterSelectorRef.current);
154
+ return [4 /*yield*/, user.click((0, react_2.within)(rows[1]).getByText('Attribute selector'))];
155
+ case 2:
156
+ _a.sent();
157
+ expect(props.lastRowAttributeSelectorProps.onOpen).not.toHaveBeenCalled();
158
+ (0, react_2.within)(rows[2]).getByText('Or');
159
+ (0, react_2.within)(rows[2]).getByText('Attribute selector');
160
+ (0, react_2.within)(rows[2]).getByText('Values editor');
161
+ (0, react_2.within)(rows[2]).getByText('Actions');
162
+ expect((0, react_2.within)(rows[2]).getByText('Filter selector')).not.toBe(props.filterSelectorRef.current);
163
+ return [4 /*yield*/, user.click((0, react_2.within)(rows[2]).getByText('Attribute selector'))];
164
+ case 3:
165
+ _a.sent();
166
+ expect(props.lastRowAttributeSelectorProps.onOpen).toHaveBeenCalled();
167
+ return [2 /*return*/];
57
168
  }
58
- ];
59
- var lastRowAttributeSelectorProps = {
60
- onFocus: jest.fn()
61
- };
62
- var filterSelectorRef = { b: 42 };
63
- var filterSelectorRefIndex = 1;
64
- var someRowContextProp = '123';
65
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(QueryBuilderRowsGroup_1.default, { rowsData: rowsData, someRowContextProp: someRowContextProp, lastRowAttributeSelectorProps: lastRowAttributeSelectorProps, filterSelectorRef: filterSelectorRef, filterSelectorRefIndex: filterSelectorRefIndex }));
66
- var queryBuilderRow = component.find(QueryBuilderRow_1.QueryBuilderRow);
67
- expect(queryBuilderRow.length).toBe(2);
68
- expect(queryBuilderRow.at(0).prop('rowData')).toBe(rowsData[0]);
69
- expect(queryBuilderRow.at(0).prop('previousRowData')).toBe(null);
70
- expect(queryBuilderRow.at(0).prop('someRowContextProp')).toBe(someRowContextProp);
71
- expect(queryBuilderRow.at(0).prop('attributeSelectorProps')).toBe(undefined);
72
- expect(queryBuilderRow.at(0).prop('filterSelectorRef')).toBe(undefined);
73
- expect(queryBuilderRow.at(1).prop('rowData')).toBe(null);
74
- expect(queryBuilderRow.at(1).prop('previousRowData')).toBe(rowsData[0]);
75
- expect(queryBuilderRow.at(1).prop('someRowContextProp')).toBe(someRowContextProp);
76
- expect(queryBuilderRow.at(1).prop('attributeSelectorProps')).toBe(lastRowAttributeSelectorProps);
77
- expect(queryBuilderRow.at(1).prop('filterSelectorRef')).toBe(filterSelectorRef);
78
- });
79
- it('should provide rowClasses to QueryBuilderRows', function () {
169
+ });
170
+ }); });
171
+ it('should provide rowClasses to query builder rows', function () {
80
172
  var rowsData = [
81
173
  {
82
- data: {},
83
- operator: 'and',
84
- filter: 'not equals',
85
- id: 'nanoid1'
174
+ data: {
175
+ title: 'Int',
176
+ pathToTitle: ['HCP', 'Int'],
177
+ fieldName: 'attributes.Int',
178
+ entityTypeUri: 'configuration/entityTypes/HCP',
179
+ attrType: {
180
+ label: 'Int',
181
+ name: 'Int',
182
+ type: 'Int',
183
+ uri: 'configuration/entityTypes/HCP/attributes/Int'
184
+ },
185
+ uri: 'configuration/entityTypes/HCP/attributes/Int',
186
+ groupName: 'HCP',
187
+ filterOptions: []
188
+ },
189
+ operator: mdm_sdk_1.SearchOperator.and,
190
+ filter: 'equals',
191
+ id: 'iARTfv_ha1wUvzVFBDIPn',
192
+ values: [['300']]
86
193
  }
87
194
  ];
88
195
  var rowClasses = {
89
- root: 'rootClass',
90
- logicOperatorContainer: 'logicOperatorContainerClass',
91
- attributeSelectorContainer: 'attributeSelectorContainerClass',
92
- filterSelectorContainer: 'filterSelectorContainerClass',
93
- valuesEditorContainer: 'valuesEditorContainerClass',
94
- actionsContainer: 'actionsContainerClass'
196
+ root: 'root',
197
+ logicOperatorContainer: 'logicOperatorContainer',
198
+ attributeSelectorContainer: 'attributeSelectorContainer',
199
+ filterSelectorContainer: 'filterSelectorContainer',
200
+ valuesEditorContainer: 'valuesEditorContainer',
201
+ actionsContainer: 'actionsContainer'
95
202
  };
96
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(QueryBuilderRowsGroup_1.default, { rowsData: rowsData, rowClasses: rowClasses }));
97
- var queryBuilderRow = component.find(QueryBuilderRow_1.QueryBuilderRow);
98
- expect(queryBuilderRow.length).toBe(2);
99
- expect(queryBuilderRow.at(0).prop('rowData')).toBe(rowsData[0]);
100
- expect(queryBuilderRow.at(0).prop('classes')).toBe(rowClasses);
101
- expect(queryBuilderRow.at(1).prop('rowData')).toBe(null);
102
- expect(queryBuilderRow.at(1).prop('classes')).toBe(rowClasses);
203
+ var props = __assign(__assign({}, defaultProps), { rowsData: rowsData, rowClasses: rowClasses });
204
+ setUp(props);
205
+ var row = react_2.screen.getAllByTestId('query-builder-row')[0];
206
+ expect(row).toHaveClass('root');
207
+ expect((0, react_2.within)(row).getByText('Where')).toHaveClass('logicOperatorContainer');
208
+ expect((0, react_2.within)(row).getByTestId('query-builder-row-attribute-selector')).toHaveClass('attributeSelectorContainer');
209
+ expect((0, react_2.within)(row).getByTestId('query-builder-row-filter-selector')).toHaveClass('filterSelectorContainer');
210
+ expect((0, react_2.within)(row).getByTestId('query-builder-row-values-editor')).toHaveClass('valuesEditorContainer');
211
+ expect((0, react_2.within)(row).getByTestId('query-builder-row-actions')).toHaveClass('actionsContainer');
103
212
  });
104
213
  });
@@ -1,25 +1,83 @@
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 Button_1 = __importDefault(require("@mui/material/Button"));
9
- var CircularProgress_1 = __importDefault(require("@mui/material/CircularProgress"));
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
10
56
  var ReactSelectLoadMoreButton_1 = require("./ReactSelectLoadMoreButton");
11
- describe('ReactSelectLoadMoreButton tests', function () {
12
- var onClick = jest.fn();
13
- it('should render default as well', function () {
14
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReactSelectLoadMoreButton_1.ReactSelectLoadMoreButton, { loading: false, onClick: onClick }));
15
- expect(component.find(Button_1.default).prop('color')).toEqual('primary');
16
- expect(component.find(Button_1.default).text()).toEqual('Load more');
17
- var event = {};
18
- component.find(Button_1.default).prop('onClick')(event);
19
- expect(onClick).toHaveBeenCalled();
20
- });
57
+ var defaultProps = { loading: false, onClick: jest.fn(), onMouseDown: jest.fn() };
58
+ var setUp = function (props) {
59
+ if (props === void 0) { props = defaultProps; }
60
+ var user = user_event_1.default.setup();
61
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(ReactSelectLoadMoreButton_1.ReactSelectLoadMoreButton, __assign({}, props)))), { user: user });
62
+ };
63
+ describe('React select load more button tests', function () {
64
+ it('should render default as well', function () { return __awaiter(void 0, void 0, void 0, function () {
65
+ var user;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ user = setUp().user;
70
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Load more'))];
71
+ case 1:
72
+ _a.sent();
73
+ expect(defaultProps.onMouseDown).toHaveBeenCalled();
74
+ expect(defaultProps.onClick).toHaveBeenCalled();
75
+ return [2 /*return*/];
76
+ }
77
+ });
78
+ }); });
21
79
  it('should render loading state', function () {
22
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ReactSelectLoadMoreButton_1.ReactSelectLoadMoreButton, { loading: true, onClick: onClick }));
23
- expect(component.find(CircularProgress_1.default).exists()).toBeTruthy();
80
+ setUp(__assign(__assign({}, defaultProps), { loading: true }));
81
+ react_2.screen.getByRole('progressbar');
24
82
  });
25
83
  });