@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
@@ -10,18 +10,84 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+ var __generator = (this && this.__generator) || function (thisArg, body) {
46
+ 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);
47
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
+ function verb(n) { return function (v) { return step([n, v]); }; }
49
+ function step(op) {
50
+ if (f) throw new TypeError("Generator is already executing.");
51
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
52
+ 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;
53
+ if (y = 0, t) op = [op[0] & 2, t.value];
54
+ switch (op[0]) {
55
+ case 0: case 1: t = op; break;
56
+ case 4: _.label++; return { value: op[1], done: false };
57
+ case 5: _.label++; y = op[1]; op = [0]; continue;
58
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
+ default:
60
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
+ if (t[2]) _.ops.pop();
65
+ _.trys.pop(); continue;
66
+ }
67
+ op = body.call(thisArg, _);
68
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
+ }
71
+ };
13
72
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
73
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
74
  };
16
75
  Object.defineProperty(exports, "__esModule", { value: true });
17
- var react_1 = __importDefault(require("react"));
18
- var enzyme_1 = require("enzyme");
19
- var test_utils_1 = require("react-dom/test-utils");
76
+ var react_1 = __importStar(require("react"));
77
+ var react_2 = require("@testing-library/react");
78
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
20
79
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
21
- var Popover_1 = __importDefault(require("@mui/material/Popover"));
22
- var DataTypeValueEditor_1 = require("../DataTypeValueEditor");
23
80
  var InlineSimpleAttributeEditor_1 = require("./InlineSimpleAttributeEditor");
