@reltio/components 1.4.2071 → 1.4.2073

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 (196) hide show
  1. package/AttributesView/AttributesView.js +1 -1
  2. package/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -3
  3. package/ColumnsSettings/helpers.d.ts +3 -1
  4. package/ColumnsSettings/types.d.ts +8 -0
  5. package/CommentsContainer/CommentsContainer.js +1 -1
  6. package/ConfigureColumnsPopup/ConfigureColumnsPopup.d.ts +23 -40
  7. package/ConfigureColumnsPopup/ConfigureColumnsPopup.js +6 -26
  8. package/EditModeAttributesList/EditModeAttributesList.js +1 -1
  9. package/EditModeAttributesPager/EditModeAttributesPager.test.js +1 -1
  10. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +1 -1
  11. package/MetadataTypesSelector/MetadataTypesSelector.d.ts +2 -1
  12. package/MetadataTypesSelector/components/SelectMetadataTypesList/SelectMetadataTypesList.d.ts +5 -6
  13. package/MoreAttributesButton/useMoreAttributesItems.d.ts +1 -1
  14. package/ReadOnlyAttributesList/ReadOnlyAttributesList.js +1 -1
  15. package/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +1 -1
  16. package/ReadOnlyAttributesView/ReadOnlyAttributesView.js +1 -1
  17. package/ScrollableTabs/ScrollableTabs.test.js +69 -19
  18. package/SearchHighlighter/SearchHighlighter.test.js +18 -7
  19. package/SelectAttributesList/SelectAttributesList.d.ts +11 -6
  20. package/SelectAttributesList/SelectAttributesList.js +5 -2
  21. package/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +109 -60
  22. package/SidePanelContentHeader/SidePanelContentHeader.js +2 -2
  23. package/SidePanelContentHeader/SidePanelContentHeader.test.js +104 -0
  24. package/SidePanelEmptyState/SidePanelEmptyState.js +1 -1
  25. package/SidePanelEmptyState/SidePanelEmptyState.test.js +24 -0
  26. package/SimpleAttribute/SimpleAttribute.js +1 -1
  27. package/SimpleAttribute/SimpleAttribute.test.js +155 -80
  28. package/SimpleAttributeEditor/SimpleAttributeEditor.test.js +339 -330
  29. package/SimpleAttributeEditor/useAttributeValuePermissions.js +1 -1
  30. package/SimpleDropDownSelector/SimpleDropDownSelector.test.js +86 -10
  31. package/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.js +1 -1
  32. package/SimpleDropDownSelector/components/DropDownValue/DropDownValue.js +1 -1
  33. package/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +128 -32
  34. package/SmallIconButton/SmallIconButton.test.js +98 -25
  35. package/TableWithBars/TableWithBars.test.js +98 -60
  36. package/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.js +1 -1
  37. package/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  38. package/Tags/Tags.d.ts +0 -1
  39. package/Tags/Tags.test.js +8 -7
  40. package/TransitiveMatchBlock/TransitiveMatchBlock.test.js +78 -22
  41. package/TransitiveMatchRule/TransitiveMatchRule.test.js +78 -37
  42. package/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.js +1 -1
  43. package/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.test.js +12 -18
  44. package/UploadFileButton/UploadFileButton.d.ts +2 -2
  45. package/UploadFileButton/UploadFileButton.test.js +199 -0
  46. package/UploadImageDialog/UploadImageDialog.test.js +1 -0
  47. package/UploadImageDialog/components/DividerWithText/DividerWithText.js +1 -1
  48. package/UploadImageDialog/components/ErrorSnackbar/ErrorSnackbar.test.js +80 -22
  49. package/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.js +1 -1
  50. package/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.test.js +162 -49
  51. package/ValueChip/ValueChip.test.js +7 -23
  52. package/VirtualGroupedList/VirtualGroupedList.d.ts +19 -31
  53. package/VirtualGroupedList/VirtualGroupedList.js +11 -36
  54. package/VirtualGroupedList/VirtualGroupedList.test.js +224 -0
  55. package/VirtualGroupedList/helpers.d.ts +7 -2
  56. package/VirtualGroupedList/helpers.js +3 -1
  57. package/VirtualGroupedList/index.d.ts +1 -1
  58. package/VirtualGroupedList/types.d.ts +10 -6
  59. package/VirtualGroupedList/useScrollToFocusItem.d.ts +8 -5
  60. package/WhiteSearchInput/{WhiteSearchInput.spec.js → WhiteSearchInput.test.js} +3 -8
  61. package/cjs/AttributesView/AttributesView.js +2 -2
  62. package/cjs/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -3
  63. package/cjs/ColumnsSettings/helpers.d.ts +3 -1
  64. package/cjs/ColumnsSettings/types.d.ts +8 -0
  65. package/cjs/ColumnsSettings/types.js +2 -0
  66. package/cjs/CommentsContainer/CommentsContainer.js +1 -1
  67. package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.d.ts +23 -40
  68. package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.js +6 -26
  69. package/cjs/EditModeAttributesList/EditModeAttributesList.js +2 -2
  70. package/cjs/EditModeAttributesPager/EditModeAttributesPager.test.js +2 -2
  71. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +2 -2
  72. package/cjs/MetadataTypesSelector/MetadataTypesSelector.d.ts +2 -1
  73. package/cjs/MetadataTypesSelector/components/SelectMetadataTypesList/SelectMetadataTypesList.d.ts +5 -6
  74. package/cjs/MoreAttributesButton/useMoreAttributesItems.d.ts +1 -1
  75. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.js +2 -2
  76. package/cjs/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +2 -2
  77. package/cjs/ReadOnlyAttributesView/ReadOnlyAttributesView.js +2 -2
  78. package/cjs/ScrollableTabs/ScrollableTabs.test.js +69 -19
  79. package/cjs/SearchHighlighter/SearchHighlighter.test.js +18 -7
  80. package/cjs/SelectAttributesList/SelectAttributesList.d.ts +11 -6
  81. package/cjs/SelectAttributesList/SelectAttributesList.js +5 -2
  82. package/cjs/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +109 -60
  83. package/cjs/SidePanelContentHeader/SidePanelContentHeader.js +2 -2
  84. package/cjs/SidePanelContentHeader/SidePanelContentHeader.test.js +109 -0
  85. package/cjs/SidePanelEmptyState/SidePanelEmptyState.js +1 -1
  86. package/cjs/SidePanelEmptyState/SidePanelEmptyState.test.js +29 -0
  87. package/cjs/SimpleAttribute/SimpleAttribute.js +1 -1
  88. package/cjs/SimpleAttribute/SimpleAttribute.test.js +155 -80
  89. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.test.js +338 -352
  90. package/cjs/SimpleAttributeEditor/useAttributeValuePermissions.js +2 -2
  91. package/cjs/SimpleDropDownSelector/SimpleDropDownSelector.test.js +86 -10
  92. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.js +1 -1
  93. package/cjs/SimpleDropDownSelector/components/DropDownValue/DropDownValue.js +1 -1
  94. package/cjs/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +127 -31
  95. package/cjs/SmallIconButton/SmallIconButton.test.js +98 -25
  96. package/cjs/TableWithBars/TableWithBars.test.js +98 -60
  97. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.js +1 -1
  98. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  99. package/cjs/Tags/Tags.d.ts +0 -1
  100. package/cjs/Tags/Tags.test.js +8 -7
  101. package/cjs/TransitiveMatchBlock/TransitiveMatchBlock.test.js +77 -21
  102. package/cjs/TransitiveMatchRule/TransitiveMatchRule.test.js +78 -37
  103. package/cjs/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.js +1 -1
  104. package/cjs/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.test.js +12 -18
  105. package/cjs/UploadFileButton/UploadFileButton.d.ts +2 -2
  106. package/cjs/UploadFileButton/UploadFileButton.test.js +204 -0
  107. package/cjs/UploadImageDialog/UploadImageDialog.test.js +1 -0
  108. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.js +1 -1
  109. package/cjs/UploadImageDialog/components/ErrorSnackbar/ErrorSnackbar.test.js +80 -22
  110. package/cjs/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.js +1 -1
  111. package/cjs/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.test.js +162 -49
  112. package/cjs/ValueChip/ValueChip.test.js +7 -23
  113. package/cjs/VirtualGroupedList/VirtualGroupedList.d.ts +19 -31
  114. package/cjs/VirtualGroupedList/VirtualGroupedList.js +11 -36
  115. package/cjs/VirtualGroupedList/VirtualGroupedList.test.js +252 -0
  116. package/cjs/VirtualGroupedList/helpers.d.ts +7 -2
  117. package/cjs/VirtualGroupedList/helpers.js +3 -1
  118. package/cjs/VirtualGroupedList/index.d.ts +1 -1
  119. package/cjs/VirtualGroupedList/types.d.ts +10 -6
  120. package/cjs/VirtualGroupedList/useScrollToFocusItem.d.ts +8 -5
  121. package/cjs/WhiteSearchInput/{WhiteSearchInput.spec.js → WhiteSearchInput.test.js} +3 -8
  122. package/cjs/features/activity-log/ActivitiesFactory/ActivitiesFactory.js +1 -0
  123. package/cjs/features/activity-log/ActivitiesFactory/ActivitiesFactory.test.js +5 -0
  124. package/cjs/features/activity-log/ActivityFilterEditor/helpers.js +2 -1
  125. package/cjs/features/activity-log/ActivityFilterEditor/helpers.test.js +3 -1
  126. package/cjs/features/activity-log/ActivityLogFilter/ActivityLogFilter.test.js +16 -15
  127. package/cjs/features/activity-log/types.d.ts +1 -0
  128. package/cjs/features/activity-log/types.js +1 -0
  129. package/cjs/features/activity-log/utils/activities.js +1 -0
  130. package/cjs/features/activity-log/utils/filters.js +5 -1
  131. package/cjs/features/activity-log/utils/filters.test.js +4 -2
  132. package/cjs/features/crosswalks/hooks/useAttributeActions.test.js +24 -25
  133. package/cjs/features/crosswalks/hooks/useCrosswalkActions.test.js +10 -11
  134. package/cjs/features/history/types.d.ts +1 -0
  135. package/cjs/features/workflow/hooks/useChangeRequest.test.js +5 -6
  136. package/cjs/hooks/useCommentsEntitiesMap/useCommentsEntitiesMap.test.js +8 -9
  137. package/cjs/hooks/useKeyboardNavigation/useKeyboardNavigation.d.ts +9 -13
  138. package/features/activity-log/ActivitiesFactory/ActivitiesFactory.js +1 -0
  139. package/features/activity-log/ActivitiesFactory/ActivitiesFactory.test.js +5 -0
  140. package/features/activity-log/ActivityFilterEditor/helpers.js +2 -1
  141. package/features/activity-log/ActivityFilterEditor/helpers.test.js +3 -1
  142. package/features/activity-log/ActivityLogFilter/ActivityLogFilter.test.js +16 -15
  143. package/features/activity-log/types.d.ts +1 -0
  144. package/features/activity-log/types.js +1 -0
  145. package/features/activity-log/utils/activities.js +1 -0
  146. package/features/activity-log/utils/filters.js +5 -1
  147. package/features/activity-log/utils/filters.test.js +4 -2
  148. package/features/crosswalks/hooks/useAttributeActions.test.js +1 -2
  149. package/features/crosswalks/hooks/useCrosswalkActions.test.js +1 -2
  150. package/features/history/types.d.ts +1 -0
  151. package/features/workflow/hooks/useChangeRequest.test.js +1 -2
  152. package/hooks/useCommentsEntitiesMap/useCommentsEntitiesMap.test.js +1 -2
  153. package/hooks/useKeyboardNavigation/useKeyboardNavigation.d.ts +9 -13
  154. package/package.json +1 -1
  155. package/SidePanelContentHeader/SidePanelContentHeader.spec.js +0 -49
  156. package/SidePanelEmptyState/SidePanelEmptyState.spec.js +0 -24
  157. package/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +0 -103
  158. package/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.js +0 -13
  159. package/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.js +0 -21
  160. package/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.js +0 -20
  161. package/UploadFileButton/UploadFileButton.spec.js +0 -219
  162. package/UploadImageDialog/components/DividerWithText/DividerWithText.test.js +0 -9
  163. package/VirtualGroupedList/VirtualGroupedList.spec.js +0 -282
  164. package/cjs/SidePanelContentHeader/SidePanelContentHeader.spec.js +0 -54
  165. package/cjs/SidePanelEmptyState/SidePanelEmptyState.spec.d.ts +0 -1
  166. package/cjs/SidePanelEmptyState/SidePanelEmptyState.spec.js +0 -29
  167. package/cjs/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.d.ts +0 -1
  168. package/cjs/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +0 -108
  169. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.d.ts +0 -1
  170. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.js +0 -18
  171. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.d.ts +0 -1
  172. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.js +0 -26
  173. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.d.ts +0 -1
  174. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.js +0 -25
  175. package/cjs/UploadFileButton/UploadFileButton.spec.d.ts +0 -1
  176. package/cjs/UploadFileButton/UploadFileButton.spec.js +0 -224
  177. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.test.d.ts +0 -1
  178. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.test.js +0 -14
  179. package/cjs/VirtualGroupedList/VirtualGroupedList.spec.d.ts +0 -1
  180. package/cjs/VirtualGroupedList/VirtualGroupedList.spec.js +0 -287
  181. package/cjs/WhiteSearchInput/WhiteSearchInput.spec.d.ts +0 -1
  182. /package/{SidePanelContentHeader/SidePanelContentHeader.spec.d.ts → ColumnsSettings/types.js} +0 -0
  183. /package/{SidePanelEmptyState/SidePanelEmptyState.spec.d.ts → SidePanelContentHeader/SidePanelContentHeader.test.d.ts} +0 -0
  184. /package/{SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.d.ts → SidePanelEmptyState/SidePanelEmptyState.test.d.ts} +0 -0
  185. /package/{SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.d.ts → UploadFileButton/UploadFileButton.test.d.ts} +0 -0
  186. /package/{TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.d.ts → VirtualGroupedList/VirtualGroupedList.test.d.ts} +0 -0
  187. /package/{TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.d.ts → WhiteSearchInput/WhiteSearchInput.test.d.ts} +0 -0
  188. /package/{UploadFileButton/UploadFileButton.spec.d.ts → cjs/SidePanelContentHeader/SidePanelContentHeader.test.d.ts} +0 -0
  189. /package/{UploadImageDialog/components/DividerWithText/DividerWithText.test.d.ts → cjs/SidePanelEmptyState/SidePanelEmptyState.test.d.ts} +0 -0
  190. /package/{VirtualGroupedList/VirtualGroupedList.spec.d.ts → cjs/UploadFileButton/UploadFileButton.test.d.ts} +0 -0
  191. /package/{WhiteSearchInput/WhiteSearchInput.spec.d.ts → cjs/VirtualGroupedList/VirtualGroupedList.test.d.ts} +0 -0
  192. /package/cjs/{SidePanelContentHeader/SidePanelContentHeader.spec.d.ts → WhiteSearchInput/WhiteSearchInput.test.d.ts} +0 -0
  193. /package/cjs/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.d.ts +0 -0
  194. /package/cjs/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.js +0 -0
  195. /package/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.d.ts +0 -0
  196. /package/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.js +0 -0
