@reltio/components 1.4.1999 → 1.4.2001

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 (127) hide show
  1. package/cjs/RCTree/RCTree.d.ts +17 -14
  2. package/cjs/RCTree/RCTree.js +24 -8
  3. package/cjs/RCTree/RCTreeLevelLines.d.ts +4 -0
  4. package/cjs/RCTree/RCTreeLevelLines.js +32 -0
  5. package/cjs/RCTree/RCTreeSwitchRenderer.d.ts +7 -0
  6. package/cjs/RCTree/{DefaultSwitchRenderer.js → RCTreeSwitchRenderer.js} +3 -3
  7. package/cjs/RCTree/helper.d.ts +10 -5
  8. package/cjs/RCTree/helper.js +49 -3
  9. package/cjs/RCTree/index.d.ts +2 -0
  10. package/cjs/RCTree/index.js +5 -1
  11. package/cjs/RCTree/levelLinesStyles.d.ts +5 -0
  12. package/cjs/RCTree/levelLinesStyles.js +53 -0
  13. package/cjs/RCTree/styles.d.ts +1 -1
  14. package/cjs/RCTree/styles.js +63 -30
  15. package/cjs/RCTree/types.d.ts +3 -2
  16. package/cjs/RCTree/useDnd.d.ts +16 -16
  17. package/cjs/features/crosswalks/AttributesTable/AttributesTable.test-data.d.ts +36 -0
  18. package/cjs/features/crosswalks/AttributesTable/AttributesTable.test-data.js +288 -0
  19. package/cjs/features/crosswalks/AttributesTable/AttributesTable.test.js +708 -370
  20. package/cjs/features/crosswalks/ColoredBlock/ColoredBlock.test.js +77 -15
  21. package/cjs/features/crosswalks/CopyableValueField/CopyableValueField.test.js +85 -15
  22. package/cjs/features/crosswalks/CrosswalkAttributes/CrosswalkAttributes.test.js +265 -193
  23. package/cjs/features/crosswalks/CrosswalkDateEditor/CrosswalkDateEditor.test.js +106 -12
  24. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.js +21 -9
  25. package/cjs/features/crosswalks/CrosswalkEditor/CrosswalkEditor.test.js +190 -90
  26. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +323 -225
  27. package/cjs/features/crosswalks/ShowDependentLink/ShowDependentLink.test.js +75 -12
  28. package/cjs/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +171 -138
  29. package/cjs/index.d.ts +1 -1
  30. package/cjs/index.js +6 -4
  31. package/esm/RCTree/RCTree.d.ts +17 -14
  32. package/esm/RCTree/RCTree.js +26 -10
  33. package/esm/RCTree/RCTreeLevelLines.d.ts +4 -0
  34. package/esm/RCTree/RCTreeLevelLines.js +25 -0
  35. package/esm/RCTree/RCTreeSwitchRenderer.d.ts +7 -0
  36. package/esm/RCTree/{DefaultSwitchRenderer.js → RCTreeSwitchRenderer.js} +1 -1
  37. package/esm/RCTree/helper.d.ts +10 -5
  38. package/esm/RCTree/helper.js +44 -1
  39. package/esm/RCTree/index.d.ts +2 -0
  40. package/esm/RCTree/index.js +2 -0
  41. package/esm/RCTree/levelLinesStyles.d.ts +5 -0
  42. package/esm/RCTree/levelLinesStyles.js +50 -0
  43. package/esm/RCTree/styles.d.ts +1 -1
  44. package/esm/RCTree/styles.js +63 -30
  45. package/esm/RCTree/types.d.ts +3 -2
  46. package/esm/RCTree/useDnd.d.ts +16 -16
  47. package/esm/features/crosswalks/AttributesTable/AttributesTable.test-data.d.ts +36 -0
  48. package/esm/features/crosswalks/AttributesTable/AttributesTable.test-data.js +283 -0
  49. package/esm/features/crosswalks/AttributesTable/AttributesTable.test.js +711 -350
  50. package/esm/features/crosswalks/ColoredBlock/ColoredBlock.test.js +77 -15
  51. package/esm/features/crosswalks/CopyableValueField/CopyableValueField.test.js +85 -15
  52. package/esm/features/crosswalks/CrosswalkAttributes/CrosswalkAttributes.test.js +266 -194
  53. package/esm/features/crosswalks/CrosswalkDateEditor/CrosswalkDateEditor.test.js +106 -12
  54. package/esm/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.js +21 -9
  55. package/esm/features/crosswalks/CrosswalkEditor/CrosswalkEditor.test.js +190 -90
  56. package/esm/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +324 -226
  57. package/esm/features/crosswalks/ShowDependentLink/ShowDependentLink.test.js +75 -12
  58. package/esm/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +171 -138
  59. package/esm/index.d.ts +1 -1
  60. package/esm/index.js +1 -1
  61. package/package.json +1 -1
  62. package/cjs/RCTree/DefaultSwitchRenderer.d.ts +0 -7
  63. package/cjs/features/crosswalks/AttributesTable/IntegrationAttributesTable.test-data.d.ts +0 -3
  64. package/cjs/features/crosswalks/AttributesTable/IntegrationAttributesTable.test-data.js +0 -52
  65. package/cjs/features/crosswalks/AttributesTable/IntegrationAttributesTable.test.d.ts +0 -1
  66. package/cjs/features/crosswalks/AttributesTable/IntegrationAttributesTable.test.js +0 -323
  67. package/cjs/features/crosswalks/AttributesTable/components/AddAttributesButton/AddAttributesButton.test.d.ts +0 -1
  68. package/cjs/features/crosswalks/AttributesTable/components/AddAttributesButton/AddAttributesButton.test.js +0 -142
  69. package/cjs/features/crosswalks/AttributesTable/components/AttributeValuesRenderer/AttributeValuesRenderer.test.d.ts +0 -1
  70. package/cjs/features/crosswalks/AttributesTable/components/AttributeValuesRenderer/AttributeValuesRenderer.test.js +0 -146
  71. package/cjs/features/crosswalks/AttributesTable/components/AttributesHeadCellRenderer/AttributesHeadCellRenderer.test.d.ts +0 -1
  72. package/cjs/features/crosswalks/AttributesTable/components/AttributesHeadCellRenderer/AttributesHeadCellRenderer.test.js +0 -50
  73. package/cjs/features/crosswalks/AttributesTable/components/ConfirmEditIgnoredDialog/ConfirmEditIgnoredDialog.test.d.ts +0 -1
  74. package/cjs/features/crosswalks/AttributesTable/components/ConfirmEditIgnoredDialog/ConfirmEditIgnoredDialog.test.js +0 -58
  75. package/cjs/features/crosswalks/AttributesTable/components/CountRenderer/CountRenderer.test.d.ts +0 -1
  76. package/cjs/features/crosswalks/AttributesTable/components/CountRenderer/CountRenderer.test.js +0 -14
  77. package/cjs/features/crosswalks/AttributesTable/components/ImageAttributesRenderer/ImageAttributesRenderer.test.d.ts +0 -1
  78. package/cjs/features/crosswalks/AttributesTable/components/ImageAttributesRenderer/ImageAttributesRenderer.test.js +0 -110
  79. package/cjs/features/crosswalks/AttributesTable/components/NestedAttributesRenderer/NestedAttributesRenderer.test.d.ts +0 -1
  80. package/cjs/features/crosswalks/AttributesTable/components/NestedAttributesRenderer/NestedAttributesRenderer.test.js +0 -111
  81. package/cjs/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.test.d.ts +0 -1
  82. package/cjs/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.test.js +0 -67
  83. package/cjs/features/crosswalks/AttributesTable/components/ReferenceAttributesRenderer/ReferenceAttributesRenderer.test.d.ts +0 -1
  84. package/cjs/features/crosswalks/AttributesTable/components/ReferenceAttributesRenderer/ReferenceAttributesRenderer.test.js +0 -193
  85. package/cjs/features/crosswalks/AttributesTable/components/RuleTypeInfoButton/RuleTypeInfoButton.test.d.ts +0 -1
  86. package/cjs/features/crosswalks/AttributesTable/components/RuleTypeInfoButton/RuleTypeInfoButton.test.js +0 -22
  87. package/cjs/features/crosswalks/AttributesTable/components/RuleTypeRenderer/RuleTypeRenderer.test.d.ts +0 -1
  88. package/cjs/features/crosswalks/AttributesTable/components/RuleTypeRenderer/RuleTypeRenderer.test.js +0 -58
  89. package/cjs/features/crosswalks/AttributesTable/components/SimpleAttributesRenderer/SimpleAttributesRenderer.test.d.ts +0 -1
  90. package/cjs/features/crosswalks/AttributesTable/components/SimpleAttributesRenderer/SimpleAttributesRenderer.test.js +0 -69
  91. package/cjs/features/crosswalks/CrosswalkDateEditor/IntegrationCrosswalkDateEditor.test.d.ts +0 -1
  92. package/cjs/features/crosswalks/CrosswalkDateEditor/IntegrationCrosswalkDateEditor.test.js +0 -137
  93. package/cjs/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.test.d.ts +0 -1
  94. package/cjs/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.test.js +0 -56
  95. package/esm/RCTree/DefaultSwitchRenderer.d.ts +0 -7
  96. package/esm/features/crosswalks/AttributesTable/IntegrationAttributesTable.test-data.d.ts +0 -3
  97. package/esm/features/crosswalks/AttributesTable/IntegrationAttributesTable.test-data.js +0 -47
  98. package/esm/features/crosswalks/AttributesTable/IntegrationAttributesTable.test.d.ts +0 -1
  99. package/esm/features/crosswalks/AttributesTable/IntegrationAttributesTable.test.js +0 -318
  100. package/esm/features/crosswalks/AttributesTable/components/AddAttributesButton/AddAttributesButton.test.d.ts +0 -1
  101. package/esm/features/crosswalks/AttributesTable/components/AddAttributesButton/AddAttributesButton.test.js +0 -137
  102. package/esm/features/crosswalks/AttributesTable/components/AttributeValuesRenderer/AttributeValuesRenderer.test.d.ts +0 -1
  103. package/esm/features/crosswalks/AttributesTable/components/AttributeValuesRenderer/AttributeValuesRenderer.test.js +0 -141
  104. package/esm/features/crosswalks/AttributesTable/components/AttributesHeadCellRenderer/AttributesHeadCellRenderer.test.d.ts +0 -1
  105. package/esm/features/crosswalks/AttributesTable/components/AttributesHeadCellRenderer/AttributesHeadCellRenderer.test.js +0 -45
  106. package/esm/features/crosswalks/AttributesTable/components/ConfirmEditIgnoredDialog/ConfirmEditIgnoredDialog.test.d.ts +0 -1
  107. package/esm/features/crosswalks/AttributesTable/components/ConfirmEditIgnoredDialog/ConfirmEditIgnoredDialog.test.js +0 -53
  108. package/esm/features/crosswalks/AttributesTable/components/CountRenderer/CountRenderer.test.d.ts +0 -1
  109. package/esm/features/crosswalks/AttributesTable/components/CountRenderer/CountRenderer.test.js +0 -9
  110. package/esm/features/crosswalks/AttributesTable/components/ImageAttributesRenderer/ImageAttributesRenderer.test.d.ts +0 -1
  111. package/esm/features/crosswalks/AttributesTable/components/ImageAttributesRenderer/ImageAttributesRenderer.test.js +0 -105
  112. package/esm/features/crosswalks/AttributesTable/components/NestedAttributesRenderer/NestedAttributesRenderer.test.d.ts +0 -1
  113. package/esm/features/crosswalks/AttributesTable/components/NestedAttributesRenderer/NestedAttributesRenderer.test.js +0 -106
  114. package/esm/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.test.d.ts +0 -1
  115. package/esm/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.test.js +0 -62
  116. package/esm/features/crosswalks/AttributesTable/components/ReferenceAttributesRenderer/ReferenceAttributesRenderer.test.d.ts +0 -1
  117. package/esm/features/crosswalks/AttributesTable/components/ReferenceAttributesRenderer/ReferenceAttributesRenderer.test.js +0 -188
  118. package/esm/features/crosswalks/AttributesTable/components/RuleTypeInfoButton/RuleTypeInfoButton.test.d.ts +0 -1
  119. package/esm/features/crosswalks/AttributesTable/components/RuleTypeInfoButton/RuleTypeInfoButton.test.js +0 -17
  120. package/esm/features/crosswalks/AttributesTable/components/RuleTypeRenderer/RuleTypeRenderer.test.d.ts +0 -1
  121. package/esm/features/crosswalks/AttributesTable/components/RuleTypeRenderer/RuleTypeRenderer.test.js +0 -53
  122. package/esm/features/crosswalks/AttributesTable/components/SimpleAttributesRenderer/SimpleAttributesRenderer.test.d.ts +0 -1
  123. package/esm/features/crosswalks/AttributesTable/components/SimpleAttributesRenderer/SimpleAttributesRenderer.test.js +0 -64
  124. package/esm/features/crosswalks/CrosswalkDateEditor/IntegrationCrosswalkDateEditor.test.d.ts +0 -1
  125. package/esm/features/crosswalks/CrosswalkDateEditor/IntegrationCrosswalkDateEditor.test.js +0 -132
  126. package/esm/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.test.d.ts +0 -1
  127. package/esm/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.test.js +0 -28
