@reltio/components 1.4.2050 → 1.4.2052

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 (187) hide show
  1. package/AttributeListItem/AttributeListItem.d.ts +1 -1
  2. package/ChartTooltip/ChartTooltip.js +3 -3
  3. package/ColumnsSettings/ColumnsSettings.d.ts +2 -1
  4. package/ColumnsSettings/ColumnsSettings.js +2 -2
  5. package/ColumnsSettings/ColumnsSettings.test.js +14 -0
  6. package/ColumnsSettings/components/ColumnListItem/ColumnListItem.d.ts +11 -26
  7. package/ColumnsSettings/components/ColumnListItem/ColumnListItem.js +0 -14
  8. package/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -1
  9. package/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.js +2 -2
  10. package/DropDownMenuButton/DropDownMenuButton.js +1 -1
  11. package/HOCs/withAsyncMount/withAsyncMount.test.js +52 -52
  12. package/IgnoreButton/IgnoreButton.spec.js +109 -20
  13. package/Image/Image.d.ts +1 -1
  14. package/Image/Image.js +8 -8
  15. package/Image/Image.test.js +46 -51
  16. package/ImageActionsOverlay/ImageActionsOverlay.js +2 -1
  17. package/ImageActionsOverlay/ImageActionsOverlay.test.js +207 -125
  18. package/ImageActionsOverlay/components/CheckedIcon/CheckedIcon.js +1 -1
  19. package/ImageAttributesGallery/ImageAttributesGallery.test.js +525 -281
  20. package/ImageAttributesLine/ImageAttributesLine.js +1 -1
  21. package/ImageAttributesLine/ImageAttributesLine.test.js +187 -193
  22. package/ImageAttributesLine/imageAttributeValues.test-data.d.ts +10 -0
  23. package/ImageAttributesLine/imageAttributeValues.test-data.js +22 -0
  24. package/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +315 -298
  25. package/ImageDetailsView/ImageDetailsView.test.js +529 -55
  26. package/ImageDetailsView/attributes.test-data.d.ts +4 -1
  27. package/ImageDetailsView/attributes.test-data.js +98 -1
  28. package/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.js +2 -2
  29. package/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.js +1 -1
  30. package/ImageDetailsView/components/MetaInfoList/MetaInfoList.js +1 -1
  31. package/ImageDetailsView/components/Thumbnails/Thumbnails.js +1 -1
  32. package/ImageDetailsView/helpers.test.js +4 -4
  33. package/ImageGalleryDialog/ImageGalleryDialog.test.js +89 -46
  34. package/ImportButton/ImportButton.test.js +94 -24
  35. package/InlineAttributesList/InlineAttributesList.test.js +22 -62
  36. package/InlineAttributesList/attributes.test-data.d.ts +4 -2
  37. package/InlineAttributesList/attributes.test-data.js +40 -1
  38. package/InlineAttributesPager/InlineAttributesPager.d.ts +1 -2
  39. package/InlineAttributesPager/InlineAttributesPager.js +1 -4
  40. package/InlineAttributesPager/InlineAttributesPager.test.js +393 -183
  41. package/InlineComplexAttribute/InlineComplexAttribute.js +1 -1
  42. package/InlineComplexAttribute/InlineComplexAttribute.test.js +396 -182
  43. package/InlineImageAttribute/InlineImageAttribute.test.js +103 -55
  44. package/InlineNestedAttribute/InlineNestedAttribute.test.js +105 -43
  45. package/InlineReferenceAttribute/InlineReferenceAttribute.test.js +165 -107
  46. package/InlineSimpleAttribute/InlineSimpleAttribute.spec.js +352 -346
  47. package/InlineSimpleAttributeEditor/InlineSimpleAttributeEditor.test.js +285 -194
  48. package/InternalLink/InternalLink.test.js +41 -11
  49. package/LookupEditor/LookupEditor.test.js +180 -44
  50. package/LookupEditor/components/GroupedDropDownEditor/helpers.test.js +1 -1
  51. package/MapChart/MapChart.js +3 -8
  52. package/MapChart/MapChart.test.js +152 -188
  53. package/MapChart/components/Legend/Legend.js +3 -3
  54. package/MaskingSwitcher/MaskingSwitcher.js +1 -1
  55. package/MatchRulesBadge/MatchRulesBadge.test.js +93 -24
  56. package/SelectEditor/SelectEditor.d.ts +4 -10
  57. package/SelectEditor/SelectEditor.js +0 -4
  58. package/SelectEditor/SelectEditor.test.js +79 -9
  59. package/SelectionPopup/SelectionPopup.d.ts +2 -1
  60. package/SelectionPopup/SelectionPopup.js +3 -3
  61. package/SelectionPopup/SelectionPopup.spec.js +90 -30
  62. package/cjs/AttributeListItem/AttributeListItem.d.ts +1 -1
  63. package/cjs/ChartTooltip/ChartTooltip.js +3 -3
  64. package/cjs/ColumnsSettings/ColumnsSettings.d.ts +2 -1
  65. package/cjs/ColumnsSettings/ColumnsSettings.js +2 -2
  66. package/cjs/ColumnsSettings/ColumnsSettings.test.js +14 -0
  67. package/cjs/ColumnsSettings/components/ColumnListItem/ColumnListItem.d.ts +11 -26
  68. package/cjs/ColumnsSettings/components/ColumnListItem/ColumnListItem.js +0 -14
  69. package/cjs/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -1
  70. package/cjs/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.js +2 -2
  71. package/cjs/DropDownMenuButton/DropDownMenuButton.js +1 -1
  72. package/cjs/HOCs/withAsyncMount/withAsyncMount.test.js +56 -56
  73. package/cjs/IgnoreButton/IgnoreButton.spec.js +109 -20
  74. package/cjs/Image/Image.d.ts +1 -1
  75. package/cjs/Image/Image.js +8 -8
  76. package/cjs/Image/Image.test.js +46 -51
  77. package/cjs/ImageActionsOverlay/ImageActionsOverlay.js +2 -1
  78. package/cjs/ImageActionsOverlay/ImageActionsOverlay.test.js +207 -125
  79. package/cjs/ImageActionsOverlay/components/CheckedIcon/CheckedIcon.js +1 -1
  80. package/cjs/ImageAttributesGallery/ImageAttributesGallery.test.js +525 -281
  81. package/cjs/ImageAttributesLine/ImageAttributesLine.js +1 -1
  82. package/cjs/ImageAttributesLine/ImageAttributesLine.test.js +195 -224
  83. package/cjs/ImageAttributesLine/imageAttributeValues.test-data.d.ts +10 -0
  84. package/cjs/ImageAttributesLine/imageAttributeValues.test-data.js +23 -1
  85. package/cjs/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +316 -299
  86. package/cjs/ImageDetailsView/ImageDetailsView.test.js +529 -55
  87. package/cjs/ImageDetailsView/attributes.test-data.d.ts +4 -1
  88. package/cjs/ImageDetailsView/attributes.test-data.js +99 -2
  89. package/cjs/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.js +2 -2
  90. package/cjs/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.js +1 -1
  91. package/cjs/ImageDetailsView/components/MetaInfoList/MetaInfoList.js +1 -1
  92. package/cjs/ImageDetailsView/components/Thumbnails/Thumbnails.js +1 -1
  93. package/cjs/ImageDetailsView/helpers.test.js +3 -3
  94. package/cjs/ImageGalleryDialog/ImageGalleryDialog.test.js +89 -46
  95. package/cjs/ImportButton/ImportButton.test.js +94 -24
  96. package/cjs/InlineAttributesList/InlineAttributesList.test.js +22 -62
  97. package/cjs/InlineAttributesList/attributes.test-data.d.ts +4 -2
  98. package/cjs/InlineAttributesList/attributes.test-data.js +41 -2
  99. package/cjs/InlineAttributesPager/InlineAttributesPager.d.ts +1 -2
  100. package/cjs/InlineAttributesPager/InlineAttributesPager.js +1 -4
  101. package/cjs/InlineAttributesPager/InlineAttributesPager.test.js +393 -183
  102. package/cjs/InlineComplexAttribute/InlineComplexAttribute.js +1 -1
  103. package/cjs/InlineComplexAttribute/InlineComplexAttribute.test.js +395 -204
  104. package/cjs/InlineImageAttribute/InlineImageAttribute.test.js +103 -55
  105. package/cjs/InlineNestedAttribute/InlineNestedAttribute.test.js +105 -43
  106. package/cjs/InlineReferenceAttribute/InlineReferenceAttribute.test.js +164 -106
  107. package/cjs/InlineSimpleAttribute/InlineSimpleAttribute.spec.js +351 -345
  108. package/cjs/InlineSimpleAttributeEditor/InlineSimpleAttributeEditor.test.js +307 -193
  109. package/cjs/InternalLink/InternalLink.test.js +40 -10
  110. package/cjs/LookupEditor/LookupEditor.test.js +178 -65
  111. package/cjs/LookupEditor/components/GroupedDropDownEditor/helpers.test.js +1 -1
  112. package/cjs/MapChart/MapChart.js +3 -8
  113. package/cjs/MapChart/MapChart.test.js +152 -188
  114. package/cjs/MapChart/components/Legend/Legend.js +3 -3
  115. package/cjs/MaskingSwitcher/MaskingSwitcher.js +1 -1
  116. package/cjs/MatchRulesBadge/MatchRulesBadge.test.js +93 -24
  117. package/cjs/SelectEditor/SelectEditor.d.ts +4 -10
  118. package/cjs/SelectEditor/SelectEditor.js +0 -4
  119. package/cjs/SelectEditor/SelectEditor.test.js +79 -9
  120. package/cjs/SelectionPopup/SelectionPopup.d.ts +2 -1
  121. package/cjs/SelectionPopup/SelectionPopup.js +3 -3
  122. package/cjs/SelectionPopup/SelectionPopup.spec.js +90 -30
  123. package/cjs/hooks/useAsyncMount/useAsyncMount.d.ts +1 -1
  124. package/cjs/hooks/useAsyncMount/useAsyncMount.js +1 -1
  125. package/hooks/useAsyncMount/useAsyncMount.d.ts +1 -1
  126. package/hooks/useAsyncMount/useAsyncMount.js +1 -1
  127. package/package.json +1 -1
  128. package/HOCs/withTableContext/withTableContext.test.d.ts +0 -1
  129. package/HOCs/withTableContext/withTableContext.test.js +0 -41
  130. package/ImageAttributesGallery/components/GalleryView/GalleryView.test.d.ts +0 -1
  131. package/ImageAttributesGallery/components/GalleryView/GalleryView.test.js +0 -98
  132. package/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.test.d.ts +0 -1
  133. package/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.test.js +0 -99
  134. package/ImageDetailsView/components/ImageDetailsViewSidebar/ImageDetailsViewSidebar.test.d.ts +0 -1
  135. package/ImageDetailsView/components/ImageDetailsViewSidebar/ImageDetailsViewSidebar.test.js +0 -65
  136. package/ImageDetailsView/components/MetaInfo/MetaInfo.test.d.ts +0 -1
  137. package/ImageDetailsView/components/MetaInfo/MetaInfo.test.js +0 -306
  138. package/ImageDetailsView/components/MetaInfoForm/MetaInfoForm.test.d.ts +0 -1
  139. package/ImageDetailsView/components/MetaInfoForm/MetaInfoForm.test.js +0 -134
  140. package/ImageDetailsView/components/MetaInfoHeader/MetaInfoHeader.test.d.ts +0 -1
  141. package/ImageDetailsView/components/MetaInfoHeader/MetaInfoHeader.test.js +0 -99
  142. package/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.test.d.ts +0 -1
  143. package/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.test.js +0 -36
  144. package/ImageDetailsView/components/MetaInfoList/MetaInfoList.test.d.ts +0 -1
  145. package/ImageDetailsView/components/MetaInfoList/MetaInfoList.test.js +0 -161
  146. package/ImageDetailsView/components/Thumbnails/Thumbnails.test.d.ts +0 -1
  147. package/ImageDetailsView/components/Thumbnails/Thumbnails.test.js +0 -76
  148. package/InlineAttributesPager/components/InlineImageAttributesBlock/InlineImageAttributesBlock.test.d.ts +0 -1
  149. package/InlineAttributesPager/components/InlineImageAttributesBlock/InlineImageAttributesBlock.test.js +0 -104
  150. package/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.d.ts +0 -1
  151. package/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.js +0 -114
  152. package/InlineAttributesPager/components/InlineReferenceAttributesBlock/InlineReferenceAttributesBlock.test.d.ts +0 -1
  153. package/InlineAttributesPager/components/InlineReferenceAttributesBlock/InlineReferenceAttributesBlock.test.js +0 -177
  154. package/InlineSimpleAttribute/components/CrosswalkMenuItem/CrosswalkMenuItem.spec.d.ts +0 -1
  155. package/InlineSimpleAttribute/components/CrosswalkMenuItem/CrosswalkMenuItem.spec.js +0 -52
  156. package/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.d.ts +0 -1
  157. package/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.js +0 -37
  158. package/cjs/HOCs/withTableContext/withTableContext.test.d.ts +0 -1
  159. package/cjs/HOCs/withTableContext/withTableContext.test.js +0 -46
  160. package/cjs/ImageAttributesGallery/components/GalleryView/GalleryView.test.d.ts +0 -1
  161. package/cjs/ImageAttributesGallery/components/GalleryView/GalleryView.test.js +0 -103
  162. package/cjs/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.test.d.ts +0 -1
  163. package/cjs/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.test.js +0 -104
  164. package/cjs/ImageDetailsView/components/ImageDetailsViewSidebar/ImageDetailsViewSidebar.test.d.ts +0 -1
  165. package/cjs/ImageDetailsView/components/ImageDetailsViewSidebar/ImageDetailsViewSidebar.test.js +0 -70
  166. package/cjs/ImageDetailsView/components/MetaInfo/MetaInfo.test.d.ts +0 -1
  167. package/cjs/ImageDetailsView/components/MetaInfo/MetaInfo.test.js +0 -311
  168. package/cjs/ImageDetailsView/components/MetaInfoForm/MetaInfoForm.test.d.ts +0 -1
  169. package/cjs/ImageDetailsView/components/MetaInfoForm/MetaInfoForm.test.js +0 -139
  170. package/cjs/ImageDetailsView/components/MetaInfoHeader/MetaInfoHeader.test.d.ts +0 -1
  171. package/cjs/ImageDetailsView/components/MetaInfoHeader/MetaInfoHeader.test.js +0 -104
  172. package/cjs/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.test.d.ts +0 -1
  173. package/cjs/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.test.js +0 -41
  174. package/cjs/ImageDetailsView/components/MetaInfoList/MetaInfoList.test.d.ts +0 -1
  175. package/cjs/ImageDetailsView/components/MetaInfoList/MetaInfoList.test.js +0 -166
  176. package/cjs/ImageDetailsView/components/Thumbnails/Thumbnails.test.d.ts +0 -1
  177. package/cjs/ImageDetailsView/components/Thumbnails/Thumbnails.test.js +0 -81
  178. package/cjs/InlineAttributesPager/components/InlineImageAttributesBlock/InlineImageAttributesBlock.test.d.ts +0 -1
  179. package/cjs/InlineAttributesPager/components/InlineImageAttributesBlock/InlineImageAttributesBlock.test.js +0 -109
  180. package/cjs/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.d.ts +0 -1
  181. package/cjs/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.js +0 -119
  182. package/cjs/InlineAttributesPager/components/InlineReferenceAttributesBlock/InlineReferenceAttributesBlock.test.d.ts +0 -1
  183. package/cjs/InlineAttributesPager/components/InlineReferenceAttributesBlock/InlineReferenceAttributesBlock.test.js +0 -182
  184. package/cjs/InlineSimpleAttribute/components/CrosswalkMenuItem/CrosswalkMenuItem.spec.d.ts +0 -1
  185. package/cjs/InlineSimpleAttribute/components/CrosswalkMenuItem/CrosswalkMenuItem.spec.js +0 -57
  186. package/cjs/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.d.ts +0 -1
  187. package/cjs/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.js +0 -42
