@reltio/components 1.4.2051 → 1.4.2053

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 +2 -2
  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,96 +10,209 @@ 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]; } };
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 };
18
47
  }
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
48
  };
36
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
51
  };
39
52
  Object.defineProperty(exports, "__esModule", { value: true });
40
53
  var react_1 = __importDefault(require("react"));
41
- var enzyme_1 = require("enzyme");
42
- var helpers = __importStar(require("./helpers"));
43
- var GroupedDropDownEditor_1 = require("./components/GroupedDropDownEditor");
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
44
56
  var LookupEditor_1 = require("./LookupEditor");
57
+ var test_utils_1 = require("../test-utils");
45
58
  describe('LookupEditor', function () {
46
- var props;
59
+ var onChange = jest.fn();
60
+ var defaultProps = {
61
+ onChange: onChange,
62
+ lookupCode: 'MultiLevel',
63
+ lookups: {
64
+ MultiLevel: {
65
+ L1: { displayName: 'TitleL1' },
66
+ L2: { displayName: 'TitleL2' }
67
+ }
68
+ }
69
+ };
47
70
  beforeAll(function () {
48
- props = {
49
- lookupCode: 'MultiLevel',
50
- lookups: { MultiLevel: { L1: {} } }
51
- };
52
- });
53
- it('should render GroupedDropDownEditor with entries built with buildLookupEntries', function () {
54
- var entries = [{ value: 'L1', label: 'L1' }];
55
- var value = { lookupCode: 'L1', value: 'L1' };
56
- jest.spyOn(helpers, 'buildLookupEntries').mockReturnValue(entries);
57
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(LookupEditor_1.LookupEditor, __assign({ value: value }, props)));
58
- var dropDown = wrapper.find(GroupedDropDownEditor_1.GroupedDropDownEditor);
59
- expect(dropDown).toHaveLength(1);
60
- expect(dropDown.prop('entries')).toEqual(entries);
61
- expect(dropDown.prop('value')).toBe(value.lookupCode);
62
- expect(helpers.buildLookupEntries).toHaveBeenCalledWith(props.lookupCode, props.lookups);
63
- helpers.buildLookupEntries.mockRestore();
71
+ jest.clearAllMocks();
64
72
  });
73
+ var setUp = function (props) {
74
+ if (props === void 0) { props = {}; }
75
+ var user = user_event_1.default.setup();
76
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(LookupEditor_1.LookupEditor, __assign({}, defaultProps, props))));
77
+ };
78
+ it('should render correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
79
+ var value, user, options;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
82
+ case 0:
83
+ value = { lookupCode: 'L1', value: 'L1' };
84
+ user = setUp({ value: value }).user;
85
+ expect(react_2.screen.getByText('TitleL1 (L1)')).toBeInTheDocument();
86
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('button'))];
87
+ case 1:
88
+ _a.sent();
89
+ options = react_2.screen.getAllByRole('option');
90
+ expect(options).toHaveLength(2);
91
+ expect(options[0]).toHaveTextContent('TitleL1 (L1)');
92
+ expect(options[1]).toHaveTextContent('TitleL2 (L2)');
93
+ return [2 /*return*/];
94
+ }
95
+ });
96
+ }); });
65
97
  it('should load lookups if lookups are not available', function () {
66
- jest.spyOn(helpers, 'buildLookupEntries').mockReturnValue([]);
67
98
  var getLookups = jest.fn();
68
- (0, enzyme_1.mount)(react_1.default.createElement(LookupEditor_1.LookupEditor, { getLookups: getLookups, lookups: {}, lookupCode: "test" }));
99
+ setUp({ getLookups: getLookups, lookups: {} });
69
100
  expect(getLookups).toHaveBeenCalled();
70
- helpers.buildLookupEntries.mockRestore();
71
101
  });
72
102
  it('should not load lookups if lookups are available', function () {
73
- jest.spyOn(helpers, 'buildLookupEntries').mockReturnValue([]);
74
103
  var getLookups = jest.fn();
75
- (0, enzyme_1.mount)(react_1.default.createElement(LookupEditor_1.LookupEditor, __assign({ getLookups: getLookups }, props)));
104
+ setUp({ getLookups: getLookups });
76
105
  expect(getLookups).not.toHaveBeenCalled();
77
- helpers.buildLookupEntries.mockRestore();
78
106
  });
79
107
  describe('single mode', function () {
80
108
  it('should show lookup value as label if lookups do not contain specified lookupCode', function () {
81
- var value = 'Placeholder';
82
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(LookupEditor_1.LookupEditor, __assign({ value: { value: value, lookupCode: '1' } }, props)));
83
- expect(wrapper.text()).toBe(value);
84
- });
85
- it('should call props.onChange with displayName and lookupCode', function () {
86
- var onChange = jest.fn();
87
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(LookupEditor_1.LookupEditor, __assign({ onChange: onChange }, props)));
88
- wrapper.find(GroupedDropDownEditor_1.GroupedDropDownEditor).simulate('change', 'L1');
89
- expect(onChange).toHaveBeenCalledWith({ lookupCode: 'L1', value: undefined });
109
+ var value = { value: 'L3value', lookupCode: 'L3' };
110
+ setUp({ value: value });
111
+ expect(react_2.screen.getByText('L3value')).toBeInTheDocument();
90
112
  });
