@reltio/components 1.4.2051 → 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 (171) hide show
  1. package/AttributeListItem/AttributeListItem.d.ts +1 -1
  2. package/ChartTooltip/ChartTooltip.js +3 -3
  3. package/ColumnsSettings/components/ColumnListItem/ColumnListItem.d.ts +11 -26
  4. package/ColumnsSettings/components/ColumnListItem/ColumnListItem.js +0 -14
  5. package/DropDownMenuButton/DropDownMenuButton.js +1 -1
  6. package/HOCs/withAsyncMount/withAsyncMount.test.js +52 -52
  7. package/IgnoreButton/IgnoreButton.spec.js +109 -20
  8. package/Image/Image.d.ts +1 -1
  9. package/Image/Image.js +8 -8
  10. package/Image/Image.test.js +46 -51
  11. package/ImageActionsOverlay/ImageActionsOverlay.js +2 -1
  12. package/ImageActionsOverlay/ImageActionsOverlay.test.js +207 -125
  13. package/ImageActionsOverlay/components/CheckedIcon/CheckedIcon.js +1 -1
  14. package/ImageAttributesGallery/ImageAttributesGallery.test.js +525 -281
  15. package/ImageAttributesLine/ImageAttributesLine.js +1 -1
  16. package/ImageAttributesLine/ImageAttributesLine.test.js +187 -193
  17. package/ImageAttributesLine/imageAttributeValues.test-data.d.ts +10 -0
  18. package/ImageAttributesLine/imageAttributeValues.test-data.js +22 -0
  19. package/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +315 -298
  20. package/ImageDetailsView/ImageDetailsView.test.js +529 -55
  21. package/ImageDetailsView/attributes.test-data.d.ts +4 -1
  22. package/ImageDetailsView/attributes.test-data.js +98 -1
  23. package/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.js +2 -2
  24. package/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.js +1 -1
  25. package/ImageDetailsView/components/MetaInfoList/MetaInfoList.js +1 -1
  26. package/ImageDetailsView/components/Thumbnails/Thumbnails.js +1 -1
  27. package/ImageDetailsView/helpers.test.js +4 -4
  28. package/ImageGalleryDialog/ImageGalleryDialog.test.js +89 -46
  29. package/ImportButton/ImportButton.test.js +94 -24
  30. package/InlineAttributesList/InlineAttributesList.test.js +22 -62
  31. package/InlineAttributesList/attributes.test-data.d.ts +4 -2
  32. package/InlineAttributesList/attributes.test-data.js +40 -1
  33. package/InlineAttributesPager/InlineAttributesPager.d.ts +1 -2
  34. package/InlineAttributesPager/InlineAttributesPager.js +1 -4
  35. package/InlineAttributesPager/InlineAttributesPager.test.js +393 -183
  36. package/InlineComplexAttribute/InlineComplexAttribute.js +1 -1
  37. package/InlineComplexAttribute/InlineComplexAttribute.test.js +396 -182
  38. package/InlineImageAttribute/InlineImageAttribute.test.js +103 -55
  39. package/InlineNestedAttribute/InlineNestedAttribute.test.js +105 -43
  40. package/InlineReferenceAttribute/InlineReferenceAttribute.test.js +165 -107
  41. package/InlineSimpleAttribute/InlineSimpleAttribute.spec.js +352 -346
  42. package/InlineSimpleAttributeEditor/InlineSimpleAttributeEditor.test.js +285 -194
  43. package/InternalLink/InternalLink.test.js +41 -11
  44. package/LookupEditor/LookupEditor.test.js +180 -44
  45. package/LookupEditor/components/GroupedDropDownEditor/helpers.test.js +1 -1
  46. package/MapChart/MapChart.js +3 -8
  47. package/MapChart/MapChart.test.js +152 -188
  48. package/MapChart/components/Legend/Legend.js +3 -3
  49. package/MaskingSwitcher/MaskingSwitcher.js +1 -1
  50. package/MatchRulesBadge/MatchRulesBadge.test.js +93 -24
  51. package/SelectEditor/SelectEditor.d.ts +4 -10
  52. package/SelectEditor/SelectEditor.js +0 -4
  53. package/SelectEditor/SelectEditor.test.js +79 -9
  54. package/cjs/AttributeListItem/AttributeListItem.d.ts +1 -1
  55. package/cjs/ChartTooltip/ChartTooltip.js +3 -3
  56. package/cjs/ColumnsSettings/components/ColumnListItem/ColumnListItem.d.ts +11 -26
  57. package/cjs/ColumnsSettings/components/ColumnListItem/ColumnListItem.js +0 -14
  58. package/cjs/DropDownMenuButton/DropDownMenuButton.js +1 -1
  59. package/cjs/HOCs/withAsyncMount/withAsyncMount.test.js +56 -56
  60. package/cjs/IgnoreButton/IgnoreButton.spec.js +109 -20
  61. package/cjs/Image/Image.d.ts +1 -1
  62. package/cjs/Image/Image.js +8 -8
  63. package/cjs/Image/Image.test.js +46 -51
  64. package/cjs/ImageActionsOverlay/ImageActionsOverlay.js +2 -1
  65. package/cjs/ImageActionsOverlay/ImageActionsOverlay.test.js +207 -125
  66. package/cjs/ImageActionsOverlay/components/CheckedIcon/CheckedIcon.js +1 -1
  67. package/cjs/ImageAttributesGallery/ImageAttributesGallery.test.js +525 -281
  68. package/cjs/ImageAttributesLine/ImageAttributesLine.js +1 -1
  69. package/cjs/ImageAttributesLine/ImageAttributesLine.test.js +195 -224
  70. package/cjs/ImageAttributesLine/imageAttributeValues.test-data.d.ts +10 -0
  71. package/cjs/ImageAttributesLine/imageAttributeValues.test-data.js +23 -1
  72. package/cjs/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +316 -299
  73. package/cjs/ImageDetailsView/ImageDetailsView.test.js +529 -55
  74. package/cjs/ImageDetailsView/attributes.test-data.d.ts +4 -1
  75. package/cjs/ImageDetailsView/attributes.test-data.js +99 -2
  76. package/cjs/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.js +2 -2
  77. package/cjs/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.js +1 -1
  78. package/cjs/ImageDetailsView/components/MetaInfoList/MetaInfoList.js +1 -1
  79. package/cjs/ImageDetailsView/components/Thumbnails/Thumbnails.js +1 -1
  80. package/cjs/ImageDetailsView/helpers.test.js +3 -3
  81. package/cjs/ImageGalleryDialog/ImageGalleryDialog.test.js +89 -46
  82. package/cjs/ImportButton/ImportButton.test.js +94 -24
  83. package/cjs/InlineAttributesList/InlineAttributesList.test.js +22 -62
  84. package/cjs/InlineAttributesList/attributes.test-data.d.ts +4 -2
  85. package/cjs/InlineAttributesList/attributes.test-data.js +41 -2
  86. package/cjs/InlineAttributesPager/InlineAttributesPager.d.ts +1 -2
  87. package/cjs/InlineAttributesPager/InlineAttributesPager.js +1 -4
  88. package/cjs/InlineAttributesPager/InlineAttributesPager.test.js +393 -183
  89. package/cjs/InlineComplexAttribute/InlineComplexAttribute.js +1 -1
  90. package/cjs/InlineComplexAttribute/InlineComplexAttribute.test.js +395 -204
  91. package/cjs/InlineImageAttribute/InlineImageAttribute.test.js +103 -55
  92. package/cjs/InlineNestedAttribute/InlineNestedAttribute.test.js +105 -43
  93. package/cjs/InlineReferenceAttribute/InlineReferenceAttribute.test.js +164 -106
  94. package/cjs/InlineSimpleAttribute/InlineSimpleAttribute.spec.js +351 -345
  95. package/cjs/InlineSimpleAttributeEditor/InlineSimpleAttributeEditor.test.js +307 -193
  96. package/cjs/InternalLink/InternalLink.test.js +40 -10
  97. package/cjs/LookupEditor/LookupEditor.test.js +178 -65
  98. package/cjs/LookupEditor/components/GroupedDropDownEditor/helpers.test.js +1 -1
  99. package/cjs/MapChart/MapChart.js +3 -8
  100. package/cjs/MapChart/MapChart.test.js +152 -188
  101. package/cjs/MapChart/components/Legend/Legend.js +3 -3
  102. package/cjs/MaskingSwitcher/MaskingSwitcher.js +1 -1
  103. package/cjs/MatchRulesBadge/MatchRulesBadge.test.js +93 -24
  104. package/cjs/SelectEditor/SelectEditor.d.ts +4 -10
  105. package/cjs/SelectEditor/SelectEditor.js +0 -4
  106. package/cjs/SelectEditor/SelectEditor.test.js +79 -9
  107. package/cjs/hooks/useAsyncMount/useAsyncMount.d.ts +1 -1
  108. package/cjs/hooks/useAsyncMount/useAsyncMount.js +1 -1
  109. package/hooks/useAsyncMount/useAsyncMount.d.ts +1 -1
  110. package/hooks/useAsyncMount/useAsyncMount.js +1 -1
  111. package/package.json +1 -1
  112. package/HOCs/withTableContext/withTableContext.test.d.ts +0 -1
  113. package/HOCs/withTableContext/withTableContext.test.js +0 -41
  114. package/ImageAttributesGallery/components/GalleryView/GalleryView.test.d.ts +0 -1
  115. package/ImageAttributesGallery/components/GalleryView/GalleryView.test.js +0 -98
  116. package/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.test.d.ts +0 -1
  117. package/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.test.js +0 -99
  118. package/ImageDetailsView/components/ImageDetailsViewSidebar/ImageDetailsViewSidebar.test.d.ts +0 -1
  119. package/ImageDetailsView/components/ImageDetailsViewSidebar/ImageDetailsViewSidebar.test.js +0 -65
  120. package/ImageDetailsView/components/MetaInfo/MetaInfo.test.d.ts +0 -1
  121. package/ImageDetailsView/components/MetaInfo/MetaInfo.test.js +0 -306
  122. package/ImageDetailsView/components/MetaInfoForm/MetaInfoForm.test.d.ts +0 -1
  123. package/ImageDetailsView/components/MetaInfoForm/MetaInfoForm.test.js +0 -134
  124. package/ImageDetailsView/components/MetaInfoHeader/MetaInfoHeader.test.d.ts +0 -1
  125. package/ImageDetailsView/components/MetaInfoHeader/MetaInfoHeader.test.js +0 -99
  126. package/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.test.d.ts +0 -1
  127. package/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.test.js +0 -36
  128. package/ImageDetailsView/components/MetaInfoList/MetaInfoList.test.d.ts +0 -1
  129. package/ImageDetailsView/components/MetaInfoList/MetaInfoList.test.js +0 -161
  130. package/ImageDetailsView/components/Thumbnails/Thumbnails.test.d.ts +0 -1
  131. package/ImageDetailsView/components/Thumbnails/Thumbnails.test.js +0 -76
  132. package/InlineAttributesPager/components/InlineImageAttributesBlock/InlineImageAttributesBlock.test.d.ts +0 -1
  133. package/InlineAttributesPager/components/InlineImageAttributesBlock/InlineImageAttributesBlock.test.js +0 -104
  134. package/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.d.ts +0 -1
  135. package/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.js +0 -114
  136. package/InlineAttributesPager/components/InlineReferenceAttributesBlock/InlineReferenceAttributesBlock.test.d.ts +0 -1
  137. package/InlineAttributesPager/components/InlineReferenceAttributesBlock/InlineReferenceAttributesBlock.test.js +0 -177
  138. package/InlineSimpleAttribute/components/CrosswalkMenuItem/CrosswalkMenuItem.spec.d.ts +0 -1
  139. package/InlineSimpleAttribute/components/CrosswalkMenuItem/CrosswalkMenuItem.spec.js +0 -52
  140. package/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.d.ts +0 -1
  141. package/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.js +0 -37
  142. package/cjs/HOCs/withTableContext/withTableContext.test.d.ts +0 -1
  143. package/cjs/HOCs/withTableContext/withTableContext.test.js +0 -46
  144. package/cjs/ImageAttributesGallery/components/GalleryView/GalleryView.test.d.ts +0 -1
  145. package/cjs/ImageAttributesGallery/components/GalleryView/GalleryView.test.js +0 -103
  146. package/cjs/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.test.d.ts +0 -1
  147. package/cjs/ImageDetailsView/components/ImageDetailsViewCarousel/ImageDetailsViewCarousel.test.js +0 -104
  148. package/cjs/ImageDetailsView/components/ImageDetailsViewSidebar/ImageDetailsViewSidebar.test.d.ts +0 -1
  149. package/cjs/ImageDetailsView/components/ImageDetailsViewSidebar/ImageDetailsViewSidebar.test.js +0 -70
  150. package/cjs/ImageDetailsView/components/MetaInfo/MetaInfo.test.d.ts +0 -1
  151. package/cjs/ImageDetailsView/components/MetaInfo/MetaInfo.test.js +0 -311
  152. package/cjs/ImageDetailsView/components/MetaInfoForm/MetaInfoForm.test.d.ts +0 -1
  153. package/cjs/ImageDetailsView/components/MetaInfoForm/MetaInfoForm.test.js +0 -139
  154. package/cjs/ImageDetailsView/components/MetaInfoHeader/MetaInfoHeader.test.d.ts +0 -1
  155. package/cjs/ImageDetailsView/components/MetaInfoHeader/MetaInfoHeader.test.js +0 -104
  156. package/cjs/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.test.d.ts +0 -1
  157. package/cjs/ImageDetailsView/components/MetaInfoItem/MetaInfoItem.test.js +0 -41
  158. package/cjs/ImageDetailsView/components/MetaInfoList/MetaInfoList.test.d.ts +0 -1
  159. package/cjs/ImageDetailsView/components/MetaInfoList/MetaInfoList.test.js +0 -166
  160. package/cjs/ImageDetailsView/components/Thumbnails/Thumbnails.test.d.ts +0 -1
  161. package/cjs/ImageDetailsView/components/Thumbnails/Thumbnails.test.js +0 -81
  162. package/cjs/InlineAttributesPager/components/InlineImageAttributesBlock/InlineImageAttributesBlock.test.d.ts +0 -1
  163. package/cjs/InlineAttributesPager/components/InlineImageAttributesBlock/InlineImageAttributesBlock.test.js +0 -109
  164. package/cjs/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.d.ts +0 -1
  165. package/cjs/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.js +0 -119
  166. package/cjs/InlineAttributesPager/components/InlineReferenceAttributesBlock/InlineReferenceAttributesBlock.test.d.ts +0 -1
  167. package/cjs/InlineAttributesPager/components/InlineReferenceAttributesBlock/InlineReferenceAttributesBlock.test.js +0 -182
  168. package/cjs/InlineSimpleAttribute/components/CrosswalkMenuItem/CrosswalkMenuItem.spec.d.ts +0 -1
  169. package/cjs/InlineSimpleAttribute/components/CrosswalkMenuItem/CrosswalkMenuItem.spec.js +0 -57
  170. package/cjs/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.d.ts +0 -1
  171. package/cjs/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.js +0 -42
