@reltio/components 1.4.2026 → 1.4.2028
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.
- package/RCTree/styles.js +4 -1
- package/cjs/RCTree/styles.js +4 -1
- package/cjs/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.js +0 -1
- package/cjs/features/graph/SigmaGraphContainer/SigmaGraphContainer.test.js +5 -14
- package/cjs/features/graph/SigmaGraphResizer/SigmaGraphResizer.test.js +11 -9
- package/cjs/features/graph/ZoomSlider/ZoomSlider.js +2 -2
- package/cjs/features/graph/ZoomSlider/ZoomSlider.test.js +85 -37
- package/cjs/features/history/DateRangeSelector/DateRangeSelector.specs.js +188 -117
- package/cjs/features/history/HistoryFilterButton/HistoryFilterButton.js +1 -1
- package/cjs/features/history/HistoryGraph/components/HistoryCircle/HistoryCircle.specs.js +38 -41
- package/cjs/features/history/HistoryGraph/components/HistoryLink/HistoryLink.specs.js +17 -16
- package/cjs/features/history/HistoryHeader/HistoryHeader.spec.js +21 -31
- package/cjs/features/history/HistoryPanelEmptyState/HistoryPanelEmptyState.specs.js +4 -9
- package/cjs/features/history/HistoryRow/HistoryRow.js +1 -1
- package/cjs/features/history/HistoryRow/HistoryRow.specs.js +74 -34
- package/cjs/features/history/HistoryTree/HistoryTree.js +1 -1
- package/cjs/features/history/HistoryView/HistoryView.specs.js +77 -43
- package/cjs/features/workflow/AddWorkflowButton/AddWorkflowButton.spec.js +83 -34
- package/cjs/features/workflow/AttributesChanges/AttributesChanges.js +1 -1
- package/cjs/features/workflow/AttributesChanges/components/ChangeView/ChangeView.js +1 -1
- package/cjs/features/workflow/AttributesChanges/components/ShowMoreLink/ShowMoreLink.spec.js +81 -24
- package/cjs/features/workflow/DueDateField/DueDateField.spec.js +51 -102
- package/cjs/features/workflow/PrioritySelector/PrioritySelector.spec.js +62 -133
- package/cjs/features/workflow/WorkflowTaskCard/components/DataChangeRequestTaskCard/DataChangeRequestTaskCard.spec.js +438 -124
- package/cjs/features/workflow/hooks/useChangeRequest.specs.js +17 -27
- package/cjs/features/workflow/hooks/useWorkflowColor.specs.js +23 -47
- package/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.js +0 -1
- package/features/graph/SigmaGraphContainer/SigmaGraphContainer.test.js +5 -14
- package/features/graph/SigmaGraphResizer/SigmaGraphResizer.test.js +11 -9
- package/features/graph/ZoomSlider/ZoomSlider.js +2 -2
- package/features/graph/ZoomSlider/ZoomSlider.test.js +85 -37
- package/features/history/DateRangeSelector/DateRangeSelector.specs.js +188 -117
- package/features/history/HistoryFilterButton/HistoryFilterButton.js +1 -1
- package/features/history/HistoryGraph/components/HistoryCircle/HistoryCircle.specs.js +38 -41
- package/features/history/HistoryGraph/components/HistoryLink/HistoryLink.specs.js +17 -16
- package/features/history/HistoryHeader/HistoryHeader.spec.js +21 -31
- package/features/history/HistoryPanelEmptyState/HistoryPanelEmptyState.specs.js +4 -9
- package/features/history/HistoryRow/HistoryRow.js +1 -1
- package/features/history/HistoryRow/HistoryRow.specs.js +74 -34
- package/features/history/HistoryTree/HistoryTree.js +1 -1
- package/features/history/HistoryView/HistoryView.specs.js +77 -43
- package/features/workflow/AddWorkflowButton/AddWorkflowButton.spec.js +83 -34
- package/features/workflow/AttributesChanges/AttributesChanges.js +1 -1
- package/features/workflow/AttributesChanges/components/ChangeView/ChangeView.js +1 -1
- package/features/workflow/AttributesChanges/components/ShowMoreLink/ShowMoreLink.spec.js +81 -24
- package/features/workflow/DueDateField/DueDateField.spec.js +51 -102
- package/features/workflow/PrioritySelector/PrioritySelector.spec.js +62 -133
- package/features/workflow/WorkflowTaskCard/components/DataChangeRequestTaskCard/DataChangeRequestTaskCard.spec.js +439 -125
- package/features/workflow/hooks/useChangeRequest.specs.js +17 -24
- package/features/workflow/hooks/useWorkflowColor.specs.js +23 -44
- package/package.json +1 -1
- package/cjs/features/workflow/AttributesChanges/AttributesChanges.spec.d.ts +0 -1
- package/cjs/features/workflow/AttributesChanges/AttributesChanges.spec.js +0 -249
- package/cjs/features/workflow/AttributesChanges/components/ChangeView/ChangeView.spec.d.ts +0 -1
- package/cjs/features/workflow/AttributesChanges/components/ChangeView/ChangeView.spec.js +0 -44
- package/cjs/features/workflow/AttributesChanges/components/DCRChangesList/DCRChangesList.spec.d.ts +0 -1
- package/cjs/features/workflow/AttributesChanges/components/DCRChangesList/DCRChangesList.spec.js +0 -38
- package/cjs/features/workflow/AttributesChanges/components/DiffRenderer/DiffRenderer.spec.d.ts +0 -1
- package/cjs/features/workflow/AttributesChanges/components/DiffRenderer/DiffRenderer.spec.js +0 -218
- package/features/workflow/AttributesChanges/AttributesChanges.spec.d.ts +0 -1
- package/features/workflow/AttributesChanges/AttributesChanges.spec.js +0 -244
- package/features/workflow/AttributesChanges/components/ChangeView/ChangeView.spec.d.ts +0 -1
- package/features/workflow/AttributesChanges/components/ChangeView/ChangeView.spec.js +0 -39
- package/features/workflow/AttributesChanges/components/DCRChangesList/DCRChangesList.spec.d.ts +0 -1
- package/features/workflow/AttributesChanges/components/DCRChangesList/DCRChangesList.spec.js +0 -33
- package/features/workflow/AttributesChanges/components/DiffRenderer/DiffRenderer.spec.d.ts +0 -1
- package/features/workflow/AttributesChanges/components/DiffRenderer/DiffRenderer.spec.js +0 -213
|
@@ -10,18 +10,52 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
24
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
13
49
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
51
|
};
|
|
16
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
53
|
var react_1 = __importDefault(require("react"));
|
|
18
|
-
var
|
|
19
|
-
var
|
|
54
|
+
var react_2 = require("@testing-library/react");
|
|
55
|
+
var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
56
|
+
var LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
|
|
57
|
+
var AdapterMoment_1 = require("@mui/x-date-pickers/AdapterMoment");
|
|
20
58
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
21
|
-
var Typography_1 = __importDefault(require("@mui/material/Typography"));
|
|
22
|
-
var DateIntervalSelector_1 = require("../../../DateIntervalSelector");
|
|
23
|
-
var CustomDateRangeEditor_1 = require("../../../CustomDateRangeEditor");
|
|
24
|
-
var SimpleDropDownSelector_1 = require("../../../SimpleDropDownSelector");
|
|
25
59
|
var DateRangeSelector_1 = require("./DateRangeSelector");
|
|
26
60
|
describe('DateRangeSelector tests', function () {
|
|
27
61
|
var withinValue = {
|
|
@@ -30,136 +64,173 @@ describe('DateRangeSelector tests', function () {
|
|
|
30
64
|
};
|
|
31
65
|
var agoValue = {
|
|
32
66
|
type: mdm_sdk_1.DateRangeTypes.AGO,
|
|
33
|
-
period: [4, '
|
|
67
|
+
period: [4, 'months']
|
|
34
68
|
};
|
|
35
69
|
var betweenValue = {
|
|
36
70
|
type: mdm_sdk_1.DateRangeTypes.BETWEEN,
|
|
37
|
-
period: [new Date(
|
|
71
|
+
period: [new Date('01/01/2023'), new Date('01/01/2024')]
|
|
38
72
|
};
|
|
39
73
|
var defaultProps = {
|
|
40
74
|
onChange: jest.fn(),
|
|
41
|
-
className: 'someclass'
|
|
75
|
+
className: 'someclass',
|
|
76
|
+
value: withinValue
|
|
77
|
+
};
|
|
78
|
+
var setUp = function (props) {
|
|
79
|
+
if (props === void 0) { props = defaultProps; }
|
|
80
|
+
var user = user_event_1.default.setup();
|
|
81
|
+
var Providers = function (_a) {
|
|
82
|
+
var children = _a.children;
|
|
83
|
+
return react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterMoment_1.AdapterMoment }, children);
|
|
84
|
+
};
|
|
85
|
+
return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(DateRangeSelector_1.DateRangeSelector, __assign({}, props)), { wrapper: Providers })), { user: user });
|
|
42
86
|
};
|
|
43
|
-
var options = [
|
|
44
|
-
{ value: mdm_sdk_1.DateRangeTypes.WITHIN, label: 'Within the last' },
|
|
45
|
-
{ value: mdm_sdk_1.DateRangeTypes.AGO, label: 'More than' },
|
|
46
|
-
{ value: mdm_sdk_1.DateRangeTypes.BETWEEN, label: 'Date range' }
|
|
47
|
-
];
|
|
48
|
-
afterEach(function () {
|
|
49
|
-
jest.clearAllMocks();
|
|
50
|
-
});
|
|
51
87
|
it('should render correct default state if props.value type is DateRangeTypes.WITHIN', function () {
|
|
52
|
-
|
|
53
|
-
expect(
|
|
54
|
-
|
|
55
|
-
expect(
|
|
56
|
-
expect(
|
|
57
|
-
value: {
|
|
58
|
-
value: options[0].value,
|
|
59
|
-
label: options[0].label
|
|
60
|
-
},
|
|
61
|
-
options: options
|
|
62
|
-
});
|
|
63
|
-
expect(wrapper.find(DateIntervalSelector_1.DateIntervalSelector).prop('interval')).toEqual(withinValue.period);
|
|
64
|
-
expect(wrapper.find(CustomDateRangeEditor_1.CustomDateRangeEditor).length).toBe(0);
|
|
88
|
+
setUp();
|
|
89
|
+
expect(react_2.screen.getByText('Date')).toBeInTheDocument();
|
|
90
|
+
expect(react_2.screen.getByText('Within the last')).toBeInTheDocument();
|
|
91
|
+
expect(react_2.screen.getByText('Days')).toBeInTheDocument();
|
|
92
|
+
expect(react_2.screen.getByDisplayValue('5')).toBeInTheDocument();
|
|
65
93
|
});
|
|
66
94
|
it('should render correct default state if props.value type is DateRangeTypes.AGO', function () {
|
|
67
|
-
|
|
68
|
-
expect(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
expect(wrapper.find(DateIntervalSelector_1.DateIntervalSelector).prop('interval')).toEqual(agoValue.period);
|
|
73
|
-
expect(wrapper.find(CustomDateRangeEditor_1.CustomDateRangeEditor).length).toBe(0);
|
|
95
|
+
setUp(__assign(__assign({}, defaultProps), { value: agoValue }));
|
|
96
|
+
expect(react_2.screen.getByText('Date')).toBeInTheDocument();
|
|
97
|
+
expect(react_2.screen.getByText('More than')).toBeInTheDocument();
|
|
98
|
+
expect(react_2.screen.getByText('Months')).toBeInTheDocument();
|
|
99
|
+
expect(react_2.screen.getByDisplayValue('4')).toBeInTheDocument();
|
|
74
100
|
});
|
|
75
101
|
it('should render correct default state if props.value type is DateRangeTypes.BETWEEN', function () {
|
|
76
|
-
|
|
77
|
-
expect(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
});
|
|
81
|
-
expect(wrapper.find(CustomDateRangeEditor_1.CustomDateRangeEditor).prop('values')).toEqual(betweenValue.period);
|
|
82
|
-
expect(wrapper.find(DateIntervalSelector_1.DateIntervalSelector).length).toBe(0);
|
|
102
|
+
setUp(__assign(__assign({}, defaultProps), { value: betweenValue }));
|
|
103
|
+
expect(react_2.screen.getByText('Date')).toBeInTheDocument();
|
|
104
|
+
expect(react_2.screen.getByText('Date range')).toBeInTheDocument();
|
|
105
|
+
expect(react_2.screen.getByDisplayValue('01/01/2023 — 01/01/2024')).toBeInTheDocument();
|
|
83
106
|
});
|
|
84
107
|
it('should render proper default value if props.value is null', function () {
|
|
85
|
-
|
|
86
|
-
expect(
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
});
|
|
90
|
-
expect(wrapper.find(DateIntervalSelector_1.DateIntervalSelector).prop('interval')).toEqual([null, 'hours']);
|
|
91
|
-
expect(wrapper.find(CustomDateRangeEditor_1.CustomDateRangeEditor).length).toBe(0);
|
|
108
|
+
setUp(__assign(__assign({}, defaultProps), { value: null }));
|
|
109
|
+
expect(react_2.screen.getByText('Date')).toBeInTheDocument();
|
|
110
|
+
expect(react_2.screen.getByText('Within the last')).toBeInTheDocument();
|
|
111
|
+
expect(react_2.screen.getByText('Hours')).toBeInTheDocument();
|
|
92
112
|
});
|
|
93
|
-
it('should call props.onChange with proper parameters when type is changed to ago', function () {
|
|
94
|
-
var
|
|
95
|
-
(
|
|
96
|
-
|
|
113
|
+
it('should call props.onChange with proper parameters when type is changed to ago', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
114
|
+
var user, newValue;
|
|
115
|
+
return __generator(this, function (_a) {
|
|
116
|
+
switch (_a.label) {
|
|
117
|
+
case 0:
|
|
118
|
+
user = setUp().user;
|
|
119
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Within the last'))];
|
|
120
|
+
case 1:
|
|
121
|
+
_a.sent();
|
|
122
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('More than'))];
|
|
123
|
+
case 2:
|
|
124
|
+
_a.sent();
|
|
125
|
+
newValue = {
|
|
126
|
+
type: mdm_sdk_1.DateRangeTypes.AGO,
|
|
127
|
+
period: [5, 'days']
|
|
128
|
+
};
|
|
129
|
+
expect(defaultProps.onChange).toHaveBeenCalledWith(newValue);
|
|
130
|
+
return [2 /*return*/];
|
|
131
|
+
}
|
|
97
132
|
});
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
133
|
+
}); });
|
|
134
|
+
it('should call props.onChange with proper parameters when type is changed to within', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
135
|
+
var user, newValue;
|
|
136
|
+
return __generator(this, function (_a) {
|
|
137
|
+
switch (_a.label) {
|
|
138
|
+
case 0:
|
|
139
|
+
user = setUp(__assign(__assign({}, defaultProps), { value: betweenValue })).user;
|
|
140
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Date range'))];
|
|
141
|
+
case 1:
|
|
142
|
+
_a.sent();
|
|
143
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Within the last'))];
|
|
144
|
+
case 2:
|
|
145
|
+
_a.sent();
|
|
146
|
+
newValue = {
|
|
147
|
+
type: mdm_sdk_1.DateRangeTypes.WITHIN,
|
|
148
|
+
period: [null, 'hours']
|
|
149
|
+
};
|
|
150
|
+
expect(defaultProps.onChange).toHaveBeenCalledWith(newValue);
|
|
151
|
+
return [2 /*return*/];
|
|
152
|
+
}
|
|
109
153
|
});
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
154
|
+
}); });
|
|
155
|
+
it('should call props.onChange with proper parameters when type is changed to between', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
156
|
+
var user, newValue;
|
|
157
|
+
return __generator(this, function (_a) {
|
|
158
|
+
switch (_a.label) {
|
|
159
|
+
case 0:
|
|
160
|
+
user = setUp().user;
|
|
161
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Within the last'))];
|
|
162
|
+
case 1:
|
|
163
|
+
_a.sent();
|
|
164
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Date range'))];
|
|
165
|
+
case 2:
|
|
166
|
+
_a.sent();
|
|
167
|
+
newValue = {
|
|
168
|
+
type: mdm_sdk_1.DateRangeTypes.BETWEEN,
|
|
169
|
+
period: [null, null]
|
|
170
|
+
};
|
|
171
|
+
expect(defaultProps.onChange).toHaveBeenCalledWith(newValue);
|
|
172
|
+
return [2 /*return*/];
|
|
173
|
+
}
|
|
121
174
|
});
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
175
|
+
}); });
|
|
176
|
+
it('should call props.onChange when within period is changed', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
177
|
+
var user, newValue;
|
|
178
|
+
return __generator(this, function (_a) {
|
|
179
|
+
switch (_a.label) {
|
|
180
|
+
case 0:
|
|
181
|
+
user = setUp().user;
|
|
182
|
+
return [4 /*yield*/, user.type(react_2.screen.getByDisplayValue('5'), '1')];
|
|
183
|
+
case 1:
|
|
184
|
+
_a.sent();
|
|
185
|
+
newValue = {
|
|
186
|
+
type: mdm_sdk_1.DateRangeTypes.WITHIN,
|
|
187
|
+
period: [51, 'days']
|
|
188
|
+
};
|
|
189
|
+
expect(defaultProps.onChange).toHaveBeenCalledWith(newValue);
|
|
190
|
+
return [2 /*return*/];
|
|
191
|
+
}
|
|
133
192
|
});
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
193
|
+
}); });
|
|
194
|
+
it('should call props.onChange when ago period is changed', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
195
|
+
var user, newValue;
|
|
196
|
+
return __generator(this, function (_a) {
|
|
197
|
+
switch (_a.label) {
|
|
198
|
+
case 0:
|
|
199
|
+
user = setUp(__assign(__assign({}, defaultProps), { value: agoValue })).user;
|
|
200
|
+
return [4 /*yield*/, user.type(react_2.screen.getByDisplayValue('4'), '1')];
|
|
201
|
+
case 1:
|
|
202
|
+
_a.sent();
|
|
203
|
+
newValue = {
|
|
204
|
+
type: mdm_sdk_1.DateRangeTypes.AGO,
|
|
205
|
+
period: [41, 'months']
|
|
206
|
+
};
|
|
207
|
+
expect(defaultProps.onChange).toHaveBeenCalledWith(newValue);
|
|
208
|
+
return [2 /*return*/];
|
|
209
|
+
}
|
|
145
210
|
});
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
211
|
+
}); });
|
|
212
|
+
it('should call props.onChange when between period is changed', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
213
|
+
var user, newValue;
|
|
214
|
+
return __generator(this, function (_a) {
|
|
215
|
+
switch (_a.label) {
|
|
216
|
+
case 0:
|
|
217
|
+
user = setUp(__assign(__assign({}, defaultProps), { value: betweenValue })).user;
|
|
218
|
+
return [4 /*yield*/, user.click(react_2.screen.getByDisplayValue('01/01/2023 — 01/01/2024'))];
|
|
219
|
+
case 1:
|
|
220
|
+
_a.sent();
|
|
221
|
+
return [4 /*yield*/, user.type(react_2.screen.getByDisplayValue('01/01/2023'), '01/01/2022')];
|
|
222
|
+
case 2:
|
|
223
|
+
_a.sent();
|
|
224
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Update'))];
|
|
225
|
+
case 3:
|
|
226
|
+
_a.sent();
|
|
227
|
+
newValue = {
|
|
228
|
+
type: mdm_sdk_1.DateRangeTypes.BETWEEN,
|
|
229
|
+
period: [new Date('01/01/2022'), new Date('01/01/2024')]
|
|
230
|
+
};
|
|
231
|
+
expect(defaultProps.onChange).toHaveBeenCalledWith(newValue);
|
|
232
|
+
return [2 /*return*/];
|
|
233
|
+
}
|
|
157
234
|
});
|
|
158
|
-
|
|
159
|
-
var newValue = {
|
|
160
|
-
type: mdm_sdk_1.DateRangeTypes.BETWEEN,
|
|
161
|
-
period: [new Date(234), new Date(567)]
|
|
162
|
-
};
|
|
163
|
-
expect(defaultProps.onChange).toHaveBeenCalledWith(newValue);
|
|
164
|
-
});
|
|
235
|
+
}); });
|
|
165
236
|
});
|
|
@@ -92,7 +92,7 @@ var HistoryFilterButton = function (_a) {
|
|
|
92
92
|
setCurrentValue(__assign({}, constants_1.DEFAULT_HISTORY_FILTER));
|
|
93
93
|
}, []);
|
|
94
94
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
95
|
-
react_1.default.createElement(SmallIconButton_1.SmallIconButton, { ref: buttonRef, color: buttonColor, icon: FilterList_1.default, size: "L", onClick: togglePopup, className: className }),
|
|
95
|
+
react_1.default.createElement(SmallIconButton_1.SmallIconButton, { ref: buttonRef, color: buttonColor, icon: FilterList_1.default, size: "L", onClick: togglePopup, className: className, "data-reltio-id": "history-filter-button" }),
|
|
96
96
|
react_1.default.createElement(Popover_1.default, { classes: { paper: styles.popup }, open: isOpen, anchorEl: buttonRef.current, onClose: togglePopup, anchorOrigin: {
|
|
97
97
|
vertical: 'bottom',
|
|
98
98
|
horizontal: 'right'
|
|
@@ -15,11 +15,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
var react_1 = __importDefault(require("react"));
|
|
18
|
-
var
|
|
18
|
+
var react_2 = require("@testing-library/react");
|
|
19
19
|
var constants_1 = require("./constants");
|
|
20
20
|
var HistoryCircle_1 = require("./HistoryCircle");
|
|
21
21
|
describe('HistoryCircle tests', function () {
|
|
22
|
-
var
|
|
22
|
+
var defaultProps = {
|
|
23
23
|
x: 10,
|
|
24
24
|
y: 15,
|
|
25
25
|
color: '#FFFAAA',
|
|
@@ -28,56 +28,53 @@ describe('HistoryCircle tests', function () {
|
|
|
28
28
|
showCollapseIcon: false,
|
|
29
29
|
showLine: false
|
|
30
30
|
};
|
|
31
|
+
var setUp = function (props) {
|
|
32
|
+
if (props === void 0) { props = defaultProps; }
|
|
33
|
+
return (0, react_2.render)(react_1.default.createElement(HistoryCircle_1.HistoryCircle, __assign({}, props)));
|
|
34
|
+
};
|
|
31
35
|
it('should render correctly', function () {
|
|
32
|
-
var
|
|
33
|
-
expect(
|
|
34
|
-
expect(
|
|
35
|
-
expect(
|
|
36
|
-
var circle =
|
|
37
|
-
expect(circle
|
|
38
|
-
expect(circle.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
strokeDasharray: undefined,
|
|
44
|
-
strokeWidth: 2
|
|
45
|
-
});
|
|
36
|
+
var container = setUp().container;
|
|
37
|
+
expect(container.querySelectorAll('g')).toHaveLength(1);
|
|
38
|
+
expect(container.querySelector('#line')).not.toBeInTheDocument();
|
|
39
|
+
expect(container.querySelector('#icon')).not.toBeInTheDocument();
|
|
40
|
+
var circle = container.querySelector('circle');
|
|
41
|
+
expect(circle).toHaveAttribute('cx', "".concat(defaultProps.x));
|
|
42
|
+
expect(circle).toHaveAttribute('cy', "".concat(defaultProps.y));
|
|
43
|
+
expect(circle).toHaveAttribute('r', "".concat(constants_1.BUMP_RADIUS));
|
|
44
|
+
expect(circle).toHaveAttribute('fill', defaultProps.color);
|
|
45
|
+
expect(circle).toHaveAttribute('stroke-width', '2');
|
|
46
|
+
expect(circle).not.toHaveAttribute('stroke-dasharray');
|
|
46
47
|
});
|
|
47
48
|
it('should render line above circle if showLine === true', function () {
|
|
48
|
-
var
|
|
49
|
-
var line =
|
|
50
|
-
expect(line
|
|
51
|
-
expect(line.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
height: 2,
|
|
56
|
-
fill: props.color
|
|
57
|
-
});
|
|
49
|
+
var container = setUp(__assign(__assign({}, defaultProps), { showLine: true })).container;
|
|
50
|
+
var line = container.querySelector('#line');
|
|
51
|
+
expect(line).toHaveAttribute('x', "".concat(defaultProps.x - constants_1.BUMP_RADIUS - constants_1.LINE_MARGIN));
|
|
52
|
+
expect(line).toHaveAttribute('y', "".concat(defaultProps.y - constants_1.BUMP_RADIUS - constants_1.LINE_MARGIN));
|
|
53
|
+
expect(line).toHaveAttribute('width', "".concat(constants_1.BUMP_RADIUS * 2 + constants_1.LINE_MARGIN * 2));
|
|
54
|
+
expect(line).toHaveAttribute('height', '2');
|
|
55
|
+
expect(line).toHaveAttribute('fill', defaultProps.color);
|
|
58
56
|
});
|
|
59
57
|
it('should render dashed circle if isDashed === true', function () {
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
58
|
+
var container = setUp(__assign(__assign({}, defaultProps), { isDashed: true })).container;
|
|
59
|
+
var circle = container.querySelector('circle');
|
|
60
|
+
expect(circle).toHaveAttribute('fill', '#fff');
|
|
61
|
+
expect(circle).toHaveAttribute('stroke-dasharray', '1,1');
|
|
65
62
|
});
|
|
66
63
|
it('should render collapse icon if showCollapseIcon === true', function () {
|
|
67
|
-
var
|
|
68
|
-
var icon =
|
|
69
|
-
expect(icon
|
|
70
|
-
expect(icon.
|
|
64
|
+
var container = setUp(__assign(__assign({}, defaultProps), { showCollapseIcon: true })).container;
|
|
65
|
+
var icon = container.querySelector('#icon');
|
|
66
|
+
expect(icon).toBeInTheDocument();
|
|
67
|
+
expect(icon.querySelectorAll('rect')).toHaveLength(1);
|
|
71
68
|
});
|
|
72
69
|
it('should render expand icon if showCollapseIcon === true and isCollapsed === true', function () {
|
|
73
|
-
var
|
|
74
|
-
var icon =
|
|
75
|
-
expect(icon
|
|
76
|
-
expect(icon.
|
|
70
|
+
var container = setUp(__assign(__assign({}, defaultProps), { showCollapseIcon: true, isCollapsed: true })).container;
|
|
71
|
+
var icon = container.querySelector('#icon');
|
|
72
|
+
expect(icon).toBeInTheDocument();
|
|
73
|
+
expect(icon.querySelectorAll('rect')).toHaveLength(2);
|
|
77
74
|
});
|
|
78
75
|
it('should pass rest props to root element', function () {
|
|
79
76
|
var svgProps = { className: 'history-circle' };
|
|
80
|
-
|
|
81
|
-
expect(
|
|
77
|
+
setUp(__assign(__assign({}, defaultProps), svgProps));
|
|
78
|
+
expect(react_2.screen.getByTestId('history-circle')).toHaveAttribute('class', svgProps.className);
|
|
82
79
|
});
|
|
83
80
|
});
|
|
@@ -38,11 +38,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
var react_1 = __importDefault(require("react"));
|
|
41
|
-
var
|
|
41
|
+
var react_2 = require("@testing-library/react");
|
|
42
42
|
var helpers = __importStar(require("../../helpers"));
|
|
43
43
|
var HistoryLink_1 = require("./HistoryLink");
|
|
44
44
|
describe('HistoryLink tests', function () {
|
|
45
|
-
var
|
|
45
|
+
var defaultProps = {
|
|
46
46
|
x: 10,
|
|
47
47
|
y: 15,
|
|
48
48
|
toX: 20,
|
|
@@ -54,22 +54,23 @@ describe('HistoryLink tests', function () {
|
|
|
54
54
|
beforeAll(function () {
|
|
55
55
|
jest.clearAllMocks();
|
|
56
56
|
});
|
|
57
|
+
var setUp = function (props) {
|
|
58
|
+
if (props === void 0) { props = defaultProps; }
|
|
59
|
+
return (0, react_2.render)(react_1.default.createElement(HistoryLink_1.HistoryLink, __assign({}, props)));
|
|
60
|
+
};
|
|
57
61
|
it('should render correctly', function () {
|
|
58
|
-
var
|
|
59
|
-
expect(getHistoryLinkCurveSpy).toHaveBeenCalledWith(
|
|
60
|
-
|
|
61
|
-
expect(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
strokeDasharray: undefined
|
|
67
|
-
});
|
|
62
|
+
var container = setUp().container;
|
|
63
|
+
expect(getHistoryLinkCurveSpy).toHaveBeenCalledWith(defaultProps.x, defaultProps.y, defaultProps.toX, defaultProps.toY);
|
|
64
|
+
var path = container.querySelector('path');
|
|
65
|
+
expect(path).toHaveAttribute('d', getHistoryLinkCurveSpy.mock.results[0].value);
|
|
66
|
+
expect(path).toHaveAttribute('stroke', defaultProps.color);
|
|
67
|
+
expect(path).toHaveAttribute('fill', 'none');
|
|
68
|
+
expect(path).toHaveAttribute('stroke-width', '2');
|
|
69
|
+
expect(path).not.toHaveAttribute('stroke-dasharray');
|
|
68
70
|
});
|
|
69
71
|
it('should render dashed path if isDashed === true', function () {
|
|
70
|
-
var
|
|
71
|
-
expect(getHistoryLinkCurveSpy).toHaveBeenCalledWith(
|
|
72
|
-
expect(
|
|
73
|
-
expect(wrapper.find('path').prop('strokeDasharray')).toBe('3,3');
|
|
72
|
+
var container = setUp(__assign(__assign({}, defaultProps), { isDashed: true })).container;
|
|
73
|
+
expect(getHistoryLinkCurveSpy).toHaveBeenCalledWith(defaultProps.x, defaultProps.y, defaultProps.toX, defaultProps.toY);
|
|
74
|
+
expect(container.querySelector('path')).toHaveAttribute('stroke-dasharray', '3,3');
|
|
74
75
|
});
|
|
75
76
|
});
|
|
@@ -15,12 +15,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
var react_1 = __importDefault(require("react"));
|
|
18
|
-
var
|
|
18
|
+
var react_2 = require("@testing-library/react");
|
|
19
19
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
20
|
-
var Divider_1 = __importDefault(require("@mui/material/Divider"));
|
|
21
|
-
var Typography_1 = __importDefault(require("@mui/material/Typography"));
|
|
22
|
-
var HistoryFilterButton_1 = require("../HistoryFilterButton");
|
|
23
|
-
var HistoryMenuButton_1 = require("../HistoryMenuButton");
|
|
24
20
|
var types_1 = require("../types");
|
|
25
21
|
var HistoryHeader_1 = require("./HistoryHeader");
|
|
26
22
|
describe('HistoryHeader tests', function () {
|
|
@@ -33,7 +29,7 @@ describe('HistoryHeader tests', function () {
|
|
|
33
29
|
activities: [types_1.HistoryActivityType.UPDATE, types_1.HistoryActivityType.UNMERGE],
|
|
34
30
|
attributes: []
|
|
35
31
|
};
|
|
36
|
-
var
|
|
32
|
+
var defaultProps = {
|
|
37
33
|
filter: filter,
|
|
38
34
|
onApplyFilter: jest.fn(),
|
|
39
35
|
onClearFilter: jest.fn(),
|
|
@@ -41,38 +37,32 @@ describe('HistoryHeader tests', function () {
|
|
|
41
37
|
uri: 'configuration/entityTypes/HCA',
|
|
42
38
|
label: 'HCA',
|
|
43
39
|
attributes: []
|
|
44
|
-
}
|
|
40
|
+
},
|
|
41
|
+
total: 5
|
|
42
|
+
};
|
|
43
|
+
var setUp = function (props) {
|
|
44
|
+
if (props === void 0) { props = defaultProps; }
|
|
45
|
+
return (0, react_2.render)(react_1.default.createElement(HistoryHeader_1.HistoryHeader, __assign({}, props)));
|
|
45
46
|
};
|
|
46
47
|
it('should render correctly', function () {
|
|
47
|
-
|
|
48
|
-
expect(
|
|
49
|
-
expect(
|
|
50
|
-
expect(
|
|
51
|
-
expect(
|
|
52
|
-
expect(wrapper.find(HistoryFilterButton_1.HistoryFilterButton).props()).toMatchObject({
|
|
53
|
-
entityType: props.entityType,
|
|
54
|
-
filter: props.filter,
|
|
55
|
-
onApplyFilter: props.onApplyFilter
|
|
56
|
-
});
|
|
57
|
-
expect(wrapper.find(HistoryMenuButton_1.HistoryMenuButton)).toHaveLength(1);
|
|
48
|
+
setUp();
|
|
49
|
+
expect(react_2.screen.getByText('History')).toBeInTheDocument();
|
|
50
|
+
expect(react_2.screen.getByText('5 contributing profiles')).toBeInTheDocument();
|
|
51
|
+
expect(react_2.screen.getByTestId('drop-down-menu-button')).toBeInTheDocument();
|
|
52
|
+
expect(react_2.screen.getByTestId('history-filter-button')).toBeInTheDocument();
|
|
58
53
|
});
|
|
59
54
|
it('should render correctly for 0 profiles', function () {
|
|
60
|
-
|
|
61
|
-
expect(
|
|
55
|
+
setUp(__assign(__assign({}, defaultProps), { total: 0 }));
|
|
56
|
+
expect(react_2.screen.getByText('0 contributing profiles')).toBeInTheDocument();
|
|
62
57
|
});
|
|
63
58
|
it('should render empty state', function () {
|
|
64
|
-
|
|
65
|
-
expect(
|
|
66
|
-
expect(
|
|
67
|
-
expect(
|
|
68
|
-
expect(wrapper.find(HistoryMenuButton_1.HistoryMenuButton)).toHaveLength(1);
|
|
59
|
+
setUp(__assign(__assign({}, defaultProps), { total: undefined }));
|
|
60
|
+
expect(react_2.screen.queryByText(/^\d+\scontributing\sprofile(s)?$/)).not.toBeInTheDocument();
|
|
61
|
+
expect(react_2.screen.getByTestId('drop-down-menu-button')).toBeInTheDocument();
|
|
62
|
+
expect(react_2.screen.getByTestId('history-filter-button')).toBeInTheDocument();
|
|
69
63
|
});
|
|
70
64
|
it('should render correctly for 1 profile', function () {
|
|
71
|
-
|
|
72
|
-
expect(
|
|
73
|
-
});
|
|
74
|
-
it('should render correctly for undefined total', function () {
|
|
75
|
-
var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(HistoryHeader_1.HistoryHeader, __assign({}, props, { total: undefined })));
|
|
76
|
-
expect(wrapper.find('.count')).toHaveLength(0);
|
|
65
|
+
setUp(__assign(__assign({}, defaultProps), { total: 1 }));
|
|
66
|
+
expect(react_2.screen.getByText('1 contributing profile')).toBeInTheDocument();
|
|
77
67
|
});
|
|
78
68
|
});
|
|
@@ -4,17 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var react_1 = __importDefault(require("react"));
|
|
7
|
-
var
|
|
8
|
-
var SidePanelEmptyState_1 = require("../../../SidePanelEmptyState");
|
|
7
|
+
var react_2 = require("@testing-library/react");
|
|
9
8
|
var HistoryPanelEmptyState_1 = require("./HistoryPanelEmptyState");
|
|
10
9
|
describe('HistoryPanelEmptyState tests', function () {
|
|
11
10
|
it('should render correct default state', function () {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
expect(
|
|
15
|
-
expect(emptyState.props()).toMatchObject({
|
|
16
|
-
text: 'History in the making',
|
|
17
|
-
secondaryText: 'When you create an event or perform an activity, it will show up here.'
|
|
18
|
-
});
|
|
11
|
+
(0, react_2.render)(react_1.default.createElement(HistoryPanelEmptyState_1.HistoryPanelEmptyState, null));
|
|
12
|
+
expect(react_2.screen.getByText('History in the making')).toBeInTheDocument();
|
|
13
|
+
expect(react_2.screen.getByText('When you create an event or perform an activity, it will show up here.')).toBeInTheDocument();
|
|
19
14
|
});
|
|
20
15
|
});
|