113
+ it('should call props.onChange with displayName and lookupCode', function () { return __awaiter(void 0, void 0, void 0, function () {
114
+ return __generator(this, function (_a) {
115
+ switch (_a.label) {
116
+ case 0:
117
+ setUp({ onChange: onChange });
118
+ return [4 /*yield*/, user_event_1.default.click(react_2.screen.getByRole('button'))];
119
+ case 1:
120
+ _a.sent();
121
+ return [4 /*yield*/, user_event_1.default.click(react_2.screen.getByText('TitleL2 (L2)'))];
122
+ case 2:
123
+ _a.sent();
124
+ expect(onChange).toHaveBeenCalledWith({ lookupCode: 'L2', value: 'TitleL2' });
125
+ return [2 /*return*/];
126
+ }
127
+ });
128
+ }); });
91
129
  });
92
130
  describe('multiple mode', function () {
93
131
  it('should show lookup value as label if lookups do not contain specified lookupCode', function () {
94
- var value = 'Placeholder';
95
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(LookupEditor_1.LookupEditor, __assign({ multiple: true, value: [{ value: value, lookupCode: '1' }] }, props)));
96
- expect(wrapper.text()).toBe(value);
97
- });
98
- it('should call props.onChange with displayName and lookupCode', function () {
99
- var onChange = jest.fn();
100
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(LookupEditor_1.LookupEditor, __assign({ multiple: true, onChange: onChange }, props)));
101
- wrapper.find(GroupedDropDownEditor_1.GroupedDropDownEditor).simulate('change', ['L1']);
102
- expect(onChange).toHaveBeenCalledWith([{ lookupCode: 'L1', value: undefined }]);
132
+ var value = [{ value: 'L2value', lookupCode: 'L3' }];
133
+ setUp({ multiple: true, value: value });
134
+ expect(react_2.screen.getByText('L2value')).toBeInTheDocument();
103
135
  });
136
+ it('should call props.onChange with displayName and lookupCode', function () { return __awaiter(void 0, void 0, void 0, function () {
137
+ return __generator(this, function (_a) {
138
+ switch (_a.label) {
139
+ case 0:
140
+ setUp({ multiple: true, onChange: onChange });
141
+ return [4 /*yield*/, user_event_1.default.click(react_2.screen.getByRole('button'))];
142
+ case 1:
143
+ _a.sent();
144
+ return [4 /*yield*/, user_event_1.default.click(react_2.screen.getByText('TitleL2 (L2)'))];
145
+ case 2:
146
+ _a.sent();
147
+ expect(onChange).toHaveBeenCalledWith([{ lookupCode: 'L2', value: 'TitleL2' }]);
148
+ return [2 /*return*/];
149
+ }
150
+ });
151
+ }); });
104
152
  });
153
+ it('should render grouped options correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
154
+ var lookupCode, lookups, user, options;
155
+ return __generator(this, function (_a) {
156
+ switch (_a.label) {
157
+ case 0:
158
+ lookupCode = 'type';
159
+ lookups = {
160
+ type: {
161
+ t1: { displayName: 't1', parent: 'parentType.pt1' },
162
+ t2: { displayName: 't2', parent: 'parentType.pt2' }
163
+ },
164
+ parentType: {
165
+ pt1: { displayName: 'pt1', parent: 'grandParentType.gpt1' },
166
+ pt2: { displayName: 'pt2', parent: 'grandParentType.gpt1' }
167
+ },
168
+ grandParentType: {
169
+ gpt1: { displayName: 'gpt1' }
170
+ }
171
+ };
172
+ user = setUp({ lookupCode: lookupCode, lookups: lookups, value: { lookupCode: 't1', value: 't1' } }).user;
173
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('button'))];
174
+ case 1:
175
+ _a.sent();
176
+ options = react_2.screen.getAllByRole('option');
177
+ expect(options).toHaveLength(5);
178
+ expect(options[0]).toHaveTextContent('gpt1');
179
+ expect(options[0].style.paddingLeft).toBe("25px");
180
+ expect((0, test_utils_1.getMuiIconByName)('Check', options[0])).not.toBeInTheDocument();
181
+ expect(options[1]).toHaveTextContent('pt1');
182
+ expect(options[1].style.paddingLeft).toBe("50px");
183
+ expect((0, test_utils_1.getMuiIconByName)('Check', options[1])).not.toBeInTheDocument();
184
+ expect(options[2]).toHaveTextContent('t1');
185
+ expect(options[2].style.paddingLeft).toBe("75px");
186
+ expect((0, test_utils_1.getMuiIconByName)('Check', options[2])).toBeInTheDocument();
187
+ expect(options[3]).toHaveTextContent('pt2');
188
+ expect(options[3].style.paddingLeft).toBe("50px");
189
+ expect((0, test_utils_1.getMuiIconByName)('Check', options[3])).not.toBeInTheDocument();
190
+ expect(options[4]).toHaveTextContent('t2');
191
+ expect(options[4].style.paddingLeft).toBe("75px");
192
+ expect((0, test_utils_1.getMuiIconByName)('Check', options[4])).not.toBeInTheDocument();
193
+ return [4 /*yield*/, user.click(options[4])];
194
+ case 2:
195
+ _a.sent();
196
+ expect(onChange).toHaveBeenCalledWith({ lookupCode: 't2', value: 't2' });
197
+ return [2 /*return*/];
198
+ }
199
+ });
200
+ }); });
201
+ it('should render selector with empty entries correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
202
+ var getLookups, user, option;
203
+ return __generator(this, function (_a) {
204
+ switch (_a.label) {
205
+ case 0:
206
+ getLookups = jest.fn();
207
+ user = setUp({ getLookups: getLookups, lookups: {} }).user;
208
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('button'))];
209
+ case 1:
210
+ _a.sent();
211
+ option = react_2.screen.getByRole('option');
212
+ expect(option).toHaveTextContent('No results found');
213
+ expect(option).toHaveAttribute('aria-disabled', 'true');
214
+ return [2 /*return*/];
215
+ }
216
+ });
217
+ }); });
105
218
  });