@@ -10,36 +10,69 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
51
  };
16
52
  Object.defineProperty(exports, "__esModule", { value: true });
17
53
  var react_1 = __importDefault(require("react"));
18
- var test_utils_1 = require("react-dom/test-utils");
19
- var react_resize_detector_1 = __importDefault(require("react-resize-detector"));
20
- var enzyme_1 = require("enzyme");
54
+ var jsdom_testing_mocks_1 = require("jsdom-testing-mocks");
55
+ var react_2 = require("@testing-library/react");
56
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
21
57
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
22
- var Image_1 = require("../Image");
23
- var EmptyStub_1 = require("../EmptyStub");
24
- var ImageActionsOverlay_1 = require("../ImageActionsOverlay");
25
- var ImageAttributesGallery_1 = require("../ImageAttributesGallery");
26
- var ImageAttributesLine_1 = require("../ImageAttributesLine");
27
- var ImageAttributesLineEditor_1 = require("./ImageAttributesLineEditor");
28
- var UploadImageDialog_1 = require("../UploadImageDialog");
58
+ var styles_1 = require("@mui/styles");
59
+ var styles_2 = require("@mui/material/styles");
60
+ var constants_1 = require("../constants");
61
+ var helpers_1 = require("../ImageAttributesLine/helpers");
62
+ var imageAttributeValues_test_data_1 = require("../ImageAttributesLine/imageAttributeValues.test-data");
29
63
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
30
- jest.mock('../ImageAttributesGallery', function () { return ({
31
- ImageAttributesGallery: jest.fn()
32
- }); });
64
+ var ImageAttributesLineEditor_1 = require("./ImageAttributesLineEditor");
65
+ jest.unmock('@mui/styles');
66
+ jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { insertDefaultImageByAttrUri: jest.fn().mockReturnValue({ then: function (f) { return f({ status: 'success' }); } }), uploadImage: jest.fn() })); });
33
67
  jest.mock('../ImageAttributesLine/helpers', function () { return ({
34
68
  downloadImagesByURLs: jest.fn()
35
69
  }); });