@@ -33,31 +33,60 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
33
  __setModuleDefault(result, mod);
34
34
  return result;
35
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
+ };
36
72
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
73
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
74
  };
39
75
  Object.defineProperty(exports, "__esModule", { value: true });
40
76
  var react_1 = __importDefault(require("react"));
41
- var enzyme_1 = require("enzyme");
42
- var react_hooks_1 = require("@testing-library/react-hooks");
77
+ var react_2 = require("@testing-library/react");
78
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
79
+ var LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
80
+ var AdapterMoment_1 = require("@mui/x-date-pickers/AdapterMoment");
81
+ var styles_1 = require("@mui/styles");
82
+ var styles_2 = require("@mui/material/styles");
43
83
  var reactDnd = __importStar(require("react-dnd"));
44
84
  var react_dnd_html5_backend_1 = require("react-dnd-html5-backend");
45
85
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
46
- var Visibility_1 = __importDefault(require("@mui/icons-material/Visibility"));
47
- var Typography_1 = __importDefault(require("@mui/material/Typography"));
48
- var Delete_1 = __importDefault(require("@mui/icons-material/Delete"));
49
86
  var CrosswalksDisplay = __importStar(require("../../../contexts/CrosswalksDisplayContext"));
50
87
  var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
51
- var ArrowExpandButton_1 = require("../../../ArrowExpandButton");
52
- var ConfirmDeleteDialog_1 = require("../../../ConfirmDeleteDialog");
53
- var SmallIconButton_1 = require("../../../SmallIconButton");
54
- var SourceIcon_1 = require("../../../SourceIcon");
55
- var NestedAttribute_1 = __importDefault(require("../../../icons/NestedAttribute"));
56
- var ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
57
- var test_utils_1 = require("../../../test-utils");
58
- var ColoredBlock_1 = require("../ColoredBlock");
59
- var CrosswalkAttributes_1 = require("../CrosswalkAttributes");
60
88
  var CrosswalkRow_1 = require("./CrosswalkRow");
