@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.
Files changed (105) hide show
  1. package/cjs/ActionsPanel/ActionsPanel.test.js +133 -49
  2. package/cjs/AttributeListItem/AttributeListItem.spec.js +147 -118
  3. package/cjs/AttributeSelector/AttributeSelector.specs.js +125 -193
  4. package/cjs/AttributesErrorsPanel/AttributesErrorsPanel.specs.js +128 -71
  5. package/cjs/AttributesErrorsPanel/components/Error/Error.specs.js +96 -90
  6. package/cjs/AttributesErrorsPanel/store.test-data.d.ts +22 -0
  7. package/cjs/AttributesErrorsPanel/store.test-data.js +29 -0
  8. package/cjs/AttributesFilterSelector/AttributesFilterSelector.test.js +127 -105
  9. package/cjs/AttributesFiltersButton/AttributesFiltersButton.test.js +218 -136
  10. package/cjs/AttributesValuesEditor/AttributesValuesEditor.test.js +92 -88
  11. package/cjs/AttributesView/AttributesView.test.js +67 -34
  12. package/cjs/AutoSizeList/AutoSizeList.test.js +81 -59
  13. package/cjs/{ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.js → AvatarWithFallback/AvatarWithFallback.test.js} +15 -31
  14. package/cjs/BarChart/BarChart.test.js +128 -65
  15. package/cjs/BasicAttributeSelector/BasicAttributeSelector.spec.js +27 -10
  16. package/cjs/BasicViewContent/BasicViewContent.test.js +7 -9
  17. package/cjs/BlobRenderer/BlobRenderer.test.js +28 -9
  18. package/cjs/BooleanRadioEditor/BooleanRadioEditor.test.js +89 -35
  19. package/cjs/BubbleChart/BubbleChart.test.js +111 -87
  20. package/cjs/CloudChart/CloudChart.test.js +95 -36
  21. package/cjs/CollaborationItem/CollaborationItem.test.js +67 -30
  22. package/cjs/CollaborationItem/components/Comment/Comment.test.js +221 -189
  23. package/cjs/CollaborationItem/components/CommentContent/CommentContent.test.js +46 -81
  24. package/cjs/CollaborationItem/components/RepliedComment/RepliedComment.test.js +194 -163
  25. package/cjs/CollaborationItem/components/SendMessageArea/SendMessageArea.test.js +307 -266
  26. package/cjs/CollapseButton/CollapseButton.test.js +74 -15
  27. package/cjs/CollapseRowButton/CollapseRowButton.test.js +82 -24
  28. package/cjs/ColorBar/ColorBar.test.js +13 -15
  29. package/cjs/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.spec.js +207 -129
  30. package/cjs/CommentsContainer/CommentsContainer.test.js +282 -211
  31. package/cjs/CommentsContainer/components/CollaborationPopup/CollaborationPopup.test.js +183 -122
  32. package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.test.js +42 -41
  33. package/cjs/ConfirmDeleteDialog/ConfirmDeleteDialog.test.js +77 -28
  34. package/cjs/ConfirmationDialog/ConfirmationDialog.test.js +85 -48
  35. package/cjs/ConnectionEditor/ConnectionEditor.test.js +299 -282
  36. package/cjs/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.d.ts +3 -1
  37. package/cjs/ReactSortableTree/ReactSortableTree.js +2 -7
  38. package/cjs/RelationTypeSelector/RelationTypeSelector.d.ts +3 -1
  39. package/cjs/types/index.d.ts +1 -1
  40. package/esm/ActionsPanel/ActionsPanel.test.js +133 -49
  41. package/esm/AttributeListItem/AttributeListItem.spec.js +149 -97
  42. package/esm/AttributeSelector/AttributeSelector.specs.js +125 -193
  43. package/esm/AttributesErrorsPanel/AttributesErrorsPanel.specs.js +128 -71
  44. package/esm/AttributesErrorsPanel/components/Error/Error.specs.js +98 -72
  45. package/esm/AttributesErrorsPanel/store.test-data.d.ts +22 -0
  46. package/esm/AttributesErrorsPanel/store.test-data.js +26 -0
  47. package/esm/AttributesFilterSelector/AttributesFilterSelector.test.js +129 -84
  48. package/esm/AttributesFiltersButton/AttributesFiltersButton.test.js +218 -136
  49. package/esm/AttributesValuesEditor/AttributesValuesEditor.test.js +94 -67
  50. package/esm/AttributesView/AttributesView.test.js +67 -34
  51. package/esm/AutoSizeList/AutoSizeList.test.js +81 -59
  52. package/esm/{ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.js → AvatarWithFallback/AvatarWithFallback.test.js} +16 -32
  53. package/esm/BarChart/BarChart.test.js +128 -65
  54. package/esm/BasicAttributeSelector/BasicAttributeSelector.spec.js +27 -10
  55. package/esm/BasicViewContent/BasicViewContent.test.js +7 -9
  56. package/esm/BlobRenderer/BlobRenderer.test.js +28 -9
  57. package/esm/BooleanRadioEditor/BooleanRadioEditor.test.js +89 -35
  58. package/esm/BubbleChart/BubbleChart.test.js +111 -87
  59. package/esm/CloudChart/CloudChart.test.js +95 -36
  60. package/esm/CollaborationItem/CollaborationItem.test.js +67 -30
  61. package/esm/CollaborationItem/components/Comment/Comment.test.js +221 -189
  62. package/esm/CollaborationItem/components/CommentContent/CommentContent.test.js +46 -58
  63. package/esm/CollaborationItem/components/RepliedComment/RepliedComment.test.js +194 -163
  64. package/esm/CollaborationItem/components/SendMessageArea/SendMessageArea.test.js +307 -266
  65. package/esm/CollapseButton/CollapseButton.test.js +74 -15
  66. package/esm/CollapseRowButton/CollapseRowButton.test.js +82 -24
  67. package/esm/ColorBar/ColorBar.test.js +13 -15
  68. package/esm/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.spec.js +207 -129
  69. package/esm/CommentsContainer/CommentsContainer.test.js +282 -211
  70. package/esm/CommentsContainer/components/CollaborationPopup/CollaborationPopup.test.js +182 -101
  71. package/esm/ConfigureColumnsPopup/ConfigureColumnsPopup.test.js +42 -41
  72. package/esm/ConfirmDeleteDialog/ConfirmDeleteDialog.test.js +77 -28
  73. package/esm/ConfirmationDialog/ConfirmationDialog.test.js +85 -48
  74. package/esm/ConnectionEditor/ConnectionEditor.test.js +300 -283
  75. package/esm/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.d.ts +3 -1
  76. package/esm/ReactSortableTree/ReactSortableTree.js +2 -7
  77. package/esm/RelationTypeSelector/RelationTypeSelector.d.ts +3 -1
  78. package/esm/types/index.d.ts +1 -1
  79. package/package.json +2 -2
  80. package/cjs/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.js +0 -100
  81. package/cjs/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.d.ts +0 -1
  82. package/cjs/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.js +0 -46
  83. package/cjs/AvatarWithFallback/AvatarWithFallback.specs.d.ts +0 -1
  84. package/cjs/AvatarWithFallback/AvatarWithFallback.specs.js +0 -27
  85. package/cjs/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.d.ts +0 -1
  86. package/cjs/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.js +0 -27
  87. package/cjs/CollaborationItem/components/Avatar/Avatar.test.d.ts +0 -1
  88. package/cjs/CollaborationItem/components/Avatar/Avatar.test.js +0 -15
  89. package/cjs/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.d.ts +0 -1
  90. package/cjs/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.js +0 -80
  91. package/esm/ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.d.ts +0 -1
  92. package/esm/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.d.ts +0 -1
  93. package/esm/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.js +0 -95
  94. package/esm/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.d.ts +0 -1
  95. package/esm/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.js +0 -41
  96. package/esm/AvatarWithFallback/AvatarWithFallback.specs.d.ts +0 -1
  97. package/esm/AvatarWithFallback/AvatarWithFallback.specs.js +0 -22
  98. package/esm/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.d.ts +0 -1
  99. package/esm/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.js +0 -22
  100. package/esm/CollaborationItem/components/Avatar/Avatar.test.d.ts +0 -1
  101. package/esm/CollaborationItem/components/Avatar/Avatar.test.js +0 -10
  102. package/esm/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.d.ts +0 -1
  103. package/esm/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.js +0 -55
  104. /package/cjs/{ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.d.ts → AvatarWithFallback/AvatarWithFallback.test.d.ts} +0 -0
  105. /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 = __importStar(require("react")), react = 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