@@ -48,8 +48,9 @@ var ImageActionsOverlay = function (props) {
48
48
  _a)), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onClick: selectionMode ? toggleSelected(selected) : handleClick, "data-reltio-id": "image-actions-overlay" },
49
49
  showCheckBox && (React.createElement(CheckedIcon, { className: styles.checkedIcon, checked: selected, onClick: toggleSelected(selected) })),
50
50
  showActions && (React.createElement("div", { className: styles.actions },
51
- React.createElement(SmallIconButton, { onClick: onDownload, className: styles.actionButton, icon: DownloadIcon }),
51
+ React.createElement(SmallIconButton, { "data-reltio-id": "download-button", onClick: onDownload, className: styles.actionButton, icon: DownloadIcon }),
52
52
  React.createElement(DropDownMenuButton, { menuId: "image-overlay-actions-".concat(id), buttonComponent: SmallIconButton, buttonProps: {
53
+ 'data-reltio-id': 'image-overlay-actions',
53
54
  icon: MoreVertIcon,
54
55
  className: classnames(styles.actionButton, styles.dropDownMenuButton)
55
56
  }, menuItems: menuItems }))),
@@ -9,140 +9,222 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ 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);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ 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;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
12
48
  import React from 'react';
13
- import { mount } from 'enzyme';
14
- import { act } from 'react-dom/test-utils';
15
- import Button from '@mui/material/Button';
16
- import MenuItem from '@mui/material/MenuItem';
17
- import { SmallIconButton } from '../SmallIconButton';
18
- import { DropDownMenuButton } from '../DropDownMenuButton';
19
- import { CheckedIcon } from './components/CheckedIcon';
49
+ import { render, screen } from '@testing-library/react';
50
+ import userEvent from '@testing-library/user-event';
20
51
  import ImageActionsOverlay from './ImageActionsOverlay';