81
+ var LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
82
+ var AdapterMoment_1 = require("@mui/x-date-pickers/AdapterMoment");
83
+ jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { getDependentLookups: jest.fn(function () { return Promise.resolve(); }) })); });
84
+ var dependentLookups = {
85
+ codeValues: {
86
+ COUNTRY_CD: { IT: { displayName: 'Italy' }, BE: { displayName: 'Belgium' } }
87
+ }
88
+ };
24
89
  describe('InlineSimpleAttributeEditor', function () {
90
+ var containerRef = (0, react_1.createRef)();
25
91
  var attributeType = {
26
92
  uri: 'configuration/entityTypes/HCP/attributes/Simple',
27
93
  type: 'String',
@@ -35,9 +101,7 @@ describe('InlineSimpleAttributeEditor', function () {
35
101
  ov: true
36
102
  };
37
103
  var defaultProps = {
38
- containerRef: {
39
- current: null
40
- },
104
+ containerRef: containerRef,
41
105
  attributeType: attributeType,
42
106
  attributeValue: attributeValue,
43
107
  color: 'red',
@@ -47,204 +111,254 @@ describe('InlineSimpleAttributeEditor', function () {
47
111
  afterEach(function () {
48
112
  jest.clearAllMocks();
49
113
  });
50
- it('should render component correctly', function () {
51
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, defaultProps)));
52
- var dataTypeValueEditor = component.find(DataTypeValueEditor_1.DataTypeValueEditor);
53
- expect(dataTypeValueEditor.prop('dataTypeDefinition')).toEqual({
54
- name: 'Simple',
55
- type: 'String',
56
- uri: 'configuration/entityTypes/HCP/attributes/Simple'
57
- });
58
- expect(dataTypeValueEditor.prop('fieldName')).toEqual('attributes.Simple');
59
- expect(dataTypeValueEditor.prop('value')).toEqual('123');
60
- expect(dataTypeValueEditor.prop('TextFieldProps')).toMatchObject({ fullWidth: true, autoFocus: true });
61
- expect(component.find(Popover_1.default).prop('classes').paper).toBe('paper');
62
- });
63
- it('should change editorValue and save it on enter', function () {
64
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, defaultProps)));
65
- var dataTypeValueEditor = component.find(DataTypeValueEditor_1.DataTypeValueEditor);
66
- expect(dataTypeValueEditor.prop('value')).toEqual('123');
67
- (0, test_utils_1.act)(function () {
68
- dataTypeValueEditor.prop('onChange')('456');
69
- });
70
- expect(component.find(DataTypeValueEditor_1.DataTypeValueEditor).prop('value')).toEqual('456');
71
- (0, test_utils_1.act)(function () {
72
- component.find(Popover_1.default).simulate('keyup', { key: 'Enter' });
73
- });
74
- expect(defaultProps.onEdit).toHaveBeenCalledWith(__assign(__assign({}, attributeValue), { value: '456' }));
75
- expect(defaultProps.onClose).toHaveBeenCalled();
76
- });
77
- it('should call onEdit with proper arguments for lookup value', function () {
78
- var lookupAttributeValue = {
79
- uri: 'entities/1/attributes/CountryCode/1',
80
- value: 'Italy',
81
- lookupCode: 'IT'
82
- };
83
- var lookupAttributeType = {
84
- label: 'Country Code',
85
- name: 'CountryCode',
86
- type: 'String',
87
- uri: 'configuration/entityTypes/HCP/attributes/CountryCode',
88
- dependentLookupCode: 'COUNTRY_CD'
89
- };
90
- var props = __assign(__assign({}, defaultProps), { attributeType: lookupAttributeType, attributeValue: lookupAttributeValue });
91
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, props)));
92
- var dataTypeValueEditor = component.find(DataTypeValueEditor_1.DataTypeValueEditor);
93
- expect(dataTypeValueEditor.prop('value')).toEqual({ lookupCode: 'IT', value: 'Italy' });
94
- (0, test_utils_1.act)(function () {
95
- dataTypeValueEditor.prop('onChange')({ lookupCode: 'BE', value: 'Belgium' });
96
- });
97
- expect(component.find(DataTypeValueEditor_1.DataTypeValueEditor).prop('value')).toEqual({ lookupCode: 'BE', value: 'Belgium' });
98
- (0, test_utils_1.act)(function () {
99
- component.find(Popover_1.default).simulate('keyup', { key: 'Enter' });
100
- });
101
- expect(defaultProps.onEdit).toHaveBeenCalledWith({
102
- uri: lookupAttributeValue.uri,
103
- lookupCode: 'BE',
104
- value: 'Belgium'
105
- });
106
- expect(defaultProps.onClose).toHaveBeenCalled();
107
- });
108
- it('should call onEdit with proper arguments for numeric empty value', function () {
109
- var numericAttributeValue = {
110
- uri: 'entities/1/attributes/Int/1',
111
- value: '11'
114
+ var setUp = function (props) {
115
+ if (props === void 0) { props = {}; }
116
+ var user = user_event_1.default.setup();
117
+ var Providers = function (_a) {
118
+ var children = _a.children;
119
+ return (react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterMoment_1.AdapterMoment }, children));
112
120
  };
113
- var numericAttributeType = {
114
- label: 'Int',
115
- name: 'Int',
116
- type: 'Int',
117
- uri: 'configuration/entityTypes/Product/attributes/Int'
118
- };
119
- var props = __assign(__assign({}, defaultProps), { attributeType: numericAttributeType, attributeValue: numericAttributeValue });
120
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, props)));
121
- var dataTypeValueEditor = component.find(DataTypeValueEditor_1.DataTypeValueEditor);
122
- expect(dataTypeValueEditor.prop('value')).toEqual('11');
123
- (0, test_utils_1.act)(function () {
124
- dataTypeValueEditor.prop('onChange')('');
125
- });
126
- expect(component.find(DataTypeValueEditor_1.DataTypeValueEditor).prop('value')).toBe('');
127
- (0, test_utils_1.act)(function () {
128
- component.find(Popover_1.default).simulate('keyup', { key: 'Enter' });
129
- });
130
- expect(defaultProps.onEdit).toHaveBeenCalledWith({ uri: numericAttributeValue.uri, value: null });
131
- expect(defaultProps.onClose).toHaveBeenCalled();
121
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, defaultProps, props)), { wrapper: Providers }));
122
+ };
123
+ it('should render component correctly', function () {
124
+ setUp();
125
+ expect(react_2.screen.getByTestId('inline-simple-attribute-editor')).toBeInTheDocument();
126
+ expect(react_2.screen.getByRole('textbox')).toHaveValue('123');
132
127
  });