@@ -28,13 +28,15 @@ describe('filter utils tests', function () {
28
28
  ActivityTypes.USER_SEARCH,
29
29
  ActivityTypes.COMMENT_ADDED,
30
30
  ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE,
31
- ActivityTypes.ENTITY_CHANGED
31
+ ActivityTypes.ENTITY_CHANGED,
32
+ ActivityTypes.ATTRIBUTE_UNMASKED
32
33
  ]
33
34
  };
34
35
  var expectedResult = "(startsWith(label, 'USER_SEARCH')" +
35
36
  " or startsWith(label, 'COMMENT_ADDED')" +
36
37
  " or startsWith(label, 'SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE')" +
37
- ' or equals(items.data.type, ENTITY_CHANGED))' +
38
+ ' or equals(items.data.type, ENTITY_CHANGED)' +
39
+ " or startsWith(label, 'ATTRIBUTE_UNMASKED'))" +
38
40
  " and (not equals(user, 'collaboration-service'))";
39
41
  expect(buildActivitiesFilterString(filter)).toEqual(expectedResult);
40
42
  });
@@ -46,8 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { useAttributeActions } from './useAttributeActions';
49
- import { act } from 'react-dom/test-utils';
50
- import { renderHook } from '@testing-library/react-hooks';
49
+ import { renderHook, act } from '@testing-library/react-hooks';
51
50
  import { createAttribute, entityCumulativeDelete, entityCumulativeUpdate, ignoreAttribute, pinAttribute, removeRelation, updateAttribute } from '@reltio/mdm-sdk';