- jest.mock('react', function () { return (__assign(__assign({}, jest.requireActual('react')), { useContext: jest.fn().mockImplementation(function (f) { return f(); }) })); });
45
- var allUsers = [
46
- { username: 'vyacheslav.kovyazin', email: 'vyacheslav.kovyazin@reltio.com' },
47
- { username: 'user', email: 'user@reltio.com' }
48
- ];
49
- var createProps = function (text, namedUsers) {
50
- if (namedUsers === void 0) { namedUsers = []; }
51
- return {
52
- comment: {
53
- content: text,
54
- namedUsers: namedUsers
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
- mockUsersContext();
69
- var component = setUp(createProps('Hello world!!!'));
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
- mockUsersContext();
74
- var component = setUp(createProps('Hello +vyacheslav.kovyazin', ['vyacheslav.kovyazin']));
75
- expect(component.find('.root').childAt(0).text()).toBe('Hello ');
76
- expect(component
77
- .find('.root')
78
- .childAt(1)
79
- .matchesElement(react_1.default.createElement(Link_1.default, { href: "mailto:vyacheslav.kovyazin@reltio.com", underline: "hover" }, "+vyacheslav.kovyazin"))).toBe(true);
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
- mockUsersContext();
83
- var component = setUp(createProps('+vyacheslav.kovyazin Hello', ['vyacheslav.kovyazin']));
84
- expect(component
85
- .find('.root')
86
- .childAt(0)
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
- mockUsersContext();
92
- var component = setUp(createProps('Hello +vyacheslav.kovyazin and +user!!!', ['vyacheslav.kovyazin', 'user']));
93
- expect(component.find('.root').childAt(0).text()).toBe('Hello ');
94
- expect(component
95
- .find('.root')
96
- .childAt(1)
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
- mockUsersContext([]);
107
- var component = setUp(createProps('Hello +vyacheslav.kovyazin', ['vyacheslav.kovyazin']));
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 TIME = 1620280049022;
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
- var component = setUp();
107
- expect(component.find(Avatar_1.Avatar)).toHaveLength(1);
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
- var component = setUp();
112
- expect(component.find('.username').length).toBeTruthy();
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
- var component = setUp();
117
- expect(component.find('.marked')).toHaveLength(0);
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
- var component = setUp({ props: props });
129
- expect(component.find('.marked').length).toBeTruthy();
130
- expect(component.find('.marked').at(0).text()).toBe('Marked as resolved');
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
- var component = setUp({ props: props });
136
- expect(component.find('.marked').length).toBeTruthy();
137
- expect(component.find('.marked').at(0).text()).toBe('Re-opened');
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
- var component = setUp();
147
- expect(component.find('.createdAt').length).toBeTruthy();
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 = defaultCollaborationContextValue.updateCommentState;
152
- var getCommentState = function () { return ({ isEditing: true }); };
153
- var collaborationContextValue = __assign(__assign({}, defaultCollaborationContextValue), { getCommentState: getCommentState });
154
- var component = setUp({ collaborationContextValue: collaborationContextValue });
155
- (0, test_utils_1.act)(function () {
156
- var _a;
157
- (_a = component.find(SendMessageArea_1.SendMessageArea).prop('onCancel')) === null || _a === void 0 ? void 0 : _a();
158
- });
159
- expect(updateCommentState).toHaveBeenCalledWith(defaultProps.uri, 'comment/commentId/reply/replyId', {
160
- isEditing: false
161
- });
162
- });
163
- it('should call updateCommentState with right params when updateIsEditingComment called', function () {
164
- var updateCommentState = defaultCollaborationContextValue.updateCommentState;
165
- var getCommentState = function () { return ({ isEditing: false }); };
166
- var collaborationContextValue = __assign(__assign({}, defaultCollaborationContextValue), { getCommentState: getCommentState });
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
- expect(updateCommentState).toHaveBeenCalledWith(defaultProps.uri, 'comment/commentId/reply/replyId', {
177
- isEditing: true
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
- var component = setUp({ collaborationContextValue: collaborationContextValue });
184
- expect(component.find(CommentContent_1.CommentContent)).toHaveLength(0);
185
- var sendMessageArea = component.find(SendMessageArea_1.SendMessageArea);
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 = defaultCollaborationContextValue.deleteReply;
192
- var component = setUp();
193
- var menuItems = component.find(DropDownMenuButton_1.DropDownMenuButton).prop('menuItems');
194
- var deleteButton = menuItems.find(function (_a) {
195
- var text = _a.text;
196
- return text === 'Delete';
197
- });
198
- if (deleteButton)
199
- deleteButton.onClick();
200
- expect(deleteReply).toHaveBeenCalledWith({
201
- uri: 'entities/13JKIKAz/attributes/Name/2mlWuqDq5',
202
- commentId: 'commentId',
203
- reply: defaultReply
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
- (0, react_2.render)(react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues },
213
- react_1.default.createElement(RepliedComment_1.RepliedComment, __assign({}, props))));
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
  });