89
+ jest.unmock('@mui/styles');
61
90
  jest.mock('react-dnd', function () { return (__assign(__assign({}, jest.requireActual('react-dnd')), { useDrag: jest.fn() })); });
62
91
  jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { isCrosswalkDisabled: jest.fn() })); });
63
92
  var metadata = {
@@ -76,7 +105,6 @@ var metadata = {
76
105
  }
77
106
  ]
78
107
  };
79
- var attributesSortingStrategy = mdm_sdk_1.SortingStrategy.ASC_BY_NAME;
80
108
  var crosswalk = {
81
109
  uri: 'entities/j8K1vc9/crosswalks/1kQ5cap2n',
82
110
  type: 'configuration/sources/Reltio',
@@ -97,11 +125,15 @@ var defaultProps = {
97
125
  };
98
126
  var setUp = function (props) {
99
127
  if (props === void 0) { props = defaultProps; }
100
- var Component = function (props) {
101
- return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: { metadata: metadata, attributesSortingStrategy: attributesSortingStrategy } },
102
- react_1.default.createElement(CrosswalkRow_1.CrosswalkRow, __assign({}, props))));
128
+ var user = user_event_1.default.setup({ delay: null });
129
+ var Providers = function (_a) {
130
+ var children = _a.children;
131
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: { metadata: metadata } },
132
+ react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterMoment_1.AdapterMoment },
133
+ react_1.default.createElement(styles_1.ThemeProvider, { theme: (0, styles_2.createTheme)(mdm_sdk_1.theme) }, children))));
103
134
  };