52
51
  jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { entityCumulativeDelete: jest.fn(), entityCumulativeUpdate: jest.fn(), ignoreAttribute: jest.fn(), pinAttribute: jest.fn(), removeRelation: jest.fn(), updateAttribute: jest.fn(), createAttribute: jest.fn() })); });
53
52
  describe('useAttributeActions', function () {
@@ -46,8 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { useCrosswalkActions } from './useCrosswalkActions';
49
- import { act } from 'react-dom/test-utils';
50
- import { renderHook } from '@testing-library/react-hooks';
49
+ import { renderHook, act } from '@testing-library/react-hooks';
51
50
  import { addCrosswalk, addCrosswalkInContributor, editCrosswalkAttribute, deleteCrosswalkAttribute, deleteCrosswalk } from '@reltio/mdm-sdk';
52
51
  jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { addCrosswalk: jest.fn(), addCrosswalkInContributor: jest.fn(), editCrosswalkAttribute: jest.fn(), deleteCrosswalkAttribute: jest.fn(), deleteCrosswalk: jest.fn() })); });
53
52
  describe('useCrosswalkActions tests', function () {
@@ -37,6 +37,7 @@ export declare const HistoryChangeTypes: {
37
37
  COMMENT_UPDATED: ActivityTypes.COMMENT_UPDATED;
38
38
  COMMENT_DELETED: ActivityTypes.COMMENT_DELETED;
39
39
  ANALYTICS_ATTRIBUTES_CHANGED: ActivityTypes.ANALYTICS_ATTRIBUTES_CHANGED;
40
+ ATTRIBUTE_UNMASKED: ActivityTypes.ATTRIBUTE_UNMASKED;
40
41
  SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE: ActivityTypes.SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE;
41
42
  GROUP_CREATED: ActivityTypes.GROUP_CREATED;
42
43
  GROUP_REMOVED: ActivityTypes.GROUP_REMOVED;
@@ -45,9 +45,8 @@ 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
- import { renderHook } from '@testing-library/react-hooks';
48
+ import { renderHook, act } from '@testing-library/react-hooks';
49
49
  import { getDataChangeRequest, getEntitiesByUris } from '@reltio/mdm-sdk';
50
- import { act } from 'react-dom/test-utils';
51
50
  import { ErrorPopup } from '../../../ErrorPopup';
52
51
  import { useChangeRequest } from './useChangeRequest';
53
52
  jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { getDataChangeRequest: jest.fn(), getEntitiesByUris: jest.fn() })); });
