@reltio/components 1.4.1905 → 1.4.1907
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/cjs/ActionsPanel/ActionsPanel.test.js +133 -49
- package/cjs/AttributeListItem/AttributeListItem.spec.js +147 -118
- package/cjs/AttributeSelector/AttributeSelector.specs.js +125 -193
- package/cjs/AttributesErrorsPanel/AttributesErrorsPanel.specs.js +128 -71
- package/cjs/AttributesErrorsPanel/components/Error/Error.specs.js +96 -90
- package/cjs/AttributesErrorsPanel/store.test-data.d.ts +22 -0
- package/cjs/AttributesErrorsPanel/store.test-data.js +29 -0
- package/cjs/AttributesFilterSelector/AttributesFilterSelector.test.js +127 -105
- package/cjs/AttributesFiltersButton/AttributesFiltersButton.test.js +218 -136
- package/cjs/AttributesValuesEditor/AttributesValuesEditor.test.js +92 -88
- package/cjs/AttributesView/AttributesView.test.js +67 -34
- package/cjs/AutoSizeList/AutoSizeList.test.js +81 -59
- package/cjs/{ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.js → AvatarWithFallback/AvatarWithFallback.test.js} +15 -31
- package/cjs/BarChart/BarChart.test.js +128 -65
- package/cjs/BasicAttributeSelector/BasicAttributeSelector.spec.js +27 -10
- package/cjs/BasicViewContent/BasicViewContent.test.js +7 -9
- package/cjs/BlobRenderer/BlobRenderer.test.js +28 -9
- package/cjs/BooleanRadioEditor/BooleanRadioEditor.test.js +89 -35
- package/cjs/BubbleChart/BubbleChart.test.js +111 -87
- package/cjs/CloudChart/CloudChart.test.js +95 -36
- package/cjs/CollaborationItem/CollaborationItem.test.js +67 -30
- package/cjs/CollaborationItem/components/Comment/Comment.test.js +221 -189
- package/cjs/CollaborationItem/components/CommentContent/CommentContent.test.js +46 -81
- package/cjs/CollaborationItem/components/RepliedComment/RepliedComment.test.js +194 -163
- package/cjs/CollaborationItem/components/SendMessageArea/SendMessageArea.test.js +307 -266
- package/cjs/CollapseButton/CollapseButton.test.js +74 -15
- package/cjs/CollapseRowButton/CollapseRowButton.test.js +82 -24
- package/cjs/ColorBar/ColorBar.test.js +13 -15
- package/cjs/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.spec.js +207 -129
- package/cjs/CommentsContainer/CommentsContainer.test.js +282 -211
- package/cjs/CommentsContainer/components/CollaborationPopup/CollaborationPopup.test.js +183 -122
- package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.test.js +42 -41
- package/cjs/ConfirmDeleteDialog/ConfirmDeleteDialog.test.js +77 -28
- package/cjs/ConfirmationDialog/ConfirmationDialog.test.js +85 -48
- package/cjs/ConnectionEditor/ConnectionEditor.test.js +299 -282
- package/cjs/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.d.ts +3 -1
- package/cjs/ReactSortableTree/ReactSortableTree.js +2 -7
- package/cjs/RelationTypeSelector/RelationTypeSelector.d.ts +3 -1
- package/cjs/types/index.d.ts +1 -1
- package/esm/ActionsPanel/ActionsPanel.test.js +133 -49
- package/esm/AttributeListItem/AttributeListItem.spec.js +149 -97
- package/esm/AttributeSelector/AttributeSelector.specs.js +125 -193
- package/esm/AttributesErrorsPanel/AttributesErrorsPanel.specs.js +128 -71
- package/esm/AttributesErrorsPanel/components/Error/Error.specs.js +98 -72
- package/esm/AttributesErrorsPanel/store.test-data.d.ts +22 -0
- package/esm/AttributesErrorsPanel/store.test-data.js +26 -0
- package/esm/AttributesFilterSelector/AttributesFilterSelector.test.js +129 -84
- package/esm/AttributesFiltersButton/AttributesFiltersButton.test.js +218 -136
- package/esm/AttributesValuesEditor/AttributesValuesEditor.test.js +94 -67
- package/esm/AttributesView/AttributesView.test.js +67 -34
- package/esm/AutoSizeList/AutoSizeList.test.js +81 -59
- package/esm/{ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.js → AvatarWithFallback/AvatarWithFallback.test.js} +16 -32
- package/esm/BarChart/BarChart.test.js +128 -65
- package/esm/BasicAttributeSelector/BasicAttributeSelector.spec.js +27 -10
- package/esm/BasicViewContent/BasicViewContent.test.js +7 -9
- package/esm/BlobRenderer/BlobRenderer.test.js +28 -9
- package/esm/BooleanRadioEditor/BooleanRadioEditor.test.js +89 -35
- package/esm/BubbleChart/BubbleChart.test.js +111 -87
- package/esm/CloudChart/CloudChart.test.js +95 -36
- package/esm/CollaborationItem/CollaborationItem.test.js +67 -30
- package/esm/CollaborationItem/components/Comment/Comment.test.js +221 -189
- package/esm/CollaborationItem/components/CommentContent/CommentContent.test.js +46 -58
- package/esm/CollaborationItem/components/RepliedComment/RepliedComment.test.js +194 -163
- package/esm/CollaborationItem/components/SendMessageArea/SendMessageArea.test.js +307 -266
- package/esm/CollapseButton/CollapseButton.test.js +74 -15
- package/esm/CollapseRowButton/CollapseRowButton.test.js +82 -24
- package/esm/ColorBar/ColorBar.test.js +13 -15
- package/esm/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.spec.js +207 -129
- package/esm/CommentsContainer/CommentsContainer.test.js +282 -211
- package/esm/CommentsContainer/components/CollaborationPopup/CollaborationPopup.test.js +182 -101
- package/esm/ConfigureColumnsPopup/ConfigureColumnsPopup.test.js +42 -41
- package/esm/ConfirmDeleteDialog/ConfirmDeleteDialog.test.js +77 -28
- package/esm/ConfirmationDialog/ConfirmationDialog.test.js +85 -48
- package/esm/ConnectionEditor/ConnectionEditor.test.js +300 -283
- package/esm/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.d.ts +3 -1
- package/esm/ReactSortableTree/ReactSortableTree.js +2 -7
- package/esm/RelationTypeSelector/RelationTypeSelector.d.ts +3 -1
- package/esm/types/index.d.ts +1 -1
- package/package.json +2 -2
- package/cjs/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.js +0 -100
- package/cjs/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.d.ts +0 -1
- package/cjs/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.js +0 -46
- package/cjs/AvatarWithFallback/AvatarWithFallback.specs.d.ts +0 -1
- package/cjs/AvatarWithFallback/AvatarWithFallback.specs.js +0 -27
- package/cjs/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.d.ts +0 -1
- package/cjs/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.js +0 -27
- package/cjs/CollaborationItem/components/Avatar/Avatar.test.d.ts +0 -1
- package/cjs/CollaborationItem/components/Avatar/Avatar.test.js +0 -15
- package/cjs/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.d.ts +0 -1
- package/cjs/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.js +0 -80
- package/esm/ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.d.ts +0 -1
- package/esm/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.d.ts +0 -1
- package/esm/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.js +0 -95
- package/esm/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.d.ts +0 -1
- package/esm/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.js +0 -41
- package/esm/AvatarWithFallback/AvatarWithFallback.specs.d.ts +0 -1
- package/esm/AvatarWithFallback/AvatarWithFallback.specs.js +0 -22
- package/esm/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.d.ts +0 -1
- package/esm/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.js +0 -22
- package/esm/CollaborationItem/components/Avatar/Avatar.test.d.ts +0 -1
- package/esm/CollaborationItem/components/Avatar/Avatar.test.js +0 -10
- package/esm/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.d.ts +0 -1
- package/esm/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.js +0 -55
- /package/cjs/{ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.d.ts → AvatarWithFallback/AvatarWithFallback.test.d.ts} +0 -0
- /package/{cjs/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.d.ts → esm/AvatarWithFallback/AvatarWithFallback.test.d.ts} +0 -0
|
@@ -10,101 +10,66 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
15
|
};
|
|
39
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
var react_1 =
|
|
41
|
-
var enzyme_1 = require("enzyme");
|
|
42
|
-
var Link_1 = __importDefault(require("@mui/material/Link"));
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
43
18
|
var CommentContent_1 = require("./CommentContent");
|
|
44
|
-
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
];
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
19
|
+
var UsersContext_1 = require("../../../contexts/UsersContext");
|
|
20
|
+
var react_2 = require("@testing-library/react");
|
|
21
|
+
describe('CommentContent test', function () {
|
|
22
|
+
var createProps = function (text, namedUsers) {
|
|
23
|
+
if (namedUsers === void 0) { namedUsers = []; }
|
|
24
|
+
return {
|
|
25
|
+
comment: {
|
|
26
|
+
content: text,
|
|
27
|
+
namedUsers: namedUsers
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
var allUsers = [
|
|
32
|
+
{ username: 'vyacheslav.kovyazin', email: 'vyacheslav.kovyazin@reltio.com' },
|
|
33
|
+
{ username: 'user', email: 'user@reltio.com' }
|
|
34
|
+
];
|
|
35
|
+
var setUp = function (props, usersContext) {
|
|
36
|
+
if (usersContext === void 0) { usersContext = allUsers; }
|
|
37
|
+
var Providers = function (_a) {
|
|
38
|
+
var children = _a.children;
|
|
39
|
+
return (react_1.default.createElement(UsersContext_1.UsersContext.Provider, { value: usersContext }, children));
|
|
40
|
+
};
|
|
41
|
+
return (0, react_2.render)(react_1.default.createElement(CommentContent_1.CommentContent, __assign({}, props)), { wrapper: Providers });
|
|
56
42
|
};
|
|
57
|
-
};
|
|
58
|
-
var setUp = function (props) { return (0, enzyme_1.shallow)(react_1.default.createElement(CommentContent_1.CommentContent, __assign({}, props))); };
|
|
59
|
-
var mockUsersContext = function (users) {
|
|
60
|
-
if (users === void 0) { users = allUsers; }
|
|
61
|
-
return jest.spyOn(react, 'useContext').mockImplementation(function () { return users; });
|
|
62
|
-
};
|
|
63
|
-
describe('CommentContent tests', function () {
|
|
64
|
-
afterEach(function () {
|
|
65
|
-
jest.resetAllMocks();
|
|
66
|
-
});
|
|
67
43
|
it('should render comment without mentions correctly', function () {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
expect(component.find('.root').text()).toBe('Hello world!!!');
|
|
44
|
+
setUp(createProps('Hello world!!!'));
|
|
45
|
+
expect(react_2.screen.queryByText('Hello world!!!')).toBeInTheDocument();
|
|
71
46
|
});
|
|
72
47
|
it('should render comment with one mention correctly', function () {
|
|
73
|
-
|
|
74
|
-
var
|
|
75
|
-
|
|
76
|
-
expect(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
48
|
+
setUp(createProps('Hello +vyacheslav.kovyazin', ['vyacheslav.kovyazin']));
|
|
49
|
+
var link = react_2.screen.getByRole('link');
|
|
50
|
+
var textBlock = react_2.screen.getByText('Hello');
|
|
51
|
+
expect(link).toHaveAttribute('href', 'mailto:vyacheslav.kovyazin@reltio.com');
|
|
52
|
+
expect(link).toHaveTextContent('+vyacheslav.kovyazin');
|
|
53
|
+
expect(textBlock.childNodes[1]).toBe(link);
|
|
54
|
+
expect(textBlock.textContent).toBe('Hello +vyacheslav.kovyazin');
|
|
80
55
|
});
|
|
81
56
|
it('should render comment with one mention in the beginning correctly', function () {
|
|
82
|
-
|
|
83
|
-
var
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
.matchesElement(react_1.default.createElement(Link_1.default, { href: "mailto:vyacheslav.kovyazin@reltio.com", underline: "hover" }, "+vyacheslav.kovyazin"))).toBe(true);
|
|
88
|
-
expect(component.find('.root').childAt(1).text()).toBe(' Hello');
|
|
57
|
+
setUp(createProps('+vyacheslav.kovyazin Hello', ['vyacheslav.kovyazin']));
|
|
58
|
+
var link = react_2.screen.getByRole('link');
|
|
59
|
+
var textBlock = react_2.screen.getByText('Hello');
|
|
60
|
+
expect(textBlock.childNodes[0]).toBe(link);
|
|
61
|
+
expect(textBlock.textContent).toBe('+vyacheslav.kovyazin Hello');
|
|
89
62
|
});
|
|
90
63
|
it('should render comment with two mentions correctly', function () {
|
|
91
|
-
|
|
92
|
-
var
|
|
93
|
-
|
|
94
|
-
expect(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
.matchesElement(react_1.default.createElement(Link_1.default, { href: "mailto:vyacheslav.kovyazin@reltio.com", underline: "hover" }, "+vyacheslav.kovyazin"))).toBe(true);
|
|
98
|
-
expect(component.find('.root').childAt(2).text()).toBe(' and ');
|
|
99
|
-
expect(component
|
|
100
|
-
.find('.root')
|
|
101
|
-
.childAt(3)
|
|
102
|
-
.matchesElement(react_1.default.createElement(Link_1.default, { href: "mailto:user@reltio.com", underline: "hover" }, "+user"))).toBe(true);
|
|
103
|
-
expect(component.find('.root').childAt(4).text()).toBe('!!!');
|
|
64
|
+
var container = setUp(createProps('Hello +vyacheslav.kovyazin and +user!!!', ['vyacheslav.kovyazin', 'user'])).container;
|
|
65
|
+
var links = react_2.screen.getAllByRole('link');
|
|
66
|
+
var textBlock = container.querySelector('.root');
|
|
67
|
+
expect(textBlock.childNodes[1]).toBe(links[0]);
|
|
68
|
+
expect(textBlock.childNodes[3]).toBe(links[1]);
|
|
69
|
+
expect(textBlock.textContent).toBe('Hello +vyacheslav.kovyazin and +user!!!');
|
|
104
70
|
});
|
|
105
71
|
it('should render comment correctly if users is empty array', function () {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
expect(component.find('.root').text()).toBe('Hello +vyacheslav.kovyazin');
|
|
72
|
+
var container = setUp(createProps('Hello +vyacheslav.kovyazin', ['vyacheslav.kovyazin']), []).container;
|
|
73
|
+
expect(container.querySelector('.root').textContent).toBe('Hello +vyacheslav.kovyazin');
|
|
109
74
|
});
|
|
110
75
|
});
|
|
@@ -10,207 +10,238 @@ 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;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "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 enzyme_1 = require("enzyme");
|
|
19
54
|
var react_2 = require("@testing-library/react");
|
|
20
|
-
var test_utils_1 = require("react-dom/test-utils");
|
|
21
55
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
22
56
|
var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
|
|
23
57
|
var CollaborationContext_1 = require("../../../contexts/CollaborationContext");
|
|
24
|
-
var DropDownMenuButton_1 = require("../../../DropDownMenuButton");
|
|
25
58
|
var helpers_1 = require("../../helpers");
|
|
26
|
-
var Avatar_1 = require("../Avatar");
|
|
27
|
-
var SendMessageArea_1 = require("../SendMessageArea");
|
|
28
|
-
var CommentContent_1 = require("../CommentContent");
|
|
29
59
|
var RepliedComment_1 = require("./RepliedComment");
|
|
30
|
-
var
|
|
31
|
-
var defaultComment = {
|
|
32
|
-
createdBy: 'vyacheslav.kovyazin',
|
|
33
|
-
createdTime: TIME,
|
|
34
|
-
status: 'open',
|
|
35
|
-
objectId: 'entities/13JKIKAz/attributes/Name/2mlWuqDq5',
|
|
36
|
-
objectType: mdm_sdk_1.CollaborationObjectTypes.ENTITY_ATTRIBUTE,
|
|
37
|
-
content: 'comment',
|
|
38
|
-
relatedObjectUris: ['entities/13JKIKAz'],
|
|
39
|
-
commentId: 'commentId',
|
|
40
|
-
namedUsers: [],
|
|
41
|
-
replies: [],
|
|
42
|
-
modifiedTime: 0,
|
|
43
|
-
deleted: false,
|
|
44
|
-
visibility: '',
|
|
45
|
-
selfLink: '',
|
|
46
|
-
permanentLink: ''
|
|
47
|
-
};
|
|
48
|
-
var defaultReply = {
|
|
49
|
-
action: 'none',
|
|
50
|
-
content: 'Some message',
|
|
51
|
-
createdTime: TIME,
|
|
52
|
-
createdBy: 'vyacheslav.kovyazin',
|
|
53
|
-
namedUsers: [],
|
|
54
|
-
replyId: 'replyId'
|
|
55
|
-
};
|
|
56
|
-
var defaultProps = {
|
|
57
|
-
reply: defaultReply,
|
|
58
|
-
uri: 'entities/13JKIKAz/attributes/Name/2mlWuqDq5',
|
|
59
|
-
comment: defaultComment
|
|
60
|
-
};
|
|
61
|
-
var commentsMap = {
|
|
62
|
-
uri1: [
|
|
63
|
-
{
|
|
64
|
-
commentId: defaultComment.commentId,
|
|
65
|
-
status: 'open',
|
|
66
|
-
replies: 0
|
|
67
|
-
}
|
|
68
|
-
]
|
|
69
|
-
};
|
|
70
|
-
var defaultCollaborationContextValue = {
|
|
71
|
-
commentsMap: commentsMap,
|
|
72
|
-
currentComment: defaultComment,
|
|
73
|
-
createComment: function () { return Promise.resolve(); },
|
|
74
|
-
editComment: function () { return Promise.resolve(); },
|
|
75
|
-
editReply: function () { return Promise.resolve(); },
|
|
76
|
-
deleteComment: jest.fn(),
|
|
77
|
-
deleteReply: jest.fn(),
|
|
78
|
-
createReply: function () { return Promise.resolve(); },
|
|
79
|
-
reOpenThread: jest.fn(),
|
|
80
|
-
resolveThread: jest.fn(),
|
|
81
|
-
getComment: jest.fn(),
|
|
82
|
-
clearCurrentComment: jest.fn(),
|
|
83
|
-
sending: false,
|
|
84
|
-
loading: false,
|
|
85
|
-
pageToken: '',
|
|
86
|
-
getComments: function () { return Promise.resolve(); },
|
|
87
|
-
comments: [],
|
|
88
|
-
getCommentsCount: function () { return Promise.resolve(); },
|
|
89
|
-
getCommentState: function () { return ({}); },
|
|
90
|
-
updateCommentState: jest.fn(),
|
|
91
|
-
clearCommentState: function () { }
|
|
92
|
-
};
|
|
93
|
-
var mdmValues = {
|
|
94
|
-
user: {
|
|
95
|
-
username: 'vyacheslav.kovyazin'
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
var setUp = function (_a) {
|
|
99
|
-
var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? defaultProps : _c, _d = _b.collaborationContextValue, collaborationContextValue = _d === void 0 ? defaultCollaborationContextValue : _d;
|
|
100
|
-
return (0, enzyme_1.mount)(react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues },
|
|
101
|
-
react_1.default.createElement(CollaborationContext_1.CollaborationContext.Provider, { value: collaborationContextValue },
|
|
102
|
-
react_1.default.createElement(RepliedComment_1.RepliedComment, __assign({}, props)))));
|
|
103
|
-
};
|
|
60
|
+
var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
104
61
|
describe('RepliedComment tests', function () {
|
|
62
|
+
var TIME = 1620280049022;
|
|
63
|
+
var defaultComment = {
|
|
64
|
+
createdBy: 'vyacheslav.kovyazin',
|
|
65
|
+
createdTime: TIME,
|
|
66
|
+
status: 'open',
|
|
67
|
+
objectId: 'entities/13JKIKAz/attributes/Name/2mlWuqDq5',
|
|
68
|
+
objectType: mdm_sdk_1.CollaborationObjectTypes.ENTITY_ATTRIBUTE,
|
|
69
|
+
content: 'comment',
|
|
70
|
+
relatedObjectUris: ['entities/13JKIKAz'],
|
|
71
|
+
commentId: 'commentId',
|
|
72
|
+
namedUsers: [],
|
|
73
|
+
replies: [],
|
|
74
|
+
modifiedTime: 0,
|
|
75
|
+
deleted: false,
|
|
76
|
+
visibility: '',
|
|
77
|
+
selfLink: '',
|
|
78
|
+
permanentLink: ''
|
|
79
|
+
};
|
|
80
|
+
var defaultReply = {
|
|
81
|
+
action: 'none',
|
|
82
|
+
content: 'Some message',
|
|
83
|
+
createdTime: TIME,
|
|
84
|
+
createdBy: 'vyacheslav.kovyazin',
|
|
85
|
+
namedUsers: [],
|
|
86
|
+
replyId: 'replyId'
|
|
87
|
+
};
|
|
88
|
+
var defaultProps = {
|
|
89
|
+
reply: defaultReply,
|
|
90
|
+
uri: 'entities/13JKIKAz/attributes/Name/2mlWuqDq5',
|
|
91
|
+
comment: defaultComment
|
|
92
|
+
};
|
|
93
|
+
var commentsMap = {
|
|
94
|
+
uri1: [
|
|
95
|
+
{
|
|
96
|
+
commentId: defaultComment.commentId,
|
|
97
|
+
status: 'open',
|
|
98
|
+
replies: 0
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
};
|
|
102
|
+
var defaultCollaborationContextValue = {
|
|
103
|
+
commentsMap: commentsMap,
|
|
104
|
+
currentComment: defaultComment,
|
|
105
|
+
createComment: function () { return Promise.resolve(); },
|
|
106
|
+
editComment: function () { return Promise.resolve(); },
|
|
107
|
+
editReply: function () { return Promise.resolve(); },
|
|
108
|
+
deleteComment: jest.fn(),
|
|
109
|
+
deleteReply: jest.fn(),
|
|
110
|
+
createReply: function () { return Promise.resolve(); },
|
|
111
|
+
reOpenThread: jest.fn(),
|
|
112
|
+
resolveThread: jest.fn(),
|
|
113
|
+
getComment: jest.fn(),
|
|
114
|
+
clearCurrentComment: jest.fn(),
|
|
115
|
+
sending: false,
|
|
116
|
+
loading: false,
|
|
117
|
+
pageToken: '',
|
|
118
|
+
getComments: function () { return Promise.resolve(); },
|
|
119
|
+
comments: [],
|
|
120
|
+
getCommentsCount: function () { return Promise.resolve(); },
|
|
121
|
+
getCommentState: function () { return ({}); },
|
|
122
|
+
updateCommentState: jest.fn(),
|
|
123
|
+
clearCommentState: function () { }
|
|
124
|
+
};
|
|
125
|
+
var mdmValues = {
|
|
126
|
+
user: {
|
|
127
|
+
username: 'vyacheslav.kovyazin'
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
var setUp = function (_a) {
|
|
131
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? defaultProps : _c, _d = _b.collaborationContextValue, collaborationContextValue = _d === void 0 ? defaultCollaborationContextValue : _d;
|
|
132
|
+
var Providers = function (_a) {
|
|
133
|
+
var children = _a.children;
|
|
134
|
+
return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues },
|
|
135
|
+
react_1.default.createElement(CollaborationContext_1.CollaborationContext.Provider, { value: collaborationContextValue }, children)));
|
|
136
|
+
};
|
|
137
|
+
var user = user_event_1.default.setup();
|
|
138
|
+
return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(RepliedComment_1.RepliedComment, __assign({}, props)), { wrapper: Providers }));
|
|
139
|
+
};
|
|
105
140
|
it('should render avatar correctly', function () {
|
|
106
|
-
|
|
107
|
-
expect(
|
|
108
|
-
expect(component.find(Avatar_1.Avatar).prop('children')).toBe('vyacheslav.kovyazin');
|
|
141
|
+
setUp();
|
|
142
|
+
expect(react_2.screen.queryByText('VK')).toBeInTheDocument();
|
|
109
143
|
});
|
|
110
144
|
it('should render username correctly', function () {
|
|
111
|
-
|
|
112
|
-
expect(
|
|
113
|
-
expect(component.find('.username').at(0).text()).toBe('vyacheslav.kovyazin');
|
|
145
|
+
setUp();
|
|
146
|
+
expect(react_2.screen.queryByText('vyacheslav.kovyazin')).toBeInTheDocument();
|
|
114
147
|
});
|
|
115
148
|
it('should render correctly if action is "none"', function () {
|
|
116
|
-
|
|
117
|
-
expect(
|
|
118
|
-
expect(component.find('.message').length).toBeTruthy();
|
|
119
|
-
expect(component.find('.message').at(0).props()).toMatchObject({
|
|
120
|
-
comment: {
|
|
121
|
-
content: 'Some message',
|
|
122
|
-
namedUsers: []
|
|
123
|
-
}
|
|
124
|
-
});
|
|
149
|
+
setUp();
|
|
150
|
+
expect(react_2.screen.queryByText('Some message')).toBeInTheDocument();
|
|
125
151
|
});
|
|
126
152
|
it('should render correctly if action is "resolve"', function () {
|
|
127
153
|
var props = __assign(__assign({}, defaultProps), { reply: __assign(__assign({}, defaultReply), { action: 'resolve' }) });
|
|
128
|
-
|
|
129
|
-
expect(
|
|
130
|
-
expect(
|
|
131
|
-
expect(component.find('.message')).toHaveLength(0);
|
|
154
|
+
setUp({ props: props });
|
|
155
|
+
expect(react_2.screen.queryByText('Marked as resolved')).toBeInTheDocument();
|
|
156
|
+
expect(react_2.screen.queryByText('Some message')).not.toBeInTheDocument();
|
|
132
157
|
});
|
|
133
158
|
it('should render correctly if action is "reopen"', function () {
|
|
134
159
|
var props = __assign(__assign({}, defaultProps), { reply: __assign(__assign({}, defaultReply), { action: 'reopen' }) });
|
|
135
|
-
|
|
136
|
-
expect(
|
|
137
|
-
expect(
|
|
138
|
-
expect(component.find('.message').at(0).props()).toMatchObject({
|
|
139
|
-
comment: {
|
|
140
|
-
content: 'Some message',
|
|
141
|
-
namedUsers: []
|
|
142
|
-
}
|
|
143
|
-
});
|
|
160
|
+
setUp({ props: props });
|
|
161
|
+
expect(react_2.screen.queryByText('Re-opened')).toBeInTheDocument();
|
|
162
|
+
expect(react_2.screen.queryByText('Some message')).toBeInTheDocument();
|
|
144
163
|
});
|
|
145
164
|
it('should render time correctly', function () {
|
|
146
|
-
|
|
147
|
-
expect(
|
|
148
|
-
expect(component.find('.createdAt').at(0).text()).toBe((0, helpers_1.formatDate)(TIME));
|
|
165
|
+
setUp();
|
|
166
|
+
expect(react_2.screen.queryByText((0, helpers_1.formatDate)(TIME))).toBeInTheDocument();
|
|
149
167
|
});
|
|
150
|
-
it('should call updateCommentState with right params when onCancel called', function () {
|
|
151
|
-
var updateCommentState
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
var component = setUp({ collaborationContextValue: collaborationContextValue });
|
|
168
|
-
var menuItems = component.find(DropDownMenuButton_1.DropDownMenuButton).prop('menuItems');
|
|
169
|
-
var EditButton = menuItems.find(function (_a) {
|
|
170
|
-
var text = _a.text;
|
|
171
|
-
return text === 'Edit';
|
|
172
|
-
});
|
|
173
|
-
(0, test_utils_1.act)(function () {
|
|
174
|
-
EditButton === null || EditButton === void 0 ? void 0 : EditButton.onClick();
|
|
168
|
+
it('should call updateCommentState with right params when onCancel called', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
169
|
+
var updateCommentState, getCommentState, collaborationContextValue, user;
|
|
170
|
+
return __generator(this, function (_a) {
|
|
171
|
+
switch (_a.label) {
|
|
172
|
+
case 0:
|
|
173
|
+
updateCommentState = defaultCollaborationContextValue.updateCommentState;
|
|
174
|
+
getCommentState = function () { return ({ isEditing: true }); };
|
|
175
|
+
collaborationContextValue = __assign(__assign({}, defaultCollaborationContextValue), { getCommentState: getCommentState });
|
|
176
|
+
user = setUp({ collaborationContextValue: collaborationContextValue }).user;
|
|
177
|
+
return [4 /*yield*/, user.click(react_2.screen.getByRole('button', { name: 'Cancel' }))];
|
|
178
|
+
case 1:
|
|
179
|
+
_a.sent();
|
|
180
|
+
expect(updateCommentState).toHaveBeenCalledWith(defaultProps.uri, 'comment/commentId/reply/replyId', {
|
|
181
|
+
isEditing: false
|
|
182
|
+
});
|
|
183
|
+
return [2 /*return*/];
|
|
184
|
+
}
|
|
175
185
|
});
|
|
176
|
-
|
|
177
|
-
|
|
186
|
+
}); });
|
|
187
|
+
it('should call updateCommentState with right params when updateIsEditingComment called', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
188
|
+
var updateCommentState, getCommentState, collaborationContextValue, user;
|
|
189
|
+
return __generator(this, function (_a) {
|
|
190
|
+
switch (_a.label) {
|
|
191
|
+
case 0:
|
|
192
|
+
updateCommentState = defaultCollaborationContextValue.updateCommentState;
|
|
193
|
+
getCommentState = function () { return ({ isEditing: false }); };
|
|
194
|
+
collaborationContextValue = __assign(__assign({}, defaultCollaborationContextValue), { getCommentState: getCommentState });
|
|
195
|
+
user = setUp({ collaborationContextValue: collaborationContextValue }).user;
|
|
196
|
+
return [4 /*yield*/, user.click(react_2.screen.getByRole('button', { name: 'Open menu' }))];
|
|
197
|
+
case 1:
|
|
198
|
+
_a.sent();
|
|
199
|
+
return [4 /*yield*/, user.click(react_2.screen.getByRole('menuitem', { name: 'Edit' }))];
|
|
200
|
+
case 2:
|
|
201
|
+
_a.sent();
|
|
202
|
+
expect(updateCommentState).toHaveBeenCalledWith(defaultProps.uri, 'comment/commentId/reply/replyId', {
|
|
203
|
+
isEditing: true
|
|
204
|
+
});
|
|
205
|
+
return [2 /*return*/];
|
|
206
|
+
}
|
|
178
207
|
});
|
|
179
|
-
});
|
|
208
|
+
}); });
|
|
180
209
|
it('should render sendMessageArea instead of reply if isEditing equals true', function () {
|
|
181
210
|
var getCommentState = function () { return ({ isEditing: true }); };
|
|
182
211
|
var collaborationContextValue = __assign(__assign({}, defaultCollaborationContextValue), { getCommentState: getCommentState });
|
|
183
|
-
|
|
184
|
-
expect(
|
|
185
|
-
|
|
186
|
-
expect(sendMessageArea).toHaveLength(1);
|
|
187
|
-
var inputRef = sendMessageArea.prop('inputRef');
|
|
188
|
-
expect(inputRef.current.value).toEqual('Some message');
|
|
212
|
+
setUp({ collaborationContextValue: collaborationContextValue });
|
|
213
|
+
expect(react_2.screen.queryByText('comment')).not.toBeInTheDocument();
|
|
214
|
+
expect(react_2.screen.getByRole('textbox')).toHaveValue('Some message');
|
|
189
215
|
});
|
|
190
|
-
it('should call deleteReply after delete btn clicking', function () {
|
|
191
|
-
var deleteReply
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
216
|
+
it('should call deleteReply after delete btn clicking', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
217
|
+
var deleteReply, user;
|
|
218
|
+
return __generator(this, function (_a) {
|
|
219
|
+
switch (_a.label) {
|
|
220
|
+
case 0:
|
|
221
|
+
deleteReply = defaultCollaborationContextValue.deleteReply;
|
|
222
|
+
user = setUp().user;
|
|
223
|
+
return [4 /*yield*/, user.click(react_2.screen.getByRole('button', { name: 'Open menu' }))];
|
|
224
|
+
case 1:
|
|
225
|
+
_a.sent();
|
|
226
|
+
return [4 /*yield*/, user.click(react_2.screen.getByRole('menuitem', { name: 'Delete' }))];
|
|
227
|
+
case 2:
|
|
228
|
+
_a.sent();
|
|
229
|
+
expect(deleteReply).toHaveBeenCalledWith({
|
|
230
|
+
uri: 'entities/13JKIKAz/attributes/Name/2mlWuqDq5',
|
|
231
|
+
commentId: 'commentId',
|
|
232
|
+
reply: defaultReply
|
|
233
|
+
});
|
|
234
|
+
return [2 /*return*/];
|
|
235
|
+
}
|
|
204
236
|
});
|
|
205
|
-
});
|
|
237
|
+
}); });
|
|
206
238
|
it('should not render DropDownMenuButton if comment is resolved', function () {
|
|
207
239
|
var props = {
|
|
208
240
|
reply: defaultReply,
|
|
209
241
|
uri: 'entities/13JKIKAz/attributes/Name/2mlWuqDq5',
|
|
210
242
|
comment: __assign(__assign({}, defaultComment), { status: 'resolved' })
|
|
211
243
|
};
|
|
212
|
-
(
|
|
213
|
-
|
|
214
|
-
expect(react_2.screen.queryByTitle('Open menu')).not.toBeInTheDocument();
|
|
244
|
+
setUp({ props: props });
|
|
245
|
+
expect(react_2.screen.queryByRole('button', { name: 'Open menu' })).not.toBeInTheDocument();
|
|
215
246
|
});
|
|
216
247
|
});
|