52
+ import { getMuiIconByName } from '../test-utils';
53
+ var defaultProps = {
54
+ id: 'id',
55
+ canBeSelected: true,
56
+ selected: false,
57
+ selectionMode: false,
58
+ onDeselect: jest.fn(),
59
+ onSelect: jest.fn(),
60
+ onShareLink: jest.fn(),
61
+ onSetAsDefault: jest.fn(),
62
+ onDownload: jest.fn(),
63
+ onDelete: jest.fn()
64
+ };
65
+ var setUp = function (props) {
66
+ if (props === void 0) { props = {}; }
67
+ var user = userEvent.setup({ skipHover: true });
68
+ return __assign({ user: user }, render(React.createElement(ImageActionsOverlay, __assign({}, defaultProps, props))));
69
+ };
21
70
  describe('ImageActionsOverlay tests', function () {
22
- var defaultProps = {
23
- id: 'id',
24
- canBeSelected: true,
25
- selected: false,
26
- selectionMode: false,
27
- onDeselect: jest.fn(),
28
- onSelect: jest.fn(),
29
- onShareLink: jest.fn(),
30
- onSetAsDefault: jest.fn(),
31
- onDownload: jest.fn(),
32
- onDelete: jest.fn()
33
- };
34
- it('should render main parts on hover', function () {
35
- var component = mount(React.createElement(ImageActionsOverlay, __assign({}, defaultProps)));
36
- expect(component.find(SmallIconButton)).toHaveLength(0);
37
- expect(component.find(DropDownMenuButton)).toHaveLength(0);
38
- expect(component.find(CheckedIcon)).toHaveLength(0);
39
- act(function () {
40
- component.simulate('mouseEnter');
41
- });
42
- component.update();
43
- expect(component.find(SmallIconButton)).toHaveLength(2);
44
- expect(component.find(DropDownMenuButton)).toHaveLength(1);
45
- expect(component.find(CheckedIcon)).toHaveLength(1);
46
- });
47
- it('should show only checkbox in selection mode', function () {
48
- var component = mount(React.createElement(ImageActionsOverlay, __assign({}, defaultProps, { selectionMode: true })));
49
- expect(component.find(CheckedIcon)).toHaveLength(1);
50
- expect(component.find(SmallIconButton)).toHaveLength(0);
51
- expect(component.find(DropDownMenuButton)).toHaveLength(0);
52
- act(function () {
53
- component.simulate('mouseEnter');
54
- });
55
- component.update();
56
- expect(component.find(CheckedIcon)).toHaveLength(1);
57
- expect(component.find(SmallIconButton)).toHaveLength(0);
58
- expect(component.find(DropDownMenuButton)).toHaveLength(0);
59
- });
60
- it('should select on click', function () {
61
- var component = mount(React.createElement(ImageActionsOverlay, __assign({}, defaultProps, { selectionMode: true })));
62
- act(function () {
63
- component.simulate('click');
64
- });
65
- component.update();
66
- expect(defaultProps.onSelect).toHaveBeenCalled();
67
- component.setProps({ selected: true });
68
- component.update();
69
- expect(component.find(CheckedIcon).prop('checked')).toBe(true);
70
- expect(component.find(Button)).toHaveLength(1);
71
- expect(component.find(SmallIconButton)).toHaveLength(0);
72
- expect(component.find(DropDownMenuButton)).toHaveLength(0);
73
- });
74
- it('should deselect on click', function () {
75
- var component = mount(React.createElement(ImageActionsOverlay, __assign({}, defaultProps, { selectionMode: true, selected: true })));
76
- expect(component.find(CheckedIcon).prop('checked')).toBe(true);
77
- expect(component.find(Button)).toHaveLength(1);
78
- act(function () {
79
- component.simulate('click');
71
+ it('should render main parts on hover', function () { return __awaiter(void 0, void 0, void 0, function () {
72
+ var user;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ user = setUp().user;
77
+ expect(screen.queryByTestId('checked-button')).not.toBeInTheDocument();
78
+ expect(screen.queryByTestId('download-button')).not.toBeInTheDocument();
79
+ expect(screen.queryByTestId('image-overlay-actions')).not.toBeInTheDocument();
80
+ return [4 /*yield*/, user.hover(screen.getByTestId('image-actions-overlay'))];
81
+ case 1:
82
+ _a.sent();
83
+ expect(screen.getByTestId('checked-button')).toBeInTheDocument();
84
+ getMuiIconByName('RadioButtonUnchecked', screen.getByTestId('checked-button'));
85
+ expect(screen.getByTestId('download-button')).toBeInTheDocument();
86
+ expect(screen.getByTestId('image-overlay-actions')).toBeInTheDocument();
87
+ return [2 /*return*/];
88
+ }
80
89
  });
81
- component.update();
82
- expect(defaultProps.onDeselect).toHaveBeenCalled();
83
- component.setProps({ selected: false });
84
- component.update();
85
- expect(component.find(CheckedIcon).prop('checked')).toBe(false);
86
- expect(component.find(Button)).toHaveLength(0);
87
- expect(component.find(SmallIconButton)).toHaveLength(0);
88
- expect(component.find(DropDownMenuButton)).toHaveLength(0);
89
- });
90
- it('should deselect on button click', function () {
91
- var component = mount(React.createElement(ImageActionsOverlay, __assign({}, defaultProps, { selectionMode: true, selected: true })));
92
- expect(component.find(CheckedIcon).prop('checked')).toBe(true);
93
- expect(component.find(Button)).toHaveLength(1);
94
- act(function () {
95
- component.find(Button).find('button').simulate('click');
90
+ }); });
91
+ it('should show only checkbox in selection mode', function () { return __awaiter(void 0, void 0, void 0, function () {
92
+ var user;
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ user = setUp({ selectionMode: true }).user;
97
+ getMuiIconByName('RadioButtonUnchecked', screen.getByTestId('checked-button'));
98
+ expect(screen.queryByTestId('download-button')).not.toBeInTheDocument();
99
+ expect(screen.queryByTestId('image-overlay-actions')).not.toBeInTheDocument();
100
+ return [4 /*yield*/, user.hover(screen.getByTestId('image-actions-overlay'))];
101
+ case 1:
102
+ _a.sent();
103
+ getMuiIconByName('RadioButtonUnchecked', screen.getByTestId('checked-button'));
104
+ expect(screen.queryByTestId('download-button')).not.toBeInTheDocument();
105
+ expect(screen.queryByTestId('image-overlay-actions')).not.toBeInTheDocument();
106
+ return [2 /*return*/];
107
+ }
96
108
  });
97
- component.update();
98
- expect(defaultProps.onDeselect).toHaveBeenCalled();
99
- component.setProps({ selected: false });
100
- component.update();
101
- expect(component.find(CheckedIcon).prop('checked')).toBe(false);
102
- expect(component.find(Button)).toHaveLength(0);
103
- expect(component.find(SmallIconButton)).toHaveLength(0);
104
- expect(component.find(DropDownMenuButton)).toHaveLength(0);
105
- });
106
- it('should call onDownload prop', function () {
107
- var component = mount(React.createElement(ImageActionsOverlay, __assign({}, defaultProps)));
108
- act(function () {
109
- component.simulate('mouseEnter');
109
+ }); });
110
+ it('should select on click', function () { return __awaiter(void 0, void 0, void 0, function () {
111
+ var _a, user, rerender;
112
+ return __generator(this, function (_b) {
113
+ switch (_b.label) {
114
+ case 0:
115
+ _a = setUp({ selectionMode: true }), user = _a.user, rerender = _a.rerender;
116
+ return [4 /*yield*/, user.click(screen.getByTestId('image-actions-overlay'))];
117
+ case 1:
118
+ _b.sent();
119
+ expect(defaultProps.onSelect).toHaveBeenCalled();
120
+ rerender(React.createElement(ImageActionsOverlay, __assign({}, defaultProps, { selectionMode: true, selected: true })));
121
+ getMuiIconByName('CheckCircle', screen.getByTestId('checked-button'));
122
+ expect(screen.getByRole('button', { name: 'Deselect' })).toBeInTheDocument();
123
+ expect(screen.queryByTestId('download-button')).not.toBeInTheDocument();
124
+ expect(screen.queryByTestId('image-overlay-actions')).not.toBeInTheDocument();
125
+ return [2 /*return*/];
126
+ }
110
127
  });
111
- component.update();
112
- act(function () {
113
- component.find(SmallIconButton).first().find('button').simulate('click');
128
+ }); });
129
+ it('should deselect on click', function () { return __awaiter(void 0, void 0, void 0, function () {
130
+ var user;
131
+ return __generator(this, function (_a) {
132
+ switch (_a.label) {
133
+ case 0:
134
+ user = setUp({ selectionMode: true, selected: true }).user;
135
+ getMuiIconByName('CheckCircle', screen.getByTestId('checked-button'));
136
+ expect(screen.getByRole('button', { name: 'Deselect' })).toBeInTheDocument();
137
+ return [4 /*yield*/, user.click(screen.getByTestId('image-actions-overlay'))];
138
+ case 1:
139
+ _a.sent();
140
+ expect(defaultProps.onDeselect).toHaveBeenCalled();
141
+ return [2 /*return*/];
142
+ }
114
143
  });
115
- component.update();
116
- expect(defaultProps.onDownload).toHaveBeenCalled();
117
- });
118
- it('should call actions props', function () {
119
- var component = mount(React.createElement(ImageActionsOverlay, __assign({}, defaultProps)));
120
- act(function () {
121
- component.simulate('mouseEnter');
144
+ }); });
145
+ it('should deselect on button click', function () { return __awaiter(void 0, void 0, void 0, function () {
146
+ var user;
147
+ return __generator(this, function (_a) {
148
+ switch (_a.label) {
149
+ case 0:
150
+ user = setUp({ selectionMode: true, selected: true }).user;
151
+ getMuiIconByName('CheckCircle', screen.getByTestId('checked-button'));
152
+ return [4 /*yield*/, user.click(screen.getByRole('button', { name: 'Deselect' }))];
153
+ case 1:
154
+ _a.sent();
155
+ expect(defaultProps.onDeselect).toHaveBeenCalled();
156
+ return [2 /*return*/];
157
+ }
122
158
  });
123
- component.update();
124
- act(function () {
125
- component.find(DropDownMenuButton).find(SmallIconButton).find('button').simulate('click');
159
+ }); });
160
+ it('should call onDownload prop', function () { return __awaiter(void 0, void 0, void 0, function () {
161
+ var user;
162
+ return __generator(this, function (_a) {
163
+ switch (_a.label) {
164
+ case 0:
165
+ user = setUp().user;
166
+ return [4 /*yield*/, user.hover(screen.getByTestId('image-actions-overlay'))];
167
+ case 1:
168
+ _a.sent();
169
+ return [4 /*yield*/, user.click(screen.queryByTestId('download-button'))];
170
+ case 2:
171
+ _a.sent();
172
+ expect(defaultProps.onDownload).toHaveBeenCalled();
173
+ return [2 /*return*/];
174
+ }
126
175
  });
127
- component.update();
128
- component.find(MenuItem).at(0).find('li').at(0).simulate('click');
129
- component.find(MenuItem).at(1).find('li').at(0).simulate('click');
130
- component.find(MenuItem).at(2).find('li').at(0).simulate('click');
131
- expect(defaultProps.onShareLink).toHaveBeenCalled();
132
- expect(defaultProps.onSetAsDefault).toHaveBeenCalled();
133
- expect(defaultProps.onDelete).toHaveBeenCalled();
134
- });
135
- it('should filter undefined action props', function () {
136
- var component = mount(React.createElement(ImageActionsOverlay, __assign({}, defaultProps, { onShareLink: undefined, onDelete: undefined })));
137
- act(function () {
138
- component.simulate('mouseEnter');
176
+ }); });
177
+ it('should call actions props', function () { return __awaiter(void 0, void 0, void 0, function () {
178
+ var user;
179
+ return __generator(this, function (_a) {
180
+ switch (_a.label) {
181
+ case 0:
182
+ user = setUp().user;
183
+ return [4 /*yield*/, user.hover(screen.getByTestId('image-actions-overlay'))];
184
+ case 1:
185
+ _a.sent();
186
+ return [4 /*yield*/, user.click(screen.queryByTestId('image-overlay-actions'))];
187
+ case 2:
188
+ _a.sent();
189
+ return [4 /*yield*/, user.click(screen.getByText('Share link'))];
190
+ case 3:
191
+ _a.sent();
192
+ expect(defaultProps.onShareLink).toHaveBeenCalled();
193
+ return [4 /*yield*/, user.click(screen.queryByTestId('image-overlay-actions'))];
194
+ case 4:
195
+ _a.sent();
196
+ return [4 /*yield*/, user.click(screen.getByText('Set as default'))];
197
+ case 5:
198
+ _a.sent();
199
+ expect(defaultProps.onSetAsDefault).toHaveBeenCalled();
200
+ return [4 /*yield*/, user.click(screen.queryByTestId('image-overlay-actions'))];
201
+ case 6:
202
+ _a.sent();
203
+ return [4 /*yield*/, user.click(screen.getByText('Delete'))];
204
+ case 7:
205
+ _a.sent();
206
+ expect(defaultProps.onDelete).toHaveBeenCalled();
207
+ return [2 /*return*/];
208
+ }
139
209
  });
140
- component.update();
141
- expect(component.find(DropDownMenuButton).prop('menuItems')).toEqual([
142
- {
143
- text: 'Set as default',
144
- onClick: defaultProps.onSetAsDefault
210
+ }); });
211
+ it('should filter undefined action props', function () { return __awaiter(void 0, void 0, void 0, function () {
212
+ var user;
213
+ return __generator(this, function (_a) {
214
+ switch (_a.label) {
215
+ case 0:
216
+ user = setUp({ onShareLink: undefined, onDelete: undefined }).user;
217
+ return [4 /*yield*/, user.hover(screen.getByTestId('image-actions-overlay'))];
218
+ case 1:
219
+ _a.sent();
220
+ return [4 /*yield*/, user.click(screen.queryByTestId('image-overlay-actions'))];
221
+ case 2:
222
+ _a.sent();
223
+ expect(screen.queryByText('Share link')).not.toBeInTheDocument();
224
+ expect(screen.queryByText('Delete')).not.toBeInTheDocument();
225
+ expect(screen.getByText('Set as default')).toBeInTheDocument();
226
+ return [2 /*return*/];
145
227
  }
146
- ]);
147
- });
228
+ });
229
+ }); });
148
230
  });
@@ -7,5 +7,5 @@ export var CheckedIcon = function (_a) {
7
7
  var checked = _a.checked, className = _a.className, onClick = _a.onClick;
8
8
  var styles = useStyles();
9
9
  var Icon = checked ? CheckCircleIcon : RadioButtonUncheckedIcon;
10
- return React.createElement(Icon, { className: classnames(styles.root, className), onClick: onClick });
10
+ return React.createElement(Icon, { "data-reltio-id": "checked-button", className: classnames(styles.root, className), onClick: onClick });
11
11
  };