@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,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
  });