133
- it('should not call props.onEdit if value is the same', function () {
134
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, defaultProps)));
135
- var dataTypeValueEditor = component.find(DataTypeValueEditor_1.DataTypeValueEditor);
136
- expect(dataTypeValueEditor.prop('value')).toEqual('123');
137
- (0, test_utils_1.act)(function () {
138
- dataTypeValueEditor.prop('onChange')('123');
128
+ it('should change editorValue and save it on enter', function () { return __awaiter(void 0, void 0, void 0, function () {
129
+ var user;
130
+ return __generator(this, function (_a) {
131
+ switch (_a.label) {
132
+ case 0:
133
+ user = setUp().user;
134
+ return [4 /*yield*/, user.type(react_2.screen.getByRole('textbox'), '456')];
135
+ case 1:
136
+ _a.sent();
137
+ expect(react_2.screen.getByRole('textbox')).toHaveValue('123456');
138
+ return [4 /*yield*/, user.keyboard('{enter}')];
139
+ case 2:
140
+ _a.sent();
141
+ expect(defaultProps.onEdit).toHaveBeenCalledWith(__assign(__assign({}, attributeValue), { value: '123456' }));
142
+ expect(defaultProps.onClose).toHaveBeenCalled();
143
+ return [2 /*return*/];
144
+ }
139
145
  });
140
- (0, test_utils_1.act)(function () {
141
- component.find(Popover_1.default).simulate('keyup', { key: 'Enter' });
146
+ }); });
147
+ it('should call onEdit with proper arguments for lookup value', function () { return __awaiter(void 0, void 0, void 0, function () {
148
+ var lookupAttributeValue, lookupAttributeType, user, backdrop, comboBox;
149
+ return __generator(this, function (_a) {
150
+ switch (_a.label) {
151
+ case 0:
152
+ mdm_sdk_1.getDependentLookups.mockResolvedValueOnce(dependentLookups);
153
+ lookupAttributeValue = {
154
+ uri: 'entities/1/attributes/CountryCode/1',
155
+ value: 'Italy',
156
+ lookupCode: 'IT'
157
+ };
158
+ lookupAttributeType = {
159
+ label: 'Country Code',
160
+ name: 'CountryCode',
161
+ type: 'String',
162
+ uri: 'configuration/entityTypes/HCP/attributes/CountryCode',
163
+ dependentLookupCode: 'COUNTRY_CD'
164
+ };
165
+ user = setUp({ attributeType: lookupAttributeType, attributeValue: lookupAttributeValue }).user;
166
+ backdrop = react_2.screen.getByRole('presentation').firstChild;
167
+ comboBox = react_2.screen.getByRole('combobox');
168
+ return [4 /*yield*/, user.click(comboBox)];
169
+ case 1:
170
+ _a.sent();
171
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Belgium (BE)'))];
172
+ case 2:
173
+ _a.sent();
174
+ expect(comboBox).toHaveValue('Belgium (BE)');
175
+ return [4 /*yield*/, user.click(backdrop)];
176
+ case 3:
177
+ _a.sent();
178
+ expect(defaultProps.onEdit).toHaveBeenCalledWith({
179
+ uri: lookupAttributeValue.uri,
180
+ lookupCode: 'BE',
181
+ value: 'Belgium'
182
+ });
183
+ expect(defaultProps.onClose).toHaveBeenCalled();
184
+ return [2 /*return*/];
185
+ }
142
186
  });
143
- expect(defaultProps.onEdit).not.toHaveBeenCalled();
144
- expect(defaultProps.onClose).toHaveBeenCalled();
145
- });
146
- it('should not call props.onEdit if lookup value is empty', function () {
147
- var lookupAttributeValue = {
148
- uri: 'entities/1/attributes/CountryCode/1',
149
- value: 'Italy',
150
- lookupCode: 'IT'
151
- };
152
- var lookupAttributeType = {
153
- label: 'Country Code',
154
- name: 'CountryCode',
155
- type: 'String',
156
- uri: 'configuration/entityTypes/HCP/attributes/CountryCode',
157
- dependentLookupCode: 'COUNTRY_CD'
158
- };
159
- var props = __assign(__assign({}, defaultProps), { attributeType: lookupAttributeType, attributeValue: lookupAttributeValue });
160
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, props)));
161
- var dataTypeValueEditor = component.find(DataTypeValueEditor_1.DataTypeValueEditor);
162
- expect(dataTypeValueEditor.prop('value')).toEqual({ lookupCode: 'IT', value: 'Italy' });
163
- (0, test_utils_1.act)(function () {
164
- dataTypeValueEditor.prop('onChange')(null);
187
+ }); });
188
+ it('should call onEdit with proper arguments for numeric empty value', function () { return __awaiter(void 0, void 0, void 0, function () {
189
+ var numericAttributeValue, numericAttributeType, user, input;
190
+ return __generator(this, function (_a) {
191
+ switch (_a.label) {
192
+ case 0:
193
+ numericAttributeValue = {
194
+ uri: 'entities/1/attributes/Int/1',
195
+ value: '11'
196
+ };
197
+ numericAttributeType = {
198
+ label: 'Int',
199
+ name: 'Int',
200
+ type: 'Int',
201
+ uri: 'configuration/entityTypes/Product/attributes/Int'
202
+ };
203
+ user = setUp({ attributeType: numericAttributeType, attributeValue: numericAttributeValue }).user;
204
+ input = react_2.screen.getByRole('textbox');
205
+ return [4 /*yield*/, user.clear(input)];
206
+ case 1:
207
+ _a.sent();
208
+ expect(input).toHaveValue('');
209
+ return [4 /*yield*/, user.keyboard('{enter}')];
210
+ case 2:
211
+ _a.sent();
212
+ expect(defaultProps.onEdit).toHaveBeenCalledWith({ uri: numericAttributeValue.uri, value: null });
213
+ expect(defaultProps.onClose).toHaveBeenCalled();
214
+ return [2 /*return*/];
215
+ }
165
216
  });
166
- expect(component.find(DataTypeValueEditor_1.DataTypeValueEditor).prop('value')).toBeNull();
167
- (0, test_utils_1.act)(function () {
168
- component.find(Popover_1.default).simulate('keyup', { key: 'Enter' });
217
+ }); });
218
+ it('should not call props.onEdit if value is the same', function () { return __awaiter(void 0, void 0, void 0, function () {
219
+ var user;
220
+ return __generator(this, function (_a) {
221
+ switch (_a.label) {
222
+ case 0:
223
+ user = setUp().user;
224
+ return [4 /*yield*/, user.keyboard('{enter}')];
225
+ case 1:
226
+ _a.sent();
227
+ expect(defaultProps.onEdit).not.toHaveBeenCalled();
228
+ expect(defaultProps.onClose).toHaveBeenCalled();
229
+ return [2 /*return*/];
230
+ }
169
231
  });
170
- expect(defaultProps.onEdit).not.toHaveBeenCalled();
171
- expect(defaultProps.onClose).toHaveBeenCalled();
172
- });
173
- it('should change editorValue and cancel it on esc', function () {
174
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, defaultProps)));
175
- var dataTypeValueEditor = component.find(DataTypeValueEditor_1.DataTypeValueEditor);
176
- expect(dataTypeValueEditor.prop('value')).toEqual('123');
177
- (0, test_utils_1.act)(function () {
178
- dataTypeValueEditor.prop('onChange')('456');
232
+ }); });
233
+ it('should not call props.onEdit if lookup value is empty', function () { return __awaiter(void 0, void 0, void 0, function () {
234
+ var lookupAttributeType, user, backdrop, comboBox;
235
+ return __generator(this, function (_a) {
236
+ switch (_a.label) {
237
+ case 0:
238
+ mdm_sdk_1.getDependentLookups.mockResolvedValueOnce(dependentLookups);
239
+ lookupAttributeType = {
240
+ label: 'Country Code',
241
+ name: 'CountryCode',
242
+ type: 'String',
243
+ uri: 'configuration/entityTypes/HCP/attributes/CountryCode',
244
+ dependentLookupCode: 'COUNTRY_CD'
245
+ };
246
+ user = setUp({ attributeType: lookupAttributeType, attributeValue: null }).user;
247
+ backdrop = react_2.screen.getByRole('presentation').firstChild;
248
+ comboBox = react_2.screen.getByRole('combobox');
249
+ expect(comboBox).toHaveValue('');
250
+ return [4 /*yield*/, user.click(backdrop)];
251
+ case 1:
252
+ _a.sent();
253
+ expect(defaultProps.onEdit).not.toHaveBeenCalled();
254
+ expect(defaultProps.onClose).toHaveBeenCalled();
255
+ return [2 /*return*/];
256
+ }
179
257
  });
180
- expect(component.find(DataTypeValueEditor_1.DataTypeValueEditor).prop('value')).toEqual('456');
181
- (0, test_utils_1.act)(function () {
182
- component.find(Popover_1.default).simulate('keyup', { key: 'Escape' });
258
+ }); });
259
+ it('should change editorValue and cancel it on esc', function () { return __awaiter(void 0, void 0, void 0, function () {
260
+ var user, textBox;
261
+ return __generator(this, function (_a) {
262
+ switch (_a.label) {
263
+ case 0:
264
+ user = setUp().user;
265
+ textBox = react_2.screen.getByRole('textbox');
266
+ return [4 /*yield*/, user.type(textBox, '456')];
267
+ case 1:
268
+ _a.sent();
269
+ expect(textBox).toHaveValue('123456');
270
+ return [4 /*yield*/, user.keyboard('{Escape}')];
271
+ case 2:
272
+ _a.sent();
273
+ expect(defaultProps.onEdit).not.toHaveBeenCalled();
274
+ expect(defaultProps.onClose).toHaveBeenCalled();
275
+ return [2 /*return*/];
276
+ }
183
277
  });
184
- expect(defaultProps.onEdit).not.toHaveBeenCalled();
185
- expect(defaultProps.onClose).toHaveBeenCalled();
186
- });
278
+ }); });
187
279
  it('should provide correct class to popover, if attribute type is boolean', function () {
188
- var props = __assign(__assign({}, defaultProps), { attributeType: __assign(__assign({}, attributeType), { type: mdm_sdk_1.DataTypes.TYPE_BOOLEAN }) });
189
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, props)));
190
- expect(component.find(Popover_1.default).prop('classes').paper).toBe('paper booleanEditor');
280
+ setUp({ attributeType: __assign(__assign({}, attributeType), { type: mdm_sdk_1.DataTypes.TYPE_BOOLEAN }) });
281
+ var editor = react_2.screen.getByTestId('inline-simple-attribute-editor');
282
+ expect(editor.querySelector('.paper')).toHaveClass('booleanEditor');
191
283
  });
192
284
  it('should provide correct class to popover, if attribute type is timestamp', function () {
193
- var props = __assign(__assign({}, defaultProps), { attributeType: __assign(__assign({}, attributeType), { type: mdm_sdk_1.DataTypes.TYPE_TIMESTAMP }) });
194
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, props)));
195
- expect(component.find(Popover_1.default).prop('classes').paper).toBe('paper timestampEditor');
285
+ setUp({ attributeType: __assign(__assign({}, attributeType), { type: mdm_sdk_1.DataTypes.TYPE_TIMESTAMP }) });
286
+ var editor = react_2.screen.getByTestId('inline-simple-attribute-editor');
287
+ expect(editor.querySelector('.paper')).toHaveClass('timestampEditor');
196
288
  });