104
- return (0, enzyme_1.mount)(react_1.default.createElement(Component, __assign({}, props)));
135
+ var renderer = (0, react_2.render)(react_1.default.createElement(CrosswalkRow_1.CrosswalkRow, __assign({}, props)), { wrapper: Providers });
136
+ return __assign(__assign({}, renderer), { user: user });
105
137
  };
106
138
  describe('CrosswalkRow tests', function () {
107
139
  var highlightCrosswalk = jest.fn();
@@ -127,57 +159,79 @@ describe('CrosswalkRow tests', function () {
127
159
  });
128
160
  jest.spyOn(CrosswalksDisplay, 'useCrosswalkColor').mockImplementation(function (crosswalk) { return crosswalk === null || crosswalk === void 0 ? void 0 : crosswalk.value; });
129
161
  });
130
- it('should render crosswalk correctly', function () {
131
- var wrapper = setUp();
132
- var button = wrapper.find(SmallIconButton_1.SmallIconButtonWithTooltip);
133
- expect(button).toBeDefined();
134
- expect(button.props()).toMatchObject({
135
- icon: Visibility_1.default,
136
- tooltipTitle: 'Focus',
137
- disabled: false
162
+ it('should render crosswalk correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
163
+ var user, focusButton;
164
+ return __generator(this, function (_a) {
165
+ switch (_a.label) {
166
+ case 0:
167
+ user = setUp().user;
168
+ focusButton = react_2.screen.getByLabelText('Focus');
169
+ expect(focusButton).toBeInTheDocument();
170
+ expect(focusButton.querySelector('svg')).toBeInTheDocument();
171
+ expect(react_2.screen.getByTestId('arrow-expand-button')).toBeInTheDocument();
172
+ expect(react_2.screen.getByTestId('cw-colored-block')).toBeInTheDocument();
173
+ expect(react_2.screen.getByText(metadata.sources[0].label)).toBeInTheDocument();
174
+ expect(react_2.screen.getByText(crosswalk.value)).toBeInTheDocument();
175
+ expect(react_2.screen.getByRole('img')).toHaveAttribute('src', expect.stringMatching(metadata.sources[0].icon));
176
+ return [4 /*yield*/, user.hover(focusButton)];
177
+ case 1:
178
+ _a.sent();
179
+ expect((0, react_2.within)(react_2.screen.getByRole('tooltip')).getByText('Focus')).toBeInTheDocument();
180
+ return [2 /*return*/];
181
+ }
138
182
  });
139
- expect(wrapper.find(ColoredBlock_1.ColoredBlock).prop('color')).toBe('some value');
140
- expect(wrapper.find(ColoredBlock_1.ColoredBlock).prop('variant')).toBe('standart');
141
- expect(wrapper.find(ArrowExpandButton_1.ArrowExpandButton)).toBeDefined();
142
- expect(wrapper.find(SourceIcon_1.SourceIcon)).toBeDefined();
143
- expect(wrapper.find(Typography_1.default).length).toBe(2);
144
- expect(wrapper.find(Typography_1.default).at(0).text()).toBe(metadata.sources[0].label);
145
- expect(wrapper.find(Typography_1.default).at(1).text()).toBe(crosswalk.value);
146
- expect(wrapper.find(ExpandedValueTooltip_1.ExpandedValueTooltip).at(0).prop('value')).toBe(metadata.sources[0].label);
147
- expect(wrapper.find(ExpandedValueTooltip_1.ExpandedValueTooltip).at(1).prop('value')).toBe(crosswalk.value);
148
- });
149
- it('should support highlighting', function () {
150
- var wrapper = setUp();
151
- var coloredBlock = wrapper.find(ColoredBlock_1.ColoredBlock);
152
- coloredBlock.simulate('mouseenter');
153
- expect(highlightCrosswalk).toHaveBeenCalledTimes(1);
154
- coloredBlock.simulate('mouseleave');
155
- expect(removeHighlight).toHaveBeenCalledTimes(1);
156
- });
183
+ }); });
184
+ it('should support highlighting', function () { return __awaiter(void 0, void 0, void 0, function () {
185
+ var user;
186
+ return __generator(this, function (_a) {
187
+ switch (_a.label) {
188
+ case 0:
189
+ user = setUp().user;
190
+ return [4 /*yield*/, user.hover(react_2.screen.getByTestId('cw-colored-block'))];
191
+ case 1:
192
+ _a.sent();
193
+ expect(highlightCrosswalk).toHaveBeenCalledTimes(1);
194
+ return [4 /*yield*/, user.unhover(react_2.screen.getByTestId('cw-colored-block'))];
195
+ case 2:
196
+ _a.sent();
197
+ expect(removeHighlight).toHaveBeenCalledTimes(1);
198
+ return [2 /*return*/];
199
+ }
200
+ });
201
+ }); });
157
202
  it('should render disabled button without icon if focusable === false', function () {
158
- var wrapper = setUp(__assign(__assign({}, defaultProps), { focusable: false }));
159
- var button = wrapper.find(SmallIconButton_1.SmallIconButtonWithTooltip);
160
- expect(button.prop('disabled')).toBe(true);
161
- expect(button.prop('icon')).toBeFalsy();
203
+ setUp(__assign(__assign({}, defaultProps), { focusable: false }));
204
+ var focusButton = react_2.screen.getAllByRole('button')[0];
205
+ expect(focusButton).toBeDisabled();
206
+ expect(focusButton.querySelector('svg')).not.toBeInTheDocument();
162
207
  });