@@ -6,7 +6,7 @@ var groupEntry = function (label) {
6
6
  for (var _i = 1; _i < arguments.length; _i++) {
7
7
  values[_i - 1] = arguments[_i];
8
8
  }
9
- return ({ label: label, values: values });
9
+ return ({ label: label, values: values, value: '' });
10
10
  };
11
11
  var entry = function (value) { return ({ value: value }); };
12
12
  var groupOpt = function (label, depth) { return ({ label: label, depth: depth, isGroup: true }); };
@@ -76,7 +76,7 @@ var MapChart = function (_a) {
76
76
  var projectionFunc = (0, react_1.useMemo)(function () { return (geography ? getProjectionFunc(projection) : undefined); }, [geography, getProjectionFunc, projection]);
77
77
  var _d = (0, useChartTooltipState_1.useChartTooltipState)(), tooltipState = _d.tooltipState, showTooltip = _d.showTooltip, hideTooltip = _d.hideTooltip;
78
78
  var clickable = (0, useClickableChartStyle_1.useClickableChartStyle)(onItemClick);
79
- return (react_1.default.createElement("div", { className: styles.mapChart, style: { width: width, height: height } },
79
+ return (react_1.default.createElement("div", { "data-reltio-id": "map-chart", className: styles.mapChart, style: { width: width, height: height } },
80
80
  react_1.default.createElement(react_simple_maps_1.MapProvider, { width: mapWidth, height: height, projection: projectionFunc, projectionConfig: {} },
81
81
  react_1.default.createElement("svg", { width: mapWidth, height: height, viewBox: "0 0 ".concat(mapWidth, " ").concat(height), className: 'rsm-svg' },
82
82
  react_1.default.createElement(react_simple_maps_1.Geographies, { geography: geography }, function (_a) {
@@ -88,7 +88,7 @@ var MapChart = function (_a) {
88
88
  var group = _a.group;
89
89
  return group === geoId;
90
90
  });
91
- return (react_1.default.createElement(react_simple_maps_1.Geography, { key: geo.rsmKey, geography: geo, fill: cur ? colorScale(cur.value) : '#EEE', stroke: '#FFF', className: (0, classnames_1.default)(styles.geography, clickable), onMouseEnter: function (event) {
91
+ return (react_1.default.createElement(react_simple_maps_1.Geography, { key: geo.rsmKey, geography: geo, "data-reltio-id": "map-geography", fill: cur ? colorScale(cur.value) : '#EEE', stroke: '#FFF', className: (0, classnames_1.default)(styles.geography, clickable), onMouseEnter: function (event) {
92
92
  var data = cur || { label: geoLabel, value: 0, percent: 0, group: geoId };
93
93
  var mapRect = event.target.parentElement.parentElement.getBoundingClientRect();
94
94
  var coordinate = {
@@ -100,11 +100,6 @@ var MapChart = function (_a) {
100
100
  });
101
101
  }))),
102
102
  showLegend && react_1.default.createElement(Legend_1.Legend, { width: constants_1.LEGEND_WIDTH, minValue: minValue, maxValue: maxValue, colors: constants_1.MAP_COLORS }),
103
- react_1.default.createElement(recharts_1.Tooltip, __assign({ viewBox: {
104
- x: 0,
105
- y: 0,
106
- width: mapWidth,
107
- height: height
108
- }, content: react_1.default.createElement(ChartTooltip_1.ChartTooltip, null) }, tooltipState))));
103
+ react_1.default.createElement(recharts_1.Tooltip, __assign({ "data-reltio-id": "map-chart-tooltip", viewBox: { x: 0, y: 0, width: mapWidth, height: height }, content: react_1.default.createElement(ChartTooltip_1.ChartTooltip, null) }, tooltipState))));
109
104
  };
110
105
  exports.default = (0, withChartDataPercents_1.withChartDataPercents)(MapChart);