197
- it('should not call props.onEdit and props.onClose on enter if data type is DataTypes.TYPE_BLOB', function () {
198
- var blobAttributeValue = {
199
- uri: 'entities/1/attributes/Blob/484Uit5c0',
200
- value: 'text\ntext'
201
- };
202
- var blobAttributeType = {
203
- label: 'Blob',
204
- name: 'Blob',
205
- type: 'Blob',
206
- uri: 'configuration/entityTypes/Product/attributes/Blob'
207
- };
208
- var props = __assign(__assign({}, defaultProps), { attributeType: blobAttributeType, attributeValue: blobAttributeValue });
209
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, props)));
210
- (0, test_utils_1.act)(function () {
211
- component.find(Popover_1.default).simulate('keyup', { key: 'Enter' });
289
+ it('should not call props.onEdit and props.onClose on enter if data type is DataTypes.TYPE_BLOB', function () { return __awaiter(void 0, void 0, void 0, function () {
290
+ var blobAttributeValue, blobAttributeType, user;
291
+ return __generator(this, function (_a) {
292
+ switch (_a.label) {
293
+ case 0:
294
+ blobAttributeValue = {
295
+ uri: 'entities/1/attributes/Blob/484Uit5c0',
296
+ value: 'text\ntext'
297
+ };
298
+ blobAttributeType = {
299
+ label: 'Blob',
300
+ name: 'Blob',
301
+ type: 'Blob',
302
+ uri: 'configuration/entityTypes/Product/attributes/Blob'
303
+ };
304
+ user = setUp({ attributeType: blobAttributeType, attributeValue: blobAttributeValue }).user;
305
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('textbox'))];
306
+ case 1:
307
+ _a.sent();
308
+ return [4 /*yield*/, user.keyboard('{Enter}')];
309
+ case 2:
310
+ _a.sent();
311
+ expect(defaultProps.onEdit).not.toHaveBeenCalled();
312
+ expect(defaultProps.onClose).not.toHaveBeenCalled();
313
+ return [2 /*return*/];
314
+ }
212
315
  });
213
- expect(defaultProps.onEdit).not.toHaveBeenCalled();
214
- expect(defaultProps.onClose).not.toHaveBeenCalled();
215
- });
216
- it('should not call props.onEdit and props.onClose on enter if data type is DataTypes.TYPE_TEXT', function () {
217
- var textAttributeValue = {
218
- uri: 'entities/1/attributes/Text/484Uit5c0',
219
- value: 'text\ntext'
220
- };
221
- var textAttributeType = {
222
- label: 'Text',
223
- name: 'Text',
224
- type: 'Text',
225
- uri: 'configuration/entityTypes/Product/attributes/Text'
226
- };
227
- var props = __assign(__assign({}, defaultProps), { attributeType: textAttributeType, attributeValue: textAttributeValue });
228
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, props)));
229
- (0, test_utils_1.act)(function () {
230
- component.find(Popover_1.default).simulate('keyup', { key: 'Enter' });
231
- });
232
- expect(defaultProps.onEdit).not.toHaveBeenCalled();
233
- expect(defaultProps.onClose).not.toHaveBeenCalled();
234
- });
235
- it('should call props.onEdit and props.onClose on backdrop click if new value is set', function () {
236
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(InlineSimpleAttributeEditor_1.InlineSimpleAttributeEditor, __assign({}, defaultProps)));
237
- var dataTypeValueEditor = component.find(DataTypeValueEditor_1.DataTypeValueEditor);
238
- (0, test_utils_1.act)(function () {
239
- dataTypeValueEditor.prop('onChange')('new 123');
316
+ }); });
317
+ it('should not call props.onEdit and props.onClose on enter if data type is DataTypes.TYPE_TEXT', function () { return __awaiter(void 0, void 0, void 0, function () {
318
+ var textAttributeValue, textAttributeType, user;
319
+ return __generator(this, function (_a) {
320
+ switch (_a.label) {
321
+ case 0:
322
+ textAttributeValue = {
323
+ uri: 'entities/1/attributes/Text/484Uit5c0',
324
+ value: 'text\ntext'
325
+ };
326
+ textAttributeType = {
327
+ label: 'Text',
328
+ name: 'Text',
329
+ type: 'Text',
330
+ uri: 'configuration/entityTypes/Product/attributes/Text'
331
+ };
332
+ user = setUp({ attributeType: textAttributeType, attributeValue: textAttributeValue }).user;
333
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('textbox'))];
334
+ case 1:
335
+ _a.sent();
336
+ return [4 /*yield*/, user.keyboard('{Enter}')];
337
+ case 2:
338
+ _a.sent();
339
+ expect(defaultProps.onEdit).not.toHaveBeenCalled();
340
+ expect(defaultProps.onClose).not.toHaveBeenCalled();
341
+ return [2 /*return*/];
342
+ }
240
343
  });
241
- component.update();
242
- expect(component.find(DataTypeValueEditor_1.DataTypeValueEditor).prop('value')).toEqual('new 123');
243
- var onBackdropClickProp = component.find(Popover_1.default).prop('onBackdropClick');
244
- (0, test_utils_1.act)(function () {
245
- onBackdropClickProp();
344
+ }); });
345
+ it('should call props.onEdit and props.onClose on backdrop click if new value is set', function () { return __awaiter(void 0, void 0, void 0, function () {
346
+ var user, backdrop;
347
+ return __generator(this, function (_a) {
348
+ switch (_a.label) {
349
+ case 0:
350
+ user = setUp().user;
351
+ return [4 /*yield*/, user.type(react_2.screen.getByRole('textbox'), '456')];
352
+ case 1:
353
+ _a.sent();
354
+ backdrop = react_2.screen.getByRole('presentation').firstChild;
355
+ return [4 /*yield*/, user.click(backdrop)];
356
+ case 2:
357
+ _a.sent();
358
+ expect(defaultProps.onEdit).toHaveBeenCalledWith(__assign(__assign({}, attributeValue), { value: '123456' }));
359
+ expect(defaultProps.onClose).toHaveBeenCalled();
360
+ return [2 /*return*/];
361
+ }
246
362
  });
247
- expect(defaultProps.onEdit).toHaveBeenCalledWith(__assign(__assign({}, attributeValue), { value: 'new 123' }));
248
- expect(defaultProps.onClose).toHaveBeenCalled();
249
- });
363
+ }); });
250
364
  });