163
208
  it('should render white background if props.isEmpty=true', function () {
164
- var wrapper = setUp(__assign(__assign({}, defaultProps), { isEmpty: true }));
165
- expect(wrapper.find(ColoredBlock_1.ColoredBlock).prop('color')).toBe('#FFF');
209
+ setUp(__assign(__assign({}, defaultProps), { isEmpty: true }));
210
+ expect(getComputedStyle(react_2.screen.getByTestId('cw-colored-block')).backgroundColor).toBe('rgb(255, 255, 255)');
166
211
  });
167
212
  it('should render grey background if props.isColored=false', function () {
168
- var wrapper = setUp(__assign(__assign({}, defaultProps), { isColored: false }));
169
- expect(wrapper.find(ColoredBlock_1.ColoredBlock).prop('color')).toBe('#CACCD1');
213
+ setUp(__assign(__assign({}, defaultProps), { isColored: false }));
214
+ expect(getComputedStyle(react_2.screen.getByTestId('cw-colored-block')).backgroundColor).toBe('rgb(202, 204, 209)');
170
215
  });
171
216
  it('should pass disabled variant prop for disabled crosswalk', function () {
172
217
  mdm_sdk_1.isCrosswalkDisabled.mockReturnValue(true);
173
- var wrapper = setUp();
174
- expect(wrapper.find(ColoredBlock_1.ColoredBlock).prop('variant')).toBe('disabled');
175
- });
176
- it('should call onToggleFocus when click on eye icon', function () {
177
- var wrapper = setUp();
178
- wrapper.find(SmallIconButton_1.SmallIconButtonWithTooltip).find('button').simulate('click');
179
- expect(toggleCrosswalkFocus).toHaveBeenCalledTimes(1);
218
+ setUp();
219
+ expect(react_2.screen.getByLabelText('End-dated crosswalk')).toBeInTheDocument();
180
220
  });