36
- jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { insertDefaultImageByAttrUri: jest.fn().mockReturnValue({ then: function (f) { return f({ status: 'success' }); } }), generateUri: jest.fn().mockImplementation(function (parentUri, name) { return "".concat(parentUri, "/").concat(name); }) })); });
37
- var entity = { uri: 'entityuri' };
70
+ var entity = { uri: 'entities/1Rd2I9Mt' };
38
71
  var modifiedEntities = {
39
- entityuri: {
40
- defaultProfilePic: 'uri1',
41
- uri: 'entityuri',
42
- type: 'configuration/entityTypes/Series'
72
+ 'entities/1Rd2I9Mt': {
73
+ defaultProfilePic: 'entities/1Rd2I9Mt/attributes/ImageGallery/39V5GWJZv',
74
+ uri: 'entities/01eLeVm',
75
+ type: 'configuration/entityTypes/HCP'
43
76
  }
44
77
  };
45
78
  var defaultMdmValues = {
@@ -48,10 +81,7 @@ var defaultMdmValues = {
48
81
  mode: mdm_sdk_1.Mode.Viewing,
49
82
  imageServicePath: '',
50
83
  environment: '',
51
- tenant: {
52
- id: 'tenant',
53
- name: 'tenant'
54
- }
84
+ tenant: { id: 'tenant', name: 'tenant' }
55
85
  };
56
86
  var defaultMdmActions = {
57
87
  setDefaultProfilePicForModifiedEntity: jest.fn(),
@@ -60,309 +90,296 @@ var defaultMdmActions = {
60
90
  var onChangeAttribute = jest.fn();
61
91
  var onDeleteAttribute = jest.fn();
62
92
  var defaultProps = {
63
- attributeValues: [{ uri: 'uri12' }],
64
- attributeType: {
65
- name: 'ImageGallery',
66
- type: '',
67
- uri: 'uri',
68
- attributes: [
69
- {
70
- name: 'CdnUrl',
71
- type: 'String',
72
- uri: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/CdnUrl'
73
- },
74
- {
75
- name: 'CdnUrlPreview',
76
- type: 'String',
77
- uri: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/CdnUrlPreview'
78
- },
79
- {
80
- name: 'CdnUrlThumbnail',
81
- type: 'String',
82
- uri: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/CdnUrlThumbnail'
83
- },
84
- {
85
- name: 'CreationTimestamp',
86
- type: 'String',
87
- uri: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/CdnUrlThumbnail'
88
- }
89
- ]
90
- },
91
- parentUri: '1',
93
+ attributeValues: imageAttributeValues_test_data_1.imageAttributeValues,
94
+ attributeType: imageAttributeValues_test_data_1.attributeType,
95
+ parentUri: 'entities/01eLeVm',
92
96
  onDeleteAttribute: onDeleteAttribute,
93
97
  onChangeAttribute: onChangeAttribute
94
98
  };
95
99
  var setUp = function (_a) {
96
- var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? defaultProps : _c, _d = _b.mdmValues, mdmValues = _d === void 0 ? defaultMdmValues : _d, _e = _b.mdmActions, mdmActions = _e === void 0 ? defaultMdmActions : _e;
97
- return (0, enzyme_1.mount)(react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues, actions: mdmActions },
98
- react_1.default.createElement(ImageAttributesLineEditor_1.ImageAttributesLineEditor, __assign({}, props))));
100
+ var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? {} : _c, _d = _b.mdmValues, mdmValues = _d === void 0 ? {} : _d, _e = _b.mdmActions, mdmActions = _e === void 0 ? {} : _e;
101
+ var user = user_event_1.default.setup({ skipHover: true });
102
+ var Providers = function (_a) {
103
+ var children = _a.children;
104
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: __assign(__assign({}, defaultMdmValues), mdmValues), actions: __assign(__assign({}, defaultMdmActions), mdmActions) },
105
+ react_1.default.createElement(styles_1.ThemeProvider, { theme: (0, styles_2.createTheme)(constants_1.theme) }, children)));
106
+ };
107
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(ImageAttributesLineEditor_1.ImageAttributesLineEditor, __assign({}, defaultProps, props)), { wrapper: Providers }));
99
108
  };