@@ -1,29 +1,59 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
17
  var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
18
+ var react_2 = require("@testing-library/react");
19
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
8
20
  var react_router_dom_1 = require("react-router-dom");
9
21
  var InternalLink_1 = require("./InternalLink");
10
22
  describe('InternalLink tests', function () {
23
+ var setUp = function (props) {
24
+ if (props === void 0) { props = {}; }
25
+ var user = user_event_1.default.setup();
26
+ var Providers = function (_a) {
27
+ var children = _a.children;
28
+ return react_1.default.createElement(react_router_dom_1.BrowserRouter, null, children);
29
+ };
30
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(InternalLink_1.InternalLink, __assign({}, props)), { wrapper: Providers }));
31
+ };
11
32
  it('should render router link in router context', function () {
12
33
  window.location.assign('https://tst-01.reltio.com/nui/uitest1');
13
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(react_router_dom_1.BrowserRouter, null,
14
- react_1.default.createElement(InternalLink_1.InternalLink, { href: 'https://tst-01.reltio.com/nui/uitest1/search' })));
15
- expect(wrapper.find(react_router_dom_1.Link).prop('to')).toBe('/nui/uitest1/search');
34
+ setUp({ href: 'https://tst-01.reltio.com/nui/uitest1/search' });
35
+ var link = react_2.screen.getByRole('link');
36
+ expect(link).toHaveAttribute('href', '/nui/uitest1/search');
16
37
  });