@@ -55,8 +55,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
55
  return to.concat(ar || Array.prototype.slice.call(from));
56
56
  };
57
57
  import React from 'react';
58
- import { renderHook } from '@testing-library/react-hooks';
59
- import { act } from 'react-dom/test-utils';
58
+ import { renderHook, act } from '@testing-library/react-hooks';
60
59
  import { getFilteredEntities, getEntity } from '@reltio/mdm-sdk';
61
60
  import { MdmModuleProvider } from '../../contexts/MdmModuleContext';
62
61
  import { useCommentsEntitiesMap } from './useCommentsEntitiesMap';
@@ -1,23 +1,19 @@
1
1
  import React from 'react';
2
- type Item = {
3
- titleItemIndex?: number;
4
- index: number;
5
- item: {
6
- item: Record<string, unknown>;
7
- moveTo?: number;
8
- };
2
+ import { VirtualGroupedListItem, VirtualGroupedListMainItem } from '../../VirtualGroupedList/types';
3
+ type Item<T> = T & {
4
+ notSelectable?: boolean;
9
5
  };
10
- type Props = {
11
- items: Item[];
6
+ type Props<T, S> = {
7
+ items: VirtualGroupedListMainItem<Item<T>>[];
12
8
  open: boolean;
13
9
  onSelectFocusedItem: (item: {
14
- item: Item['item']['item'];
15
- groupData: Item['item'];
10
+ item: Item<T>;
11
+ groupData: VirtualGroupedListItem<Item<T>>;
16
12
  }) => void;
17
- selectedItems: string[];
13
+ selectedItems: S[];
18
14
  onClose?: (event: React.KeyboardEvent) => void;
19
15
  };
20
- export declare const useKeyboardNavigation: ({ items, open, onSelectFocusedItem, selectedItems, onClose }: Props) => {
16
+ export declare const useKeyboardNavigation: <T, S>({ items, open, onSelectFocusedItem, selectedItems, onClose }: Props<T, S>) => {
21
17
  focusIndex: number;
22
18
  handleKeyDown: (event: React.KeyboardEvent) => boolean;
23
19
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.2071",
3
+ "version": "1.4.2073",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",
@@ -1,49 +0,0 @@
1
- import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import { act } from 'react-dom/test-utils';
4
- import Typography from '@mui/material/Typography';
5
- import Divider from '@mui/material/Divider';
6
- import { SmallIconButtonWithTooltip } from '../SmallIconButton';
7
- import { SidePanelContentHeader } from './SidePanelContentHeader';
8
- describe('SidePanelContentHeader test', function () {
9
- var mainTitle = 'mainTitle';
10
- var secondTitle = 'secondTitle';
11
- var rightContent = 'rightContent';
12
- it('should renders all component well', function () {
13
- var onCloseFn = jest.fn();
14
- var component = shallow(React.createElement(SidePanelContentHeader, { onClose: onCloseFn, mainTitle: mainTitle, secondTitle: secondTitle, rightContent: rightContent }));
15
- expect(component.find(SmallIconButtonWithTooltip)).toHaveLength(1);
16
- var typographies = component.find(Typography);
17
- expect(typographies).toHaveLength(2);
18
- expect(typographies.at(0).text()).toContain(mainTitle);
19
- expect(typographies.at(1).text()).toContain(secondTitle);
20
- expect(component.find(Divider)).toHaveLength(1);
21
- expect(component.text()).toContain(rightContent);
22
- });
23
- it('should renders component witn content', function () {
24
- var onCloseFn = jest.fn();
25
- var textContent = 'Test content';
26
- var content = React.createElement("div", null, textContent);
27
- var component = shallow(React.createElement(SidePanelContentHeader, { onClose: onCloseFn, content: content }));
28
- expect(component.find(SmallIconButtonWithTooltip)).toHaveLength(1);
29
- expect(component.text()).toEqual(textContent);
30
- });
31
- it('should not render Divider with empty secondTitle', function () {
32
- var onCloseFn = jest.fn();
33
- var component = shallow(React.createElement(SidePanelContentHeader, { onClose: onCloseFn, mainTitle: mainTitle, rightContent: rightContent }));
34
- expect(component.find(SmallIconButtonWithTooltip)).toHaveLength(1);
35
- var typographies = component.find(Typography);
36
- expect(typographies).toHaveLength(1);
37
- expect(typographies.at(0).text()).toContain(mainTitle);
38
- expect(component.find(Divider)).toHaveLength(0);
39
- expect(component.text()).toContain(rightContent);
40
- });
41
- it('should call onClose after button click', function () {
42
- var onCloseFn = jest.fn();
43
- var component = shallow(React.createElement(SidePanelContentHeader, { onClose: onCloseFn, mainTitle: mainTitle, secondTitle: secondTitle, rightContent: rightContent }));
44
- act(function () {
45
- component.find(SmallIconButtonWithTooltip).prop('onClick')({});
46
- });
47
- expect(onCloseFn).toHaveBeenCalled();
48
- });
49
- });
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import { SidePanelEmptyState } from './SidePanelEmptyState';
4
- import { AttributesList as AttributesListIcon, NoData as NoDataIcon } from '../icons';
5
- describe('SidePanelEmptyState test', function () {
6
- it('should render correct default state', function () {
7
- var wrapper = shallow(React.createElement(SidePanelEmptyState, { text: "test" }));
8
- expect(wrapper.find(AttributesListIcon).length).toBe(1);
9
- expect(wrapper.find('.textBox')).toHaveLength(1);
10
- expect(wrapper.find('.text').text()).toBe('test');
11
- expect(wrapper.find('.secondaryText').length).toBe(0);
12
- });
13
- it('should render icon passed in IconRenderer', function () {
14
- var wrapper = shallow(React.createElement(SidePanelEmptyState, { IconRenderer: NoDataIcon, text: "test" }));
15
- expect(wrapper.find(NoDataIcon).length).toBe(1);
16
- expect(wrapper.find('.text').text()).toBe('test');
17
- });
18
- it('should render secondary text', function () {
19
- var wrapper = shallow(React.createElement(SidePanelEmptyState, { text: "test", secondaryText: "secondaryTest" }));
20
- expect(wrapper.find(AttributesListIcon).length).toBe(1);
21
- expect(wrapper.find('.text').text()).toBe('test');
22
- expect(wrapper.find('.secondaryText').text()).toBe('secondaryTest');
23
- });
24
- });
@@ -1,103 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import React from 'react';
13
- import { render, screen } from '@testing-library/react';
14
- import SimpleAttributeEditor from './SimpleAttributeEditor';
15
- import { Mode } from '@reltio/mdm-sdk';
16
- import { MdmModuleProvider } from '../contexts/MdmModuleContext';
17
- import { AlwaysVisibleAttributesContext } from '../contexts/AllwaysVisibleAttributesContext';
18
- jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { checkMetadataPermission: function () { return false; } })); });
19
- var mdmValues = {
20
- dependentLookups: {
21
- editors: {}
22
- }
23
- };
24
- describe('SimpleAttributeEditor without permissions', function () {
25
- var onAddFn = jest.fn();
26
- var onDeleteFn = jest.fn();
27
- var onChangeFn = jest.fn();
28
- var defaultProps = {
29
- mode: Mode.Editing,
30
- isReltioCrosswalk: true,
31
- onAddAttributes: onAddFn,
32
- onDeleteAttribute: onDeleteFn,
33
- onChangeAttribute: onChangeFn
34
- };
35
- var setUp = function (_a) {
36
- var props = _a.props, _b = _a.alwaysVisibleAttributes, alwaysVisibleAttributes = _b === void 0 ? [] : _b;
37
- return render(React.createElement(AlwaysVisibleAttributesContext.Provider, { value: alwaysVisibleAttributes },
38
- React.createElement(MdmModuleProvider, { values: mdmValues },
39
- React.createElement(SimpleAttributeEditor, __assign({}, defaultProps, props)))));
40
- };
41
- it('should render just text, if there is only READ permission', function () {
42
- var props = {
43
- attributeValue: {
44
- value: 'some string',
45
- uri: '1'
46
- },
47
- attributeType: {
48
- access: ['READ'],
49
- type: 'String',
50
- uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
51
- }
52
- };
53
- setUp({ props: props });
54
- expect(screen.getByText('some string')).toBeInTheDocument();
55
- expect(screen.queryByTestId('reltio-delete-simple-attribute-button')).not.toBeInTheDocument();
56
- });
57
- it('should render text and DELETE button, if there are only READ and DELETE permission', function () {
58
- var props = {
59
- attributeValue: {
60
- value: 'some string',
61
- uri: '1'
62
- },
63
- attributeType: {
64
- access: ['READ', 'DELETE'],
65
- type: 'String',
66
- uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
67
- }
68
- };
69
- setUp({ props: props });
70
- expect(screen.getByText('some string')).toBeInTheDocument();
71
- expect(screen.getByTestId('reltio-delete-simple-attribute-button')).toBeInTheDocument();
72
- });
73
- it('should render always visible attribute without value correct, if there are only READ permission', function () {
74
- var props = {
75
- attributeValue: {
76
- uri: 'uri$$'
77
- },
78
- attributeType: {
79
- access: ['READ'],
80
- type: 'String',
81
- uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
82
- }
83
- };
84
- setUp({ props: props, alwaysVisibleAttributes: ['configuration/entityTypes/HCA/attributes/InternalCustomer'] });
85
- expect(screen.queryByRole('textbox')).not.toBeInTheDocument();
86
- expect(screen.queryByTestId('reltio-delete-simple-attribute-button')).not.toBeInTheDocument();
87
- });
88
- it('should render always visible attribute without value correct, if there are only READ and DELETE permission', function () {
89
- var props = {
90
- attributeValue: {
91
- uri: 'uri$$'
92
- },
93
- attributeType: {
94
- access: ['READ', 'DELETE'],
95
- type: 'String',
96
- uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
97
- }
98
- };
99
- setUp({ props: props, alwaysVisibleAttributes: ['configuration/entityTypes/HCA/attributes/InternalCustomer'] });
100
- expect(screen.queryByRole('textbox')).not.toBeInTheDocument();
101
- expect(screen.getByTestId('reltio-delete-simple-attribute-button')).toBeInTheDocument();
102
- });
103
- });
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import { render, screen } from '@testing-library/react';
3
- import { DropDownPlaceholder } from './DropDownPlaceholder';
4
- describe('DropDownPlaceholder tests', function () {
5
- it('should render children', function () {
6
- render(React.createElement(DropDownPlaceholder, null, "text"));
7
- expect(screen.getByText('text')).toBeInTheDocument();
8
- });
9
- it('should transfer innerProps', function () {
10
- render(React.createElement(DropDownPlaceholder, { innerProps: { className: 'testClassName' } }, "text"));
11
- expect(screen.getByText('text')).toHaveClass('testClassName');
12
- });
13
- });
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import { ReactWrapper, shallow } from 'enzyme';
3
- import { ExpandedValueTooltip } from '../../../ExpandedValueTooltip';
4
- import { AttributeCellRenderer } from './AttributeCellRenderer';
5
- describe('AttributeCellRenderer', function () {
6
- it('should render main parts', function () {
7
- var wrapper = shallow(React.createElement(AttributeCellRenderer, null));
8
- var cell = wrapper.find(ExpandedValueTooltip);
9
- expect(cell).toHaveLength(1);
10
- expect(cell.prop('value')).toEqual('');
11
- expect(new ReactWrapper(cell.prop('children')).text()).toBe('');
12
- });
13
- it('should render correct value', function () {
14
- var value = 'Test';
15
- var wrapper = shallow(React.createElement(AttributeCellRenderer, { value: value }));
16
- var cell = wrapper.find(ExpandedValueTooltip);
17
- expect(cell).toHaveLength(1);
18
- expect(cell.prop('value')).toEqual(value);
19
- expect(new ReactWrapper(cell.prop('children')).text()).toBe(value);
20
- });
21
- });
@@ -1,20 +0,0 @@
1
- import React from 'react';
2
- import { ReactWrapper, shallow } from 'enzyme';
3
- import DefaultHeadCellRenderer from 'react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer';
4
- import { ExpandedValueTooltip } from '../../../ExpandedValueTooltip';
5
- import { HeadCellRenderer } from './HeadCellRenderer';
6
- describe('HeadCellRenderer', function () {
7
- it('should render main parts', function () {
8
- var header = 'Test header';
9
- var wrapper = shallow(React.createElement(HeadCellRenderer, { headCellData: { label: header } }));
10
- var cell = wrapper.find(DefaultHeadCellRenderer);
11
- expect(cell).toHaveLength(1);
12
- var headCellData = cell.prop('headCellData');
13
- var cellData = new ReactWrapper(headCellData.label);
14
- expect(cellData).toHaveLength(1);
15
- var labelWrapper = cellData.find(ExpandedValueTooltip);
16
- expect(labelWrapper).toHaveLength(1);
17
- expect(labelWrapper.prop('value')).toEqual(header);
18
- expect(new ReactWrapper(labelWrapper.prop('children')).text()).toBe(header);
19
- });
20
- });
@@ -1,219 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- 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);
12
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- 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;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import React from 'react';
38
- import { mount } from 'enzyme';
39
- import { act } from 'react-dom/test-utils';
40
- import Button from '@mui/material/Button';
41
- import Link from '@mui/material/Link';
42
- import Typography from '@mui/material/Typography';
43
- import { ErrorPopup } from '../ErrorPopup';
44
- import { ExpandedValueTooltip } from '../ExpandedValueTooltip';
45
- import { UploadFileButton } from './UploadFileButton';
46
- describe('UploadFileButton tests', function () {
47
- describe('init mode behavior', function () {
48
- var onUpload, supportedFileTypes;
49
- beforeEach(function () {
50
- onUpload = jest.fn().mockReturnValue(Promise.resolve({ link: 'link' }));
51
- supportedFileTypes = ['*.txt', '*.csv'];
52
- });
53
- it('should show upload button by default', function () {
54
- var component = mount(React.createElement(UploadFileButton, { onUpload: onUpload, supportedFileTypes: supportedFileTypes }));
55
- expect(component.find(Button)).toHaveLength(1);
56
- });
57
- it('should set correct properties for input', function () {
58
- var component = mount(React.createElement(UploadFileButton, { onUpload: onUpload, supportedFileTypes: supportedFileTypes }));
59
- expect(component.find('input').prop('accept')).toBe('*.txt,*.csv');
60
- expect(component.find('input').prop('type')).toBe('file');
61
- });
62
- it('should call onUpload', function () { return __awaiter(void 0, void 0, void 0, function () {
63
- var component, event;
64
- return __generator(this, function (_a) {
65
- switch (_a.label) {
66
- case 0:
67
- component = mount(React.createElement(UploadFileButton, { onUpload: onUpload, supportedFileTypes: supportedFileTypes }));
68
- event = { target: { files: [{ name: 'test' }] } };
69
- return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
70
- return __generator(this, function (_a) {
71
- component.find('input').simulate('change', event);
72
- return [2 /*return*/];
73
- });
74
- }); })];
75
- case 1:
76
- _a.sent();
77
- expect(onUpload).toHaveBeenCalledWith({ name: 'test' });
78
- return [2 /*return*/];
79
- }
80
- });
81
- }); });
82
- it('should invoke onError on file upload error', function () { return __awaiter(void 0, void 0, void 0, function () {
83
- var onError, ERROR_MESSAGE, onUpload, component, event;
84
- return __generator(this, function (_a) {
85
- switch (_a.label) {
86
- case 0:
87
- onError = jest.fn();
88
- ERROR_MESSAGE = 'Error';
89
- onUpload = jest.fn().mockRejectedValue(ERROR_MESSAGE);
90
- component = mount(React.createElement(UploadFileButton, { onUpload: onUpload, onError: onError, supportedFileTypes: supportedFileTypes }));
91
- event = { target: { files: [{ name: 'test' }] } };
92
- return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
93
- return __generator(this, function (_a) {
94
- component.find('input').simulate('change', event);
95
- return [2 /*return*/];
96
- });
97
- }); })];
98
- case 1:
99
- _a.sent();
100
- expect(onError).toHaveBeenCalledWith(ERROR_MESSAGE);
101
- return [2 /*return*/];
102
- }
103
- });
104
- }); });
105
- it('should use default onError prop if it is not specified', function () { return __awaiter(void 0, void 0, void 0, function () {
106
- var addErrorSpy, ERROR_MESSAGE, onUpload, component, event;
107
- return __generator(this, function (_a) {
108
- switch (_a.label) {
109
- case 0:
110
- addErrorSpy = jest.spyOn(ErrorPopup, 'addError').mockImplementation(function () { });
111
- ERROR_MESSAGE = 'Error';
112
- onUpload = jest.fn().mockRejectedValue(ERROR_MESSAGE);
113
- component = mount(React.createElement(UploadFileButton, { onUpload: onUpload, supportedFileTypes: supportedFileTypes }));
114
- event = { target: { files: [{ name: 'test' }] } };
115
- return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
116
- return __generator(this, function (_a) {
117
- component.find('input').simulate('change', event);
118
- return [2 /*return*/];
119
- });
120
- }); })];
121
- case 1:
122
- _a.sent();
123
- expect(addErrorSpy).toHaveBeenCalledWith({
124
- title: 'File upload error',
125
- message: ERROR_MESSAGE
126
- });
127
- return [2 /*return*/];
128
- }
129
- });
130
- }); });
131
- it('should use errorMessage for error popup if it available', function () { return __awaiter(void 0, void 0, void 0, function () {
132
- var addErrorSpy, ERROR_OBJECT, onUpload, component, event;
133
- return __generator(this, function (_a) {
134
- switch (_a.label) {
135
- case 0:
136
- addErrorSpy = jest.spyOn(ErrorPopup, 'addError').mockImplementation(function () { });
137
- ERROR_OBJECT = { errorMessage: 'errorMessage text' };
138
- onUpload = jest.fn().mockRejectedValue(ERROR_OBJECT);
139
- component = mount(React.createElement(UploadFileButton, { onUpload: onUpload, supportedFileTypes: supportedFileTypes }));
140
- event = { target: { files: [{ name: 'test' }] } };
141
- return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
142
- return __generator(this, function (_a) {
143
- component.find('input').simulate('change', event);
144
- return [2 /*return*/];
145
- });
146
- }); })];
147
- case 1:
148
- _a.sent();
149
- expect(addErrorSpy).toHaveBeenCalledWith({
150
- title: 'File upload error',
151
- message: ERROR_OBJECT.errorMessage
152
- });
153
- return [2 /*return*/];
154
- }
155
- });
156
- }); });
157
- });
158
- describe('uploaded mode behavior', function () {
159
- var onUpload, onCancel, supportedFileTypes;
160
- beforeEach(function () {
161
- onUpload = jest.fn().mockImplementation(function () { return Promise.resolve({ link: 'link' }); });
162
- onCancel = jest.fn();
163
- supportedFileTypes = ['*.txt', '*.csv'];
164
- });
165
- it('should show link and cancel button after file uploading', function () { return __awaiter(void 0, void 0, void 0, function () {
166
- var component, event, linkComponent;
167
- return __generator(this, function (_a) {
168
- switch (_a.label) {
169
- case 0:
170
- component = mount(React.createElement(UploadFileButton, { onUpload: onUpload, supportedFileTypes: supportedFileTypes }));
171
- event = { target: { files: [{ name: 'test' }] } };
172
- return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
173
- return __generator(this, function (_a) {
174
- component.find('input').simulate('change', event);
175
- return [2 /*return*/];
176
- });
177
- }); })];
178
- case 1:
179
- _a.sent();
180
- return [4 /*yield*/, Promise.resolve()];
181
- case 2:
182
- _a.sent();
183
- component.update();
184
- linkComponent = component.find(Link);
185
- expect(linkComponent.text()).toBe('test');
186
- return [2 /*return*/];
187
- }
188
- });
189
- }); });
190
- it('should show link and cancel button in uploaded mode', function () {
191
- var link = 'link';
192
- var filename = 'filename';
193
- var component = mount(React.createElement(UploadFileButton, { link: link, filename: filename }));
194
- component.update();
195
- expect(component.find(ExpandedValueTooltip)).toHaveLength(1);
196
- var linkComponent = component.find(Link);
197
- expect(linkComponent.prop('href')).toBe('link');
198
- expect(linkComponent.text()).toBe('filename');
199
- });
200
- it('should render text instead of link if isValidLink prop is false', function () {
201
- var link = 'link';
202
- var filename = 'filename';
203
- var component = mount(React.createElement(UploadFileButton, { link: link, filename: filename, isValidLink: false }));
204
- component.update();
205
- expect(component.find(ExpandedValueTooltip)).toHaveLength(1);
206
- expect(component.find(Link)).toHaveLength(0);
207
- expect(component.find(Typography).text()).toBe('filename');
208
- });
209
- it('should invoke onCancel on cancel icon click', function () {
210
- var link = 'link';
211
- var filename = 'filename';
212
- var component = mount(React.createElement(UploadFileButton, { link: link, onCancel: onCancel, filename: filename }));
213
- component.update();
214
- var cancelIcon = component.find('svg');
215
- cancelIcon.simulate('click');
216
- expect(onCancel).toHaveBeenCalled();
217
- });
218
- });
219
- });
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import { DividerWithText } from './DividerWithText';
4
- describe('DividerWithText tests', function () {
5
- it('should render correctly', function () {
6
- var component = shallow(React.createElement(DividerWithText, null, "Hello world"));
7
- expect(component.find('.text').text()).toBe('Hello world');
8
- });
9
- });