100
109
  describe('ImageAttributesLineEditor edit tests', function () {
101
- beforeAll(function () {
102
- ImageAttributesGallery_1.ImageAttributesGallery.mockImplementation(EmptyStub_1.EmptyStub);
103
- Object.assign(navigator, { clipboard: { writeText: jest.fn() } });
110
+ var resizeObserver = (0, jsdom_testing_mocks_1.mockResizeObserver)();
111
+ beforeEach(function () {
112
+ jest.clearAllMocks();
104
113
  });
105
114
  it('should render main parts', function () {
106
- var component = setUp();
107
- expect(component.find(ImageAttributesLine_1.ImageAttributesLine)).toHaveLength(1);
108
- expect(component.find(Image_1.Image)).toHaveLength(0);
109
- });
110
- it('should provide correct props to ImageAttributesLine', function () {
111
- var requestNextPageOfAttributeValues = jest.fn();
112
- var props = __assign(__assign({}, defaultProps), { attributeValues: ImageAttributesLine_1.imageAttributeValues, requestNextPageOfAttributeValues: requestNextPageOfAttributeValues, paging: {}, parentUri: 'parentUri', showNonOv: false });
113
- var component = setUp({ props: props });
114
- expect(component.find(ImageAttributesLine_1.ImageAttributesLine).props()).toMatchObject({
115
- requestNextPageOfAttributeValues: expect.any(Function),
116
- paging: {},
117
- parentUri: 'parentUri',
118
- showNonOv: false
115
+ setUp();
116
+ var container = react_2.screen.getByTestId('image-line-edit-mode');
117
+ resizeObserver.mockElementSize(container, { contentBoxSize: { inlineSize: 600 } });
118
+ (0, react_2.act)(function () {
119
+ resizeObserver.resize();
119
120
  });
121
+ expect(react_2.screen.getByTestId('reltio-upload-image-button')).toBeInTheDocument();
122
+ var images = react_2.screen.getAllByRole('img', { hidden: true });
123
+ expect(images).toHaveLength(3);
120
124
  });
121
125
  it('should provide custom sizeImage to Image and ImageAttributesLine', function () {
122
126
  var imageSize = { imageMargin: 40, imageWidth: 11, imageHeight: 3 };
123
- var props = __assign(__assign({}, defaultProps), { attributeValues: ImageAttributesLine_1.imageAttributeValues, imageSize: imageSize });
124
- var component = setUp({ props: props });
125
- (0, test_utils_1.act)(function () {
126
- var onResize = component.find(react_resize_detector_1.default).prop('onResize');
127
- onResize(600);
128
- });
129
- component.update();
130
- expect(component.find(Image_1.Image)).toHaveLength(3);
131
- var image = component.find(Image_1.Image).first();
132
- expect(image.prop('size')).toEqual({
133
- imageWidth: imageSize.imageWidth,
134
- imageHeight: imageSize.imageHeight
127
+ setUp({ props: { imageSize: imageSize } });
128
+ var container = react_2.screen.getByTestId('image-line-edit-mode');
129
+ resizeObserver.mockElementSize(container, { contentBoxSize: { inlineSize: 300 } });
130
+ (0, react_2.act)(function () {
131
+ resizeObserver.resize();
135
132
  });
136
- expect(component.find(ImageAttributesLine_1.ImageAttributesLine).prop('imageSize')).toEqual(imageSize);
133
+ var images = react_2.screen.getAllByRole('img', { hidden: true });
134
+ expect(images).toHaveLength(3);
135
+ var computedStyles = getComputedStyle(images[0]);
136
+ expect(computedStyles.width).toBe('11px');
137
+ expect(computedStyles.height).toBe('3px');
137
138
  });
138
139
  it('should render images', function () {
139
- var props = __assign(__assign({}, defaultProps), { attributeValues: ImageAttributesLine_1.imageAttributeValues });
140
- var component = setUp({ props: props });
141
- (0, test_utils_1.act)(function () {
142
- var onResize = component.find(react_resize_detector_1.default).prop('onResize');
143
- onResize(600);
140
+ setUp({ props: { attributeValues: imageAttributeValues_test_data_1.imageAttributeValues } });
141
+ var container = react_2.screen.getByTestId('image-line-edit-mode');
142
+ resizeObserver.mockElementSize(container, { contentBoxSize: { inlineSize: 600 } });
143
+ (0, react_2.act)(function () {
144
+ resizeObserver.resize();
144
145
  });
145
- component.update();
146
- var images = component.find(Image_1.Image);
146
+ var images = react_2.screen.getAllByRole('img', { hidden: true });
147
147
  expect(images).toHaveLength(3);
148
- expect(images.map(function (image) { return image.prop('src'); })).toEqual(['/test.jpg', '/test2.jpg', '/wrong.jpg']);
148
+ expect(images[0]).toHaveAttribute('src', '/test.jpg');
149
+ expect(images[1]).toHaveAttribute('src', '/test2.jpg');
150
+ expect(images[2]).toHaveAttribute('src', '/wrong.jpg');
149
151
  });
150
- it('should open gallery dialog on image overlay click', function () {
151
- var props = __assign(__assign({}, defaultProps), { attributeValues: ImageAttributesLine_1.imageAttributeValues });
152
- var component = setUp({ props: props });
153
- (0, test_utils_1.act)(function () {
154
- var onResize = component.find(react_resize_detector_1.default).prop('onResize');
155
- onResize(600);
156
- });
157
- component.update();
158
- expect(component.find(ImageAttributesGallery_1.ImageAttributesGallery).prop('open')).toBe(false);
159
- (0, test_utils_1.act)(function () {
160
- component.find(Image_1.Image).first().find('img').simulate('load');
161
- });
162
- component.update();
163
- (0, test_utils_1.act)(function () {
164
- var _a;
165
- (_a = component.find(ImageActionsOverlay_1.ImageActionsOverlay).first().prop('onClick')) === null || _a === void 0 ? void 0 : _a();
166
- });
167
- component.update();
168
- expect(component.find(ImageAttributesGallery_1.ImageAttributesGallery).prop('open')).toBe(true);
169
- });
170
- it('should call image overlay actions', function () {
171
- var _a;
172
- var setDefaultProfilePicForEntity = defaultMdmActions.setDefaultProfilePicForEntity;
173
- var props = __assign(__assign({}, defaultProps), { attributeValues: ImageAttributesLine_1.imageAttributeValues });
174
- var component = setUp({ props: props });
175
- (0, test_utils_1.act)(function () {
176
- var onResize = component.find(react_resize_detector_1.default).prop('onResize');
177
- onResize(600);
178
- });
179
- component.update();
180
- (0, test_utils_1.act)(function () {
181
- component.find(Image_1.Image).first().find('img').simulate('load');
182
- });
183
- component.update();
184
- var firstImageOverlay = component.find(ImageActionsOverlay_1.ImageActionsOverlay).first();
185
- var image = (_a = ImageAttributesLine_1.imageAttributeValues[0].value.Url) === null || _a === void 0 ? void 0 : _a[0].value;
186
- (0, test_utils_1.act)(function () {
187
- var _a;
188
- (_a = firstImageOverlay.prop('onDownload')) === null || _a === void 0 ? void 0 : _a();
189
- });
190
- expect(ImageAttributesLine_1.downloadImagesByURLs).toHaveBeenCalledWith([image]);
191
- (0, test_utils_1.act)(function () {
192
- var _a;
193
- (_a = firstImageOverlay.prop('onShareLink')) === null || _a === void 0 ? void 0 : _a();
194
- });
195
- expect(navigator.clipboard.writeText).toHaveBeenCalledWith(image);
196
- (0, test_utils_1.act)(function () {
197
- var _a;
198
- (_a = firstImageOverlay.prop('onSetAsDefault')) === null || _a === void 0 ? void 0 : _a();
199
- });
200
- expect(mdm_sdk_1.insertDefaultImageByAttrUri).toHaveBeenCalledWith('entityuri', ImageAttributesLine_1.imageAttributeValues[0].uri);
201
- expect(setDefaultProfilePicForEntity).toHaveBeenCalledWith(ImageAttributesLine_1.imageAttributeValues[0]);
202
- (0, test_utils_1.act)(function () {
203
- var _a;
204
- (_a = firstImageOverlay.prop('onDelete')) === null || _a === void 0 ? void 0 : _a();
205
- });
206
- expect(defaultProps.onDeleteAttribute).toHaveBeenCalledWith({
207
- uri: ImageAttributesLine_1.imageAttributeValues[0].uri,
208
- attributeType: defaultProps.attributeType
152
+ it('should open gallery dialog on image overlay click', function () { return __awaiter(void 0, void 0, void 0, function () {
153
+ var user, container;
154
+ return __generator(this, function (_a) {
155
+ switch (_a.label) {
156
+ case 0:
157
+ user = setUp({ props: { attributeValues: imageAttributeValues_test_data_1.imageAttributeValues } }).user;
158
+ expect(react_2.screen.queryByRole('dialog')).not.toBeInTheDocument();
159
+ container = react_2.screen.getByTestId('image-line-edit-mode');
160
+ resizeObserver.mockElementSize(container, { contentBoxSize: { inlineSize: 600 } });
161
+ (0, react_2.act)(function () {
162
+ resizeObserver.resize();
163
+ });
164
+ return [4 /*yield*/, user.click(react_2.screen.getAllByRole('img', { hidden: true })[0])];
165
+ case 1:
166
+ _a.sent();
167
+ expect(react_2.screen.getByRole('dialog')).toBeInTheDocument();
168
+ expect(react_2.screen.getByTestId('thumbnails-container').childNodes).toHaveLength(3);
169
+ expect(react_2.screen.getByText('Gallery')).toBeInTheDocument();
170
+ expect(react_2.screen.getByText('Meta info')).toBeInTheDocument();
171
+ expect(react_2.screen.getAllByTestId('image-meta-info-item')[0].querySelector('a')).toHaveAttribute('href', '/test.jpg');
172
+ return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Close'))];
173
+ case 2:
174
+ _a.sent();
175
+ return [4 /*yield*/, (0, react_2.waitForElementToBeRemoved)(react_2.screen.queryByRole('dialog'))];
176
+ case 3:
177
+ _a.sent();
178
+ return [2 /*return*/];
179
+ }
209
180
  });
210
- });
211
- it('should open and close UploadImageDialog by clicking on .uploadContainer', function () {
212
- var component = setUp();
213
- expect(component.find(UploadImageDialog_1.UploadImageDialog).prop('open')).toBe(false);
214
- component.find('.uploadContainer').simulate('click');
215
- component.update();
216
- expect(component.find(UploadImageDialog_1.UploadImageDialog).prop('open')).toBe(true);
217
- component.find('.uploadContainer').simulate('click');
218
- component.update();
219
- expect(component.find(UploadImageDialog_1.UploadImageDialog).prop('open')).toBe(false);
220
- (0, test_utils_1.act)(function () {
221
- var _a;
222
- (_a = component.find(ImageAttributesLine_1.ImageAttributesLine).prop('onUpload')) === null || _a === void 0 ? void 0 : _a();
181
+ }); });
182
+ it('should call image overlay actions', function () { return __awaiter(void 0, void 0, void 0, function () {
183
+ var user, container, clipboardText;
184
+ return __generator(this, function (_a) {
185
+ switch (_a.label) {
186
+ case 0:
187
+ user = setUp({ props: { attributeValues: imageAttributeValues_test_data_1.imageAttributeValues, overlay: true } }).user;
188
+ container = react_2.screen.getByTestId('image-line-edit-mode');
189
+ resizeObserver.mockElementSize(container, { contentBoxSize: { inlineSize: 600 } });
190
+ (0, react_2.act)(function () {
191
+ resizeObserver.resize();
192
+ });
193
+ react_2.fireEvent.load(react_2.screen.getAllByRole('img', { hidden: true })[0]);
194
+ return [4 /*yield*/, user.hover(react_2.screen.getByTestId('image-actions-overlay'))];
195
+ case 1:
196
+ _a.sent();
197
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('download-button'))];
198
+ case 2:
199
+ _a.sent();
200
+ expect(helpers_1.downloadImagesByURLs).toHaveBeenCalledWith(['/test.jpg']);
201
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('image-overlay-actions'))];
202
+ case 3:
203
+ _a.sent();
204
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Share link'))];
205
+ case 4:
206
+ _a.sent();
207
+ return [4 /*yield*/, navigator.clipboard.readText()];
208
+ case 5:
209
+ clipboardText = _a.sent();
210
+ expect(clipboardText).toBe('/test.jpg');
211
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('image-overlay-actions'))];
212
+ case 6:
213
+ _a.sent();
214
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Set as default'))];
215
+ case 7:
216
+ _a.sent();
217
+ expect(mdm_sdk_1.insertDefaultImageByAttrUri).toHaveBeenCalledWith('entities/1Rd2I9Mt', imageAttributeValues_test_data_1.imageAttributeValues[0].uri);
218
+ expect(defaultMdmActions.setDefaultProfilePicForEntity).toHaveBeenCalledWith(imageAttributeValues_test_data_1.imageAttributeValues[0]);
219
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('image-overlay-actions'))];
220
+ case 8:
221
+ _a.sent();
222
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Delete'))];
223
+ case 9:
224
+ _a.sent();
225
+ expect(onDeleteAttribute).toHaveBeenCalledWith({
226
+ uri: imageAttributeValues_test_data_1.imageAttributeValues[0].uri,
227
+ attributeType: defaultProps.attributeType
228
+ });
229
+ return [2 /*return*/];
230
+ }
223
231
  });
224
- component.update();
225
- expect(component.find(UploadImageDialog_1.UploadImageDialog).prop('open')).toBe(true);
226
- });
227
- it('should call onDeleteAttribute', function () {
228
- var component = setUp();
229
- var deletingParams = {
230
- uri: 'entities/1Rd2I9Mt/attributes/ImageGallery/39V5GWJZ1',
231
- attributeType: defaultProps.attributeType
232
- };
233
- (0, test_utils_1.act)(function () {
234
- var _a;
235
- (_a = component.find(ImageAttributesLine_1.ImageAttributesLine).prop('onDeleteAttribute')) === null || _a === void 0 ? void 0 : _a(deletingParams);
232
+ }); });
233
+ it('should open and close UploadImageDialog by clicking on .uploadContainer', function () { return __awaiter(void 0, void 0, void 0, function () {
234
+ var user, backdrop;
235
+ return __generator(this, function (_a) {
236
+ switch (_a.label) {
237
+ case 0:
238
+ user = setUp().user;
239
+ expect(react_2.screen.queryByRole('dialog')).not.toBeInTheDocument();
240
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('reltio-upload-image-button'))];
241
+ case 1:
242
+ _a.sent();
243
+ expect(react_2.screen.getByRole('dialog')).toBeInTheDocument();
244
+ expect(react_2.screen.getByText('Add new image')).toBeInTheDocument();
245
+ backdrop = react_2.screen.getAllByRole('presentation')[0].firstChild;
246
+ return [4 /*yield*/, user.click(backdrop)];
247
+ case 2:
248
+ _a.sent();
249
+ return [4 /*yield*/, (0, react_2.waitForElementToBeRemoved)(react_2.screen.queryByRole('dialog'))];
250
+ case 3:
251
+ _a.sent();
252
+ return [2 /*return*/];
253
+ }
236
254
  });
237
- expect(onDeleteAttribute).toHaveBeenCalledWith(deletingParams);
238
- });
255
+ }); });
239
256
  describe('onChangeAttribute test', function () {
240
- it('should add images to globalState with imageProps', function () {
241
- var component = setUp();
242
- var uploadImageDialog = component.find(UploadImageDialog_1.UploadImageDialog);
243
- (0, test_utils_1.act)(function () {
244
- uploadImageDialog.prop('onUpload')({
245
- CdnUrl: '1',
246
- CdnUrlPreview: '2',
247
- CdnUrlThumbnail: '3',
248
- CreationTimestamp: 4,
249
- Height: '5',
250
- MimeType: '6',
251
- Size: '7',
252
- Url: '8',
253
- UrlPreview: '9',
254
- UrlThumbnail: '10',
255
- Width: '11'
256
- });
257
- });
258
- expect(onChangeAttribute).toHaveBeenCalledWith({
259
- attributeType: defaultProps.attributeType,
260
- uri: '1/ImageGallery',
261
- value: {
262
- CdnUrl: [
263
- {
264
- ov: true,
265
- type: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/CdnUrl',
266
- uri: '1/ImageGallery/CdnUrl',
267
- value: '1'
268
- }
269
- ],
270
- CdnUrlPreview: [
271
- {
272
- ov: true,
273
- type: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/CdnUrlPreview',
274
- uri: '1/ImageGallery/CdnUrlPreview',
275
- value: '2'
276
- }
277
- ],
278
- CdnUrlThumbnail: [
279
- {
280
- ov: true,
281
- type: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/CdnUrlThumbnail',
282
- uri: '1/ImageGallery/CdnUrlThumbnail',
283
- value: '3'
284
- }
285
- ],
286
- CreationTimestamp: [
287
- {
288
- ov: true,
289
- type: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/CdnUrlThumbnail',
290
- uri: '1/ImageGallery/CreationTimestamp',
291
- value: 4
292
- }
293
- ]
257
+ it('should add images to globalState with imageProps', function () { return __awaiter(void 0, void 0, void 0, function () {
258
+ var user, uploadImageDialog;
259
+ return __generator(this, function (_a) {
260
+ switch (_a.label) {
261
+ case 0:
262
+ mdm_sdk_1.uploadImage.mockResolvedValue({
263
+ Url: 'https://s3.amazonaws.com/reltio.qa.ih/sourcenew/hc3IZh8C1ixGWpmRPr54HufUd.png',
264
+ UrlThumbnail: 'https://s3.amazonaws.com/reltio.qa.ih/thumbnailInew/oLd1Fs5Sh2SVHHHV7uyHFZhsi.png',
265
+ CdnUrlThumbnail: 'https://s3.amazonaws.com/reltio.qa.ih/thumbnailInew/oLd1Fs5Sh2SVHHHV7uyHFZhsi.png',
266
+ Width: '990',
267
+ Height: '946',
268
+ Size: '114373',
269
+ MimeType: 'image/png',
270
+ CreationTimestamp: 1734017226633
271
+ });
272
+ user = setUp().user;
273
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('reltio-upload-image-button'))];
274
+ case 1:
275
+ _a.sent();
276
+ expect(react_2.screen.getByRole('dialog')).toBeInTheDocument();
277
+ uploadImageDialog = react_2.screen.getByTestId('upload-image-button');
278
+ expect(uploadImageDialog).toBeInTheDocument();
279
+ return [4 /*yield*/, user.upload(uploadImageDialog, new File(['test'], 'test.png', { type: 'image/png' }))];
280
+ case 2:
281
+ _a.sent();
282
+ expect(onChangeAttribute).toHaveBeenCalledWith({
283
+ attributeType: imageAttributeValues_test_data_1.attributeType,
284
+ uri: expect.any(String),
285
+ value: {
286
+ CdnUrlThumbnail: [
287
+ {
288
+ ov: true,
289
+ type: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/CdnUrlThumbnail',
290
+ uri: expect.any(String),
291
+ value: 'https://s3.amazonaws.com/reltio.qa.ih/thumbnailInew/oLd1Fs5Sh2SVHHHV7uyHFZhsi.png'
292
+ }
293
+ ],
294
+ Url: [
295
+ {
296
+ ov: true,
297
+ type: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/Url',
298
+ uri: expect.any(String),
299
+ value: 'https://s3.amazonaws.com/reltio.qa.ih/sourcenew/hc3IZh8C1ixGWpmRPr54HufUd.png'
300
+ }
301
+ ],
302
+ UrlThumbnail: [
303
+ {
304
+ ov: true,
305
+ type: 'configuration/entityTypes/Series/attributes/ImageGallery/attributes/UrlThumbnail',
306
+ uri: expect.any(String),
307
+ value: 'https://s3.amazonaws.com/reltio.qa.ih/thumbnailInew/oLd1Fs5Sh2SVHHHV7uyHFZhsi.png'
308
+ }
309
+ ]
310
+ }
311
+ });
312
+ return [4 /*yield*/, (0, react_2.waitForElementToBeRemoved)(react_2.screen.queryByRole('dialog'))];
313
+ case 3:
314
+ _a.sent();
315
+ return [2 /*return*/];
294
316
  }
295
317
  });
296
- });
297
- it('should add images to globalState without imageProps', function () {
298
- var component = setUp();
299
- var uploadImageDialog = component.find(UploadImageDialog_1.UploadImageDialog);
300
- uploadImageDialog.prop('onUpload')({});
301
- expect(onChangeAttribute).toHaveBeenCalledWith({
302
- attributeType: defaultProps.attributeType,
303
- uri: '1/ImageGallery',
304
- value: {}
305
- });
306
- });
307
- it('should add images to globalState with unknown keys in imageProps', function () {
308
- var component = setUp();
309
- var uploadImageDialog = component.find(UploadImageDialog_1.UploadImageDialog);
310
- uploadImageDialog.prop('onUpload')({
311
- Height: '5',
312
- MimeType: '6',
313
- Size: '7'
314
- });
315
- expect(onChangeAttribute).toHaveBeenCalledWith({
316
- attributeType: defaultProps.attributeType,
317
- uri: '1/ImageGallery',
318
- value: {}
319
- });
320
- });
321
- it('should add images to globalState without attributes in attributeType', function () {
322
- var props = __assign(__assign({}, defaultProps), { attributeType: __assign(__assign({}, defaultProps.attributeType), { attributes: undefined }) });
323
- var component = setUp({ props: props });
324
- var uploadImageDialog = component.find(UploadImageDialog_1.UploadImageDialog);
325
- uploadImageDialog.prop('onUpload')({
326
- Height: '5',
327
- MimeType: '6',
328
- Size: '7'
329
- });
330
- expect(onChangeAttribute).toHaveBeenCalledWith({
331
- attributeType: __assign(__assign({}, defaultProps.attributeType), { attributes: undefined }),
332
- uri: '1/ImageGallery',
333
- value: {}
334
- });
335
- });
318
+ }); });
336
319
  });
337
320
  describe('handleDeleteAttribute test', function () {
338
- it('should delete and choose another defaultPic', function () {
339
- var setDefaultProfilePicForModifiedEntity = defaultMdmActions.setDefaultProfilePicForModifiedEntity;
340
- var component = setUp();
341
- var deletingParams = {
342
- uri: 'uri1',
343
- attributeType: defaultProps.attributeType
344
- };
345
- (0, test_utils_1.act)(function () {
346
- var _a;
347
- (_a = component.find(ImageAttributesLine_1.ImageAttributesLine).prop('onDeleteAttribute')) === null || _a === void 0 ? void 0 : _a(deletingParams);
348
- });
349
- expect(setDefaultProfilePicForModifiedEntity).toHaveBeenCalledWith({
350
- entityUri: 'entityuri',
351
- value: { uri: 'uri12' }
321
+ it('should delete and choose another defaultPic', function () { return __awaiter(void 0, void 0, void 0, function () {
322
+ var user, container;
323
+ return __generator(this, function (_a) {
324
+ switch (_a.label) {
325
+ case 0:
326
+ user = setUp({ props: { attributeValues: imageAttributeValues_test_data_1.imageAttributeValues, overlay: true } }).user;
327
+ container = react_2.screen.getByTestId('image-line-edit-mode');
328
+ resizeObserver.mockElementSize(container, { contentBoxSize: { inlineSize: 600 } });
329
+ (0, react_2.act)(function () {
330
+ resizeObserver.resize();
331
+ });
332
+ react_2.fireEvent.load(react_2.screen.getAllByRole('img', { hidden: true })[0]);
333
+ return [4 /*yield*/, user.hover(react_2.screen.getByTestId('image-actions-overlay'))];
334
+ case 1:
335
+ _a.sent();
336
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('image-overlay-actions'))];
337
+ case 2:
338
+ _a.sent();
339
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Delete'))];
340
+ case 3:
341
+ _a.sent();
342
+ expect(defaultMdmActions.setDefaultProfilePicForModifiedEntity).toHaveBeenCalledWith({
343
+ entityUri: 'entities/1Rd2I9Mt',
344
+ value: imageAttributeValues_test_data_1.imageAttributeValues[1]
345
+ });
346
+ expect(onDeleteAttribute).toHaveBeenCalledWith({
347
+ uri: imageAttributeValues_test_data_1.imageAttributeValues[0].uri,
348
+ attributeType: defaultProps.attributeType
349
+ });
350
+ return [2 /*return*/];
351
+ }
352
352
  });
353
- expect(onDeleteAttribute).toHaveBeenCalledWith(deletingParams);
354
- });
355
- it('should delete and not choose another defaultPic', function () {
356
- var component = setUp();
357
- var deletingParams = {
358
- uri: 'uri12',
359
- attributeType: defaultProps.attributeType
360
- };
361
- (0, test_utils_1.act)(function () {
362
- var _a;
363
- (_a = component.find(ImageAttributesLine_1.ImageAttributesLine).prop('onDeleteAttribute')) === null || _a === void 0 ? void 0 : _a(deletingParams);
353
+ }); });
354
+ it('should not choose another defaultPic if non-default deleted', function () { return __awaiter(void 0, void 0, void 0, function () {
355
+ var user, container;
356
+ return __generator(this, function (_a) {
357
+ switch (_a.label) {
358
+ case 0:
359
+ user = setUp({ props: { attributeValues: imageAttributeValues_test_data_1.imageAttributeValues, overlay: true } }).user;
360
+ container = react_2.screen.getByTestId('image-line-edit-mode');
361
+ resizeObserver.mockElementSize(container, { contentBoxSize: { inlineSize: 600 } });
362
+ (0, react_2.act)(function () {
363
+ resizeObserver.resize();
364
+ });
365
+ react_2.fireEvent.load(react_2.screen.getAllByRole('img', { hidden: true })[1]);
366
+ return [4 /*yield*/, user.hover(react_2.screen.getByTestId('image-actions-overlay'))];
367
+ case 1:
368
+ _a.sent();
369
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('image-overlay-actions'))];
370
+ case 2:
371
+ _a.sent();
372
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Delete'))];
373
+ case 3:
374
+ _a.sent();
375
+ expect(defaultMdmActions.setDefaultProfilePicForModifiedEntity).not.toHaveBeenCalled();
376
+ expect(onDeleteAttribute).toHaveBeenCalledWith({
377
+ uri: imageAttributeValues_test_data_1.imageAttributeValues[1].uri,
378
+ attributeType: defaultProps.attributeType
379
+ });
380
+ return [2 /*return*/];
381
+ }
364
382
  });
365
- expect(onDeleteAttribute).toHaveBeenCalledWith(deletingParams);
366
- });
383
+ }); });
367
384
  });
368
385
  });