17
38
  it('should render html link outside router context', function () {
18
39
  window.location.assign('https://tst-01.reltio.com/ui/uitest1');
19
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(InternalLink_1.InternalLink, { href: 'https://tst-01.reltio.com/ui/uitest1/search' }));
20
- expect(wrapper.find('a').prop('href')).toBe('https://tst-01.reltio.com/ui/uitest1/search');
40
+ (0, react_2.render)(react_1.default.createElement(InternalLink_1.InternalLink, { href: 'https://tst-01.reltio.com/ui/uitest1/search' }));
41
+ var link = react_2.screen.getByRole('link');
42
+ expect(link).toHaveAttribute('href', 'https://tst-01.reltio.com/ui/uitest1/search');
21
43
  });
22
44
  it('should not render Link if href is undefined', function () {
23
45
  window.location.assign('https://tst-01.reltio.com/nui/uitest1');
24
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(react_router_dom_1.BrowserRouter, null,
25
- react_1.default.createElement(InternalLink_1.InternalLink, null)));
26
- expect(wrapper.find(react_router_dom_1.Link).length).toBe(0);
27
- expect(wrapper.find('a').prop('href')).toBeUndefined();
46
+ setUp();
47
+ expect(react_2.screen.queryByRole('link')).not.toBeInTheDocument();
48
+ });
49
+ it('should apply custom class name', function () {
50
+ setUp({ href: 'https://tst-01.reltio.com/nui/uitest1/search', className: 'custom-class' });
51
+ var link = react_2.screen.getByRole('link');
52
+ expect(link).toHaveClass('custom-class');
53
+ });
54
+ it('should pass other props to the link', function () {
55
+ setUp({ href: 'https://tst-01.reltio.com/nui/uitest1/search', 'data-reltio-id': 'internal-link' });
56
+ var link = react_2.screen.getByTestId('internal-link');
57
+ expect(link).toBeInTheDocument();
28
58
  });
29
59
  });