221
+ it('should call onToggleFocus when click on eye icon', function () { return __awaiter(void 0, void 0, void 0, function () {
222
+ var user;
223
+ return __generator(this, function (_a) {
224
+ switch (_a.label) {
225
+ case 0:
226
+ user = setUp().user;
227
+ return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Focus'))];
228
+ case 1:
229
+ _a.sent();
230
+ expect(toggleCrosswalkFocus).toHaveBeenCalledTimes(1);
231
+ return [2 /*return*/];
232
+ }
233
+ });
234
+ }); });
181
235
  it('should render dependent icon if isDependent prop is true', function () {
182
236
  var dependentProps = {
183
237
  crosswalk: crosswalk,
@@ -187,182 +241,226 @@ describe('CrosswalkRow tests', function () {
187
241
  onDelete: jest.fn(),
188
242
  onEdit: jest.fn()
189
243
  };
190
- var wrapper = setUp(dependentProps);
191
- expect(wrapper.find(NestedAttribute_1.default)).toBeDefined();
192
- });
193
- it('should toggle crosswalk attributes when click on expand icon', function () {
194
- var wrapper = setUp();
195
- (0, react_hooks_1.act)(function () {
196
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
197
- });
198
- (0, test_utils_1.rerenderWrapper)(wrapper);
199
- var deleteButton = wrapper
200
- .find(SmallIconButton_1.SmallIconButtonWithTooltip)
201
- .findWhere(function (n) { return n.prop('icon') === Delete_1.default; })
202
- .at(0);
203
- expect(deleteButton.props()).toMatchObject({
204
- disabled: false,
205
- tooltipTitle: 'Delete crosswalk'
206
- });
207
- expect(wrapper.find(CrosswalkAttributes_1.CrosswalkAttributes).props()).toMatchObject({
208
- crosswalk: defaultProps.crosswalk,
209
- canEditAttribute: true
210
- });
211
- (0, react_hooks_1.act)(function () {
212
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
213
- });
214
- (0, test_utils_1.rerenderWrapper)(wrapper);
215
- var newDeleteButton = wrapper
216
- .find(SmallIconButton_1.SmallIconButtonWithTooltip)
217
- .findWhere(function (n) { return n.prop('className') === 'deleteCrosswalkButton'; });
218
- expect(newDeleteButton.length).toBe(0);
219
- expect(wrapper.find(CrosswalkAttributes_1.CrosswalkAttributes).length).toBe(0);
220
- });
221
- it('should disable delete icon if props.disableDelete = true', function () {
222
- var wrapper = setUp(__assign(__assign({}, defaultProps), { disableDelete: true }));
223
- (0, react_hooks_1.act)(function () {
224
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
225
- });
226
- (0, test_utils_1.rerenderWrapper)(wrapper);
227
- var deleteButton = wrapper
228
- .find(SmallIconButton_1.SmallIconButtonWithTooltip)
229
- .findWhere(function (n) { return n.prop('icon') === Delete_1.default; })
230
- .at(0);
231
- expect(deleteButton.prop('disabled')).toBeTruthy();
232
- expect(deleteButton.prop('tooltipTitle')).toBe("You don't have permissions to delete");
233
- });
234
- it('should disable editing in CrosswalkAttributes if props.disableEdit = true', function () {
235
- var wrapper = setUp(__assign(__assign({}, defaultProps), { disableEdit: true }));
236
- (0, react_hooks_1.act)(function () {
237
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
238
- });
239
- (0, test_utils_1.rerenderWrapper)(wrapper);
240
- expect(wrapper.find(CrosswalkAttributes_1.CrosswalkAttributes).prop('canEditAttribute')).toBeFalsy();
241
- });
242
- it('should not render delete button for reference crosswalk', function () {
243
- var props = __assign(__assign({}, defaultProps), { crosswalk: __assign(__assign({}, crosswalk), { ownerType: 'relation' }) });
244
- var wrapper = setUp(props);
245
- (0, react_hooks_1.act)(function () {
246
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
247
- });
248
- (0, test_utils_1.rerenderWrapper)(wrapper);
249
- var deleteButton = wrapper
250
- .find(SmallIconButton_1.SmallIconButtonWithTooltip)
251
- .findWhere(function (n) { return n.prop('className') === 'deleteCrosswalkButton'; });
252
- expect(deleteButton).toHaveLength(0);
253
- });
254
- it('should not render delete button for disabled crosswalk', function () {
255
- mdm_sdk_1.isCrosswalkDisabled.mockReturnValue(true);
256
- var wrapper = setUp();
257
- (0, react_hooks_1.act)(function () {
258
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
259
- });
260
- (0, test_utils_1.rerenderWrapper)(wrapper);
261
- var deleteButton = wrapper
262
- .find(SmallIconButton_1.SmallIconButtonWithTooltip)
263
- .findWhere(function (n) { return n.prop('className') === 'deleteCrosswalkButton'; });
264
- expect(deleteButton).toHaveLength(0);
244
+ setUp(dependentProps);
245
+ expect(react_2.screen.getByTestId('SvgNestedAttribute')).toBeInTheDocument();
265
246
  });
266
- it('should call props.onDelete and not call toggleCrosswalkFocus if isFocused === false after confirmation on crosswalk delete', function () {
267
- var wrapper = setUp();
268
- (0, react_hooks_1.act)(function () {
269
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
270
- });
271
- (0, test_utils_1.rerenderWrapper)(wrapper);
272
- expect(wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).at(0).prop('open')).toBe(false);
273
- (0, react_hooks_1.act)(function () {
274
- wrapper
275
- .find(SmallIconButton_1.SmallIconButtonWithTooltip)
276
- .findWhere(function (n) { return n.prop('icon') === Delete_1.default; })
277
- .find('button')
278
- .simulate('click');
279
- });
280
- (0, test_utils_1.rerenderWrapper)(wrapper);
281
- expect(wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).prop('open')).toBe(true);
282
- (0, react_hooks_1.act)(function () {
283
- wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).prop('onConfirm')();
247
+ it('should toggle crosswalk attributes when click on expand icon', function () { return __awaiter(void 0, void 0, void 0, function () {
248
+ var user;
249
+ return __generator(this, function (_a) {
250
+ switch (_a.label) {
251
+ case 0:
252
+ user = setUp().user;
253
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
254
+ case 1:
255
+ _a.sent();
256
+ return [4 /*yield*/, user.hover(react_2.screen.getByLabelText('Delete crosswalk'))];
257
+ case 2:
258
+ _a.sent();
259
+ expect((0, react_2.within)(react_2.screen.getByRole('tooltip')).getByText('Delete crosswalk')).toBeInTheDocument();
260
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
261
+ case 3:
262
+ _a.sent();
263
+ expect(react_2.screen.queryByLabelText('Delete crosswalk')).not.toBeInTheDocument();
264
+ return [2 /*return*/];
265
+ }
284
266
  });
285
- wrapper.update();
286
- expect(defaultProps.onDelete).toHaveBeenCalledWith('1kQ5cap2n');
287
- expect(toggleCrosswalkFocus).toHaveBeenCalledTimes(0);
288
- });
289
- it('should call props.onDelete and call toggleCrosswalkFocus if isFocused === true after confirmation on crosswalk delete', function () {
290
- jest.spyOn(CrosswalksDisplay, 'useCrosswalkFocus').mockReturnValue({
291
- isFocused: true,
292
- toggleCrosswalkFocus: toggleCrosswalkFocus
267
+ }); });
268
+ it('should disable delete icon if props.disableDelete = true', function () { return __awaiter(void 0, void 0, void 0, function () {
269
+ var user;
270
+ return __generator(this, function (_a) {
271
+ switch (_a.label) {
272
+ case 0:
273
+ user = setUp(__assign(__assign({}, defaultProps), { disableDelete: true })).user;
274
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
275
+ case 1:
276
+ _a.sent();
277
+ expect((0, react_2.within)(react_2.screen.getByLabelText("You don't have permissions to delete")).getByRole('button')).toBeDisabled();
278
+ return [4 /*yield*/, user.hover(react_2.screen.getByLabelText("You don't have permissions to delete"))];
279
+ case 2:
280
+ _a.sent();
281
+ expect((0, react_2.within)(react_2.screen.getByRole('tooltip')).getByText("You don't have permissions to delete")).toBeInTheDocument();
282
+ return [2 /*return*/];
283
+ }
293
284
  });
294
- var wrapper = setUp();
295
- (0, react_hooks_1.act)(function () {
296
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
285
+ }); });
286
+ it('should disable editing in CrosswalkAttributes if props.disableEdit = true', function () { return __awaiter(void 0, void 0, void 0, function () {
287
+ var user;
288
+ return __generator(this, function (_a) {
289
+ switch (_a.label) {
290
+ case 0:
291
+ user = setUp(__assign(__assign({}, defaultProps), { disableEdit: true })).user;
292
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
293
+ case 1:
294
+ _a.sent();
295
+ expect(react_2.screen.queryByText('Add attributes')).not.toBeInTheDocument();
296
+ return [2 /*return*/];
297
+ }
297
298
  });
298
- (0, test_utils_1.rerenderWrapper)(wrapper);
299
- expect(wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).prop('open')).toBe(false);
300
- (0, react_hooks_1.act)(function () {
301
- wrapper
302
- .find(SmallIconButton_1.SmallIconButtonWithTooltip)
303
- .findWhere(function (n) { return n.prop('icon') === Delete_1.default; })
304
- .find('button')
305
- .simulate('click');
299
+ }); });
300
+ it('should not render delete button for reference crosswalk', function () { return __awaiter(void 0, void 0, void 0, function () {
301
+ var props, user;
302
+ return __generator(this, function (_a) {
303
+ switch (_a.label) {
304
+ case 0:
305
+ props = __assign(__assign({}, defaultProps), { crosswalk: __assign(__assign({}, crosswalk), { ownerType: 'relation' }) });
306
+ user = setUp(props).user;
307
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
308
+ case 1:
309
+ _a.sent();
310
+ expect(react_2.screen.queryByLabelText('Delete crosswalk')).not.toBeInTheDocument();
311
+ return [2 /*return*/];
312
+ }
306
313
  });
307
- (0, test_utils_1.rerenderWrapper)(wrapper);
308
- expect(wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).prop('open')).toBe(true);
309
- (0, react_hooks_1.act)(function () {
310
- wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).prop('onConfirm')();
314
+ }); });
315
+ it('should not render delete button for disabled crosswalk', function () { return __awaiter(void 0, void 0, void 0, function () {
316
+ var user;
317
+ return __generator(this, function (_a) {
318
+ switch (_a.label) {
319
+ case 0:
320
+ mdm_sdk_1.isCrosswalkDisabled.mockReturnValue(true);
321
+ user = setUp().user;
322
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
323
+ case 1:
324
+ _a.sent();
325
+ expect(react_2.screen.queryByLabelText('Delete crosswalk')).not.toBeInTheDocument();
326
+ return [2 /*return*/];
327
+ }
311
328
  });
312
- (0, test_utils_1.rerenderWrapper)(wrapper);
313
- expect(defaultProps.onDelete).toHaveBeenCalledWith('1kQ5cap2n');
314
- expect(toggleCrosswalkFocus).toHaveBeenCalledTimes(1);
315
- });
316
- it('should not call props.onDelete without confirmation on crosswalk delete', function () {
317
- var wrapper = setUp();
318
- (0, react_hooks_1.act)(function () {
319
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
329
+ }); });
330
+ it('should call props.onDelete and not call toggleCrosswalkFocus if isFocused === false after confirmation on crosswalk delete', function () { return __awaiter(void 0, void 0, void 0, function () {
331
+ var user;
332
+ return __generator(this, function (_a) {
333
+ switch (_a.label) {
334
+ case 0:
335
+ user = setUp().user;
336
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
337
+ case 1:
338
+ _a.sent();
339
+ return [4 /*yield*/, user.click((0, react_2.within)(react_2.screen.getByLabelText('Delete crosswalk')).getByRole('button'))];
340
+ case 2:
341
+ _a.sent();
342
+ expect(react_2.screen.getByText('Are you sure you want to delete this?')).toBeInTheDocument();
343
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Yes'))];
344
+ case 3:
345
+ _a.sent();
346
+ expect(defaultProps.onDelete).toHaveBeenCalledWith('1kQ5cap2n');
347
+ expect(toggleCrosswalkFocus).toHaveBeenCalledTimes(0);
348
+ return [2 /*return*/];
349
+ }
320
350
  });
321
- (0, test_utils_1.rerenderWrapper)(wrapper);
322
- expect(wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).prop('open')).toBe(false);
323
- (0, react_hooks_1.act)(function () {
324
- wrapper
325
- .find(SmallIconButton_1.SmallIconButtonWithTooltip)
326
- .findWhere(function (n) { return n.prop('icon') === Delete_1.default; })
327
- .find('button')
328
- .simulate('click');
351
+ }); });
352
+ it('should call props.onDelete and call toggleCrosswalkFocus if isFocused === true after confirmation on crosswalk delete', function () { return __awaiter(void 0, void 0, void 0, function () {
353
+ var user;
354
+ return __generator(this, function (_a) {
355
+ switch (_a.label) {
356
+ case 0:
357
+ jest.spyOn(CrosswalksDisplay, 'useCrosswalkFocus').mockReturnValue({
358
+ isFocused: true,
359
+ toggleCrosswalkFocus: toggleCrosswalkFocus
360
+ });
361
+ user = setUp().user;
362
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
363
+ case 1:
364
+ _a.sent();
365
+ return [4 /*yield*/, user.click((0, react_2.within)(react_2.screen.getByLabelText('Delete crosswalk')).getByRole('button'))];
366
+ case 2:
367
+ _a.sent();
368
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Yes'))];
369
+ case 3:
370
+ _a.sent();
371
+ expect(defaultProps.onDelete).toHaveBeenCalledWith('1kQ5cap2n');
372
+ expect(toggleCrosswalkFocus).toHaveBeenCalledTimes(1);
373
+ return [2 /*return*/];
374
+ }
329
375
  });
330
- (0, test_utils_1.rerenderWrapper)(wrapper);
331
- expect(wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).prop('open')).toBe(true);
332
- (0, react_hooks_1.act)(function () {
333
- wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).prop('onClose')();
376
+ }); });
377
+ it('should not call props.onDelete without confirmation on crosswalk delete', function () { return __awaiter(void 0, void 0, void 0, function () {
378
+ var user;
379
+ return __generator(this, function (_a) {
380
+ switch (_a.label) {
381
+ case 0:
382
+ user = setUp().user;
383
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
384
+ case 1:
385
+ _a.sent();
386
+ return [4 /*yield*/, user.click((0, react_2.within)(react_2.screen.getByLabelText('Delete crosswalk')).getByRole('button'))];
387
+ case 2:
388
+ _a.sent();
389
+ return [4 /*yield*/, user.click(react_2.screen.getByText('No'))];
390
+ case 3:
391
+ _a.sent();
392
+ expect(defaultProps.onDelete).not.toHaveBeenCalled();
393
+ return [2 /*return*/];
394
+ }
334
395
  });
335
- (0, test_utils_1.rerenderWrapper)(wrapper);
336
- expect(wrapper.find(ConfirmDeleteDialog_1.ConfirmDeleteDialog).at(0).prop('open')).toBe(false);
337
- expect(defaultProps.onDelete).not.toHaveBeenCalled();
338
- });
339
- it('should call props.onEdit when calling CrosswalkAttributes onEditAttribute prop', function () {
340
- var wrapper = setUp();
341
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
342
- (0, test_utils_1.rerenderWrapper)(wrapper);
343
- var attributeName = 'deleteDate';
344
- var value = new Date('01/01/2001').valueOf().toString();
345
- wrapper.find(CrosswalkAttributes_1.CrosswalkAttributes).prop('onEditAttribute')(attributeName, value);
346
- expect(defaultProps.onEdit).toHaveBeenCalledWith({
347
- crosswalkId: '1kQ5cap2n',
348
- attributeName: attributeName,
349
- value: value
396
+ }); });
397
+ it('should call props.onEdit when calling CrosswalkAttributes onEditAttribute prop', function () { return __awaiter(void 0, void 0, void 0, function () {
398
+ var dateString, newDeleteDate, user;
399
+ return __generator(this, function (_a) {
400
+ switch (_a.label) {
401
+ case 0:
402
+ dateString = '01/01/2025 01:01:00';
403
+ newDeleteDate = new Date(dateString).valueOf();
404
+ user = setUp().user;
405
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
406
+ case 1:
407
+ _a.sent();
408
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Add attributes'))];
409
+ case 2:
410
+ _a.sent();
411
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Delete Date'))];
412
+ case 3:
413
+ _a.sent();
414
+ return [4 /*yield*/, user.keyboard('{Escape}')];
415
+ case 4:
416
+ _a.sent();
417
+ return [4 /*yield*/, (0, react_2.waitFor)(function () {
418
+ expect(react_2.screen.getByText('Delete Date:')).toBeInTheDocument();
419
+ })];
420
+ case 5:
421
+ _a.sent();
422
+ return [4 /*yield*/, user.type(react_2.screen.getByRole('textbox'), dateString + 'A')];
423
+ case 6:
424
+ _a.sent();
425
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Delete Date:'))];
426
+ case 7:
427
+ _a.sent();
428
+ expect(defaultProps.onEdit).toHaveBeenCalledWith({
429
+ crosswalkId: '1kQ5cap2n',
430
+ attributeName: 'deleteDate',
431
+ value: newDeleteDate.toString()
432
+ });
433
+ return [2 /*return*/];
434
+ }
350
435
  });
351
- });
352
- it('should call props.onEdit when calling CrosswalkAttributes onDeleteAttribute prop', function () {
353
- var wrapper = setUp();
354
- wrapper.find(ArrowExpandButton_1.ArrowExpandButton).find('button').simulate('click');
355
- (0, test_utils_1.rerenderWrapper)(wrapper);
356
- var attributeName = 'deleteDate';
357
- wrapper.find(CrosswalkAttributes_1.CrosswalkAttributes).prop('onDeleteAttribute')(attributeName);
358
- expect(defaultProps.onEdit).toHaveBeenCalledWith({
359
- crosswalkId: '1kQ5cap2n',
360
- attributeName: attributeName
436
+ }); });
437
+ it('should call props.onEdit when calling CrosswalkAttributes onDeleteAttribute prop', function () { return __awaiter(void 0, void 0, void 0, function () {
438
+ var user;
439
+ return __generator(this, function (_a) {
440
+ switch (_a.label) {
441
+ case 0:
442
+ user = setUp(__assign(__assign({}, defaultProps), { crosswalk: __assign(__assign({}, crosswalk), { deleteDate: '2021-02-02' }) })).user;
443
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
444
+ case 1:
445
+ _a.sent();
446
+ return [4 /*yield*/, user.click((0, react_2.within)(react_2.screen.getByLabelText('Delete attribute')).getByRole('button'))];
447
+ case 2:
448
+ _a.sent();
449
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Yes'))];
450
+ case 3:
451
+ _a.sent();
452
+ expect(defaultProps.onEdit).toHaveBeenCalledWith({
453
+ crosswalkId: '1kQ5cap2n',
454
+ attributeName: 'deleteDate'
455
+ });
456
+ return [2 /*return*/];
457
+ }
361
458
  });
362
- });
459
+ }); });
363
460
  it('should scroll to row if focusable and current crosswalk is highlighted', function () {
364
- var wrapper = setUp(__assign(__assign({}, defaultProps), { focusable: true }));
365
- var node = wrapper.find('.root').getDOMNode();
461
+ var props = __assign(__assign({}, defaultProps), { focusable: true });
462
+ var _a = setUp(props), container = _a.container, rerender = _a.rerender;
463
+ var node = container.querySelector('body > div > div');
366
464
  node.scrollIntoView = jest.fn();
367
465
  expect(node.scrollIntoView).not.toHaveBeenCalled();
368
466
  useHighlightedCrosswalksMock.mockReturnValueOnce([
@@ -372,7 +470,7 @@ describe('CrosswalkRow tests', function () {
372
470
  value: 'some value'
373
471
  }
374
472
  ]);
375
- wrapper.setProps({ crosswalk: __assign({}, crosswalk) });
473
+ rerender(react_1.default.createElement(CrosswalkRow_1.CrosswalkRow, __assign({}, props, { crosswalk: __assign({}, crosswalk) })));
376
474
  expect(node.scrollIntoView).toHaveBeenCalled();
377
475
  });
378
476
  describe('dnd', function () {