@reltio/profile 1.4.1585 → 1.4.1586-mui5

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 (335) hide show
  1. package/.DS_Store +0 -0
  2. package/index.ts +4 -0
  3. package/package.json +40 -23
  4. package/public/bundle.js +205 -0
  5. package/{bundle.js.LICENSE.txt → public/bundle.js.LICENSE.txt} +44 -16
  6. package/public/package.json +24 -0
  7. package/scripts/build/index.js +20 -0
  8. package/src/.DS_Store +0 -0
  9. package/src/components/.DS_Store +0 -0
  10. package/src/components/BackgroundProcessIndicator/BackgroundProcessIndicator.tsx +101 -0
  11. package/src/components/BackgroundProcessIndicator/styles.ts +50 -0
  12. package/src/components/DCRReviewPerspectiveView/DCRReviewPerspectiveView.tsx +77 -0
  13. package/src/components/DCRReviewPerspectiveView/__tests__/DCRReviewPerspectiveView.test.tsx +156 -0
  14. package/src/components/DCRReviewPerspectiveView/components/DCRProfileBand/DCRProfileBand.tsx +22 -0
  15. package/src/components/DCRReviewPerspectiveView/components/DCRProfileBand/__tests__/DCRProfileBand.test.tsx +92 -0
  16. package/src/components/DCRReviewPerspectiveView/components/DCRProfileBand/styles.ts +11 -0
  17. package/src/components/DCRReviewPerspectiveView/hooks/useWorkflowTasks.ts +31 -0
  18. package/src/components/DCRReviewPerspectiveView/index.ts +1 -0
  19. package/src/components/DCRReviewPerspectiveView/styles.ts +33 -0
  20. package/src/components/EntityMapView/EntityMapView.tsx +64 -0
  21. package/src/components/EntityMapView/__tests__/EntityMapView.spec.js +121 -0
  22. package/src/components/EntityMapView/styles.ts +20 -0
  23. package/src/components/EntityMapView/useMarkers.ts +27 -0
  24. package/src/components/HierarchyPathsView/ConfigContext.ts +4 -0
  25. package/src/components/HierarchyPathsView/HierarchyPathsHeader.tsx +32 -0
  26. package/src/components/HierarchyPathsView/HierarchyPathsView.tsx +90 -0
  27. package/src/components/HierarchyPathsView/Node.tsx +62 -0
  28. package/src/components/HierarchyPathsView/__tests__/HierarchyPathsView.test.tsx +547 -0
  29. package/src/components/HierarchyPathsView/__tests__/IntegrationHierarchyPathsView.test.tsx +47 -0
  30. package/src/components/HierarchyPathsView/__tests__/Node.test.tsx +152 -0
  31. package/src/components/HierarchyPathsView/__tests__/data/metadata.data.ts +33 -0
  32. package/src/components/HierarchyPathsView/__tests__/data/store.data.ts +37 -0
  33. package/src/components/HierarchyPathsView/__tests__/data/treePaths.data.ts +63 -0
  34. package/src/components/HierarchyPathsView/defaultTypeIcon.png +0 -0
  35. package/src/components/HierarchyPathsView/helpers.ts +3 -0
  36. package/src/components/HierarchyPathsView/hooks/useDynamicNodesHeights.ts +33 -0
  37. package/src/components/HierarchyPathsView/hooks/useLoadPaths.ts +76 -0
  38. package/src/components/HierarchyPathsView/icons/ShowGraph.svg +10 -0
  39. package/src/components/HierarchyPathsView/index.ts +1 -0
  40. package/src/components/HierarchyPathsView/styles.ts +60 -0
  41. package/src/components/HierarchyPathsView/theme/__tests__/node-content-renderer.test.tsx +78 -0
  42. package/src/components/HierarchyPathsView/theme/__tests__/tree-node-data-renderer.test.tsx +72 -0
  43. package/src/components/HierarchyPathsView/theme/index.ts +8 -0
  44. package/src/components/HierarchyPathsView/theme/node-content-renderer.tsx +84 -0
  45. package/src/components/HierarchyPathsView/theme/styles.ts +102 -0
  46. package/src/components/HierarchyPathsView/theme/tree-node-data-renderer.tsx +70 -0
  47. package/src/components/HierarchyPathsView/types.ts +17 -0
  48. package/src/components/ImageAttributeView/ImageAttributeView.tsx +87 -0
  49. package/src/components/ImageAttributeView/ImageAttributeViewEditableContent/ImageAttributeViewEditableContent.tsx +52 -0
  50. package/src/components/ImageAttributeView/ImageAttributeViewEditableContent/__tests__/ImageAttributeViewEditableContent.test.tsx +136 -0
  51. package/src/components/ImageAttributeView/ImageLineCaption/ImageLineCaption.tsx +18 -0
  52. package/src/components/ImageAttributeView/ImageLineCaption/__tests__/ImageLineCaption.test.tsx +15 -0
  53. package/src/components/ImageAttributeView/ImageLineCaption/styles.ts +10 -0
  54. package/src/components/ImageAttributeView/__tests__/ImageAttributeView.test.tsx +151 -0
  55. package/src/components/ImageAttributeView/__tests__/IntegrationImageAttributeView.test.tsx +36 -0
  56. package/src/components/ImageAttributeView/__tests__/data/store.data.ts +22 -0
  57. package/src/components/ImageAttributeView/styles.ts +13 -0
  58. package/src/components/Notifications/Notification.tsx +98 -0
  59. package/src/components/Notifications/Notifications.tsx +17 -0
  60. package/src/components/Notifications/__tests__/Notification.spec.tsx +230 -0
  61. package/src/components/Notifications/__tests__/Notifications.spec.tsx +37 -0
  62. package/src/components/Notifications/index.ts +1 -0
  63. package/src/components/Notifications/styles.ts +17 -0
  64. package/src/components/Notifications/types.ts +21 -0
  65. package/src/components/PerspectiveProfileBand/PerspectiveProfileBand.tsx +304 -0
  66. package/src/components/PerspectiveProfileBand/__tests__/PerspectiveProfileBand.specs.tsx +526 -0
  67. package/src/components/PerspectiveProfileBand/__tests__/data/collaboration.data.ts +23 -0
  68. package/src/components/PerspectiveProfileBand/__tests__/data/store.data.ts +162 -0
  69. package/src/components/PerspectiveProfileBand/copy.svg +14 -0
  70. package/src/components/PerspectiveProfileBand/hooks/useCloneAction.ts +94 -0
  71. package/src/components/PerspectiveProfileBand/index.ts +1 -0
  72. package/src/components/PerspectiveProfileBand/styles.ts +27 -0
  73. package/src/components/PerspectiveProfileBand/suggest.svg +16 -0
  74. package/src/components/ProfileAttributesView/ProfileAttributesView.tsx +21 -0
  75. package/src/components/ProfileAttributesView/__tests__/ProfileAttributesView.test.tsx +70 -0
  76. package/src/components/ProfileErrorsPanel/ProfileErrorsPanel.tsx +70 -0
  77. package/src/components/ProfileErrorsPanel/__tests__/ProfileErrorsPanel.specs.tsx +140 -0
  78. package/src/components/ProfileErrorsPanel/components/Error.tsx +50 -0
  79. package/src/components/ProfileErrorsPanel/components/ErrorsPanel.tsx +65 -0
  80. package/src/components/ProfileErrorsPanel/components/__tests__/Error.specs.tsx +264 -0
  81. package/src/components/ProfileErrorsPanel/components/__tests__/ErrorsPanel.specs.tsx +93 -0
  82. package/src/components/ProfileErrorsPanel/helpers.ts +45 -0
  83. package/src/components/ProfileErrorsPanel/icons/hyperlink.svg +4 -0
  84. package/src/components/ProfileErrorsPanel/index.ts +1 -0
  85. package/src/components/ProfileErrorsPanel/styles.ts +100 -0
  86. package/src/components/ProfileErrorsPanel/useCachedErrors.ts +11 -0
  87. package/src/components/ProfileLayout/ProfileLayout.tsx +56 -0
  88. package/src/components/ProfileLayout/__tests__/ProfileLayout.specs.tsx +56 -0
  89. package/src/components/ProfileLayout/index.ts +1 -0
  90. package/src/components/ProfileLayout/styles.ts +19 -0
  91. package/src/components/ProfileLayoutItem/ProfileLayoutItem.tsx +89 -0
  92. package/src/components/ProfileLayoutItem/__tests__/ProfileLayoutItem.test.tsx +165 -0
  93. package/src/components/ProfileLayoutItem/__tests__/data/store.data.ts +29 -0
  94. package/src/components/ProfileLayoutItem/index.ts +1 -0
  95. package/src/components/ProfileLayoutItem/styles.ts +13 -0
  96. package/src/components/ProfilePerspectiveResizablePanes/ProfilePerspectiveResizablePanes.tsx +34 -0
  97. package/src/components/ProfilePerspectiveResizablePanes/styles.ts +9 -0
  98. package/src/components/ProfilePerspectiveView/ProfilePerspectiveView.tsx +193 -0
  99. package/src/components/ProfilePerspectiveView/__tests__/IntegrationProfilePerspective.test.tsx +417 -0
  100. package/src/components/ProfilePerspectiveView/__tests__/ProfilePerspectiveView.specs.tsx +1503 -0
  101. package/src/components/ProfilePerspectiveView/__tests__/data/entities.data.ts +19 -0
  102. package/src/components/ProfilePerspectiveView/__tests__/data/entity.data.ts +25 -0
  103. package/src/components/ProfilePerspectiveView/__tests__/data/metadata.data.ts +33 -0
  104. package/src/components/ProfilePerspectiveView/__tests__/data/profile.data.ts +22 -0
  105. package/src/components/ProfilePerspectiveView/__tests__/data/store.data.ts +51 -0
  106. package/src/components/ProfilePerspectiveView/hooks/data/backgroundUpdateDalay.ts +2 -0
  107. package/src/components/ProfilePerspectiveView/hooks/useBackgroundProcessIndicator.ts +121 -0
  108. package/src/components/ProfilePerspectiveView/hooks/useProfileLayout.ts +101 -0
  109. package/src/components/ProfilePerspectiveView/hooks/useProfileRightSidePanelElements.tsx +167 -0
  110. package/src/components/ProfilePerspectiveView/hooks/useWorkflowTasks.ts +15 -0
  111. package/src/components/ProfilePerspectiveView/index.ts +1 -0
  112. package/src/components/ProfilePerspectiveView/styles.ts +38 -0
  113. package/src/components/ProfilePotentialMatchesView/ActionButtons.tsx +39 -0
  114. package/src/components/ProfilePotentialMatchesView/MatchCard.tsx +53 -0
  115. package/src/components/ProfilePotentialMatchesView/ProfilePotentialMatchesView.tsx +137 -0
  116. package/src/components/ProfilePotentialMatchesView/__tests__/ActionButtons.specs.tsx +89 -0
  117. package/src/components/ProfilePotentialMatchesView/__tests__/MatchCard.specs.tsx +62 -0
  118. package/src/components/ProfilePotentialMatchesView/__tests__/ProfilePotentialMatchesView.specs.tsx +267 -0
  119. package/src/components/ProfilePotentialMatchesView/__tests__/commonData.ts +91 -0
  120. package/src/components/ProfilePotentialMatchesView/styles.ts +30 -0
  121. package/src/components/ProfileRelationsView/ProfileRelationsView.tsx +24 -0
  122. package/src/components/ProfileRelationsView/__tests__/ProfileRelationsView.test.tsx +112 -0
  123. package/src/components/ProfileRelationsView/components/EditableRelationItem/EditableRelationItem.tsx +133 -0
  124. package/src/components/ProfileRelationsView/components/EditableRelationItem/__tests__/EditableRelationItem.specs.tsx +222 -0
  125. package/src/components/ProfileRelationsView/components/EditableRelationItem/styles.ts +59 -0
  126. package/src/components/ProfileRelationsView/components/RelationArrowButton/RelationArrowButton.tsx +29 -0
  127. package/src/components/ProfileRelationsView/components/RelationArrowButton/__tests__/RelationArrowButton.specs.tsx +99 -0
  128. package/src/components/ProfileRelationsView/components/RelationArrowButton/styles.ts +8 -0
  129. package/src/components/ProfileRelationsView/components/RelationTooltip/RelationTooltip.tsx +83 -0
  130. package/src/components/ProfileRelationsView/components/RelationTooltip/__tests__/RelationTooltip.test.tsx +155 -0
  131. package/src/components/ProfileRelationsView/components/RelationTooltip/styles.ts +27 -0
  132. package/src/components/ProfileRelationsView/components/RelationsContent/RelationsContent.tsx +62 -0
  133. package/src/components/ProfileRelationsView/components/RelationsContent/__tests__/RelationsContent.specs.tsx +148 -0
  134. package/src/components/ProfileRelationsView/components/RelationsContent/styles.ts +15 -0
  135. package/src/components/ProfileRelationsView/components/RelationsEditableContent/RelationsEditableContent.tsx +153 -0
  136. package/src/components/ProfileRelationsView/components/RelationsEditableContent/__tests__/RelationsEditableContent.specs.tsx +367 -0
  137. package/src/components/ProfileRelationsView/components/RelationsEditableContent/styles.ts +28 -0
  138. package/src/components/ProfileRelationsView/components/RelationsHeader/FilterButton/FilterButton.tsx +113 -0
  139. package/src/components/ProfileRelationsView/components/RelationsHeader/FilterButton/styles.ts +43 -0
  140. package/src/components/ProfileRelationsView/components/RelationsHeader/ImportFromDT/ImportFromDT.tsx +65 -0
  141. package/src/components/ProfileRelationsView/components/RelationsHeader/ImportFromDT/MultipleImportIcon.tsx +23 -0
  142. package/src/components/ProfileRelationsView/components/RelationsHeader/ImportFromDT/__tests__/ImportFromDT.test.tsx +500 -0
  143. package/src/components/ProfileRelationsView/components/RelationsHeader/ImportFromDT/__tests__/MultipleImportIcon.test.tsx +20 -0
  144. package/src/components/ProfileRelationsView/components/RelationsHeader/ImportFromDT/hooks/useImportFromDTLoader.ts +84 -0
  145. package/src/components/ProfileRelationsView/components/RelationsHeader/ImportFromDT/styles.ts +37 -0
  146. package/src/components/ProfileRelationsView/components/RelationsHeader/RelationsHeader.tsx +39 -0
  147. package/src/components/ProfileRelationsView/components/RelationsHeader/__tests__/RelationsHeader.test.tsx +82 -0
  148. package/src/components/ProfileRelationsView/components/RelationsHeader/styles.ts +18 -0
  149. package/src/components/ProfileRelationsView/components/RelationsList/Ratings/Ratings.tsx +60 -0
  150. package/src/components/ProfileRelationsView/components/RelationsList/Ratings/__tests__/Ratings.test.tsx +64 -0
  151. package/src/components/ProfileRelationsView/components/RelationsList/Ratings/styles.ts +48 -0
  152. package/src/components/ProfileRelationsView/components/RelationsList/RatingsButtons/RatingsButtons.tsx +74 -0
  153. package/src/components/ProfileRelationsView/components/RelationsList/RatingsButtons/__tests__/RatingsButtons.test.tsx +72 -0
  154. package/src/components/ProfileRelationsView/components/RelationsList/RatingsButtons/styles.ts +20 -0
  155. package/src/components/ProfileRelationsView/components/RelationsList/RatingsPopup/RatingsPopup.tsx +109 -0
  156. package/src/components/ProfileRelationsView/components/RelationsList/RatingsPopup/__tests__/RatingsPopup.test.tsx +106 -0
  157. package/src/components/ProfileRelationsView/components/RelationsList/RatingsPopup/styles.ts +133 -0
  158. package/src/components/ProfileRelationsView/components/RelationsList/RelationAttributes/RelationAttributes.tsx +81 -0
  159. package/src/components/ProfileRelationsView/components/RelationsList/RelationAttributes/__tests__/RelationAttributes.test.tsx +218 -0
  160. package/src/components/ProfileRelationsView/components/RelationsList/RelationAttributes/styles.ts +12 -0
  161. package/src/components/ProfileRelationsView/components/RelationsList/RelationCompexItem/RelationComplexItem.tsx +129 -0
  162. package/src/components/ProfileRelationsView/components/RelationsList/RelationCompexItem/__tests__/RelationComplexItem.test.tsx +303 -0
  163. package/src/components/ProfileRelationsView/components/RelationsList/RelationCompexItem/styles.ts +51 -0
  164. package/src/components/ProfileRelationsView/components/RelationsList/RelationItem/RelationItem.tsx +103 -0
  165. package/src/components/ProfileRelationsView/components/RelationsList/RelationItem/__tests__/RelationItem.test.tsx +222 -0
  166. package/src/components/ProfileRelationsView/components/RelationsList/RelationItem/styles.ts +72 -0
  167. package/src/components/ProfileRelationsView/components/RelationsList/RelationsList.tsx +69 -0
  168. package/src/components/ProfileRelationsView/components/RelationsList/ShowDetailsButton/ShowDetailsButton.tsx +28 -0
  169. package/src/components/ProfileRelationsView/components/RelationsList/ShowDetailsButton/__tests__/ShowDetailsButton.test.tsx +33 -0
  170. package/src/components/ProfileRelationsView/components/RelationsList/__tests__/RelationsList.test.tsx +143 -0
  171. package/src/components/ProfileRelationsView/components/RelationsView/RelationsView.tsx +108 -0
  172. package/src/components/ProfileRelationsView/components/RelationsView/__tests__/RelationsView.test.tsx +183 -0
  173. package/src/components/ProfileRelationsView/components/RelationsView/index.ts +1 -0
  174. package/src/components/ProfileRelationsView/components/RelationsView/styles.ts +22 -0
  175. package/src/components/ProfileRelationsView/components/SecondLevelWrapper/SecondLevelWrapper.tsx +66 -0
  176. package/src/components/ProfileRelationsView/components/SecondLevelWrapper/__tests__/SecondLevelWrapper.test.tsx +234 -0
  177. package/src/components/ProfileRelationsView/components/SecondLevelWrapper/styles.ts +12 -0
  178. package/src/components/ProfileRelationsView/components/SuggestedButtons/SuggestedButtons.tsx +23 -0
  179. package/src/components/ProfileRelationsView/components/SuggestedButtons/__tests__/SuggestedButtons.test.tsx +33 -0
  180. package/src/components/ProfileRelationsView/components/SuggestedButtons/styles.ts +7 -0
  181. package/src/components/ProfileRelationsView/contexts/ImportDTContext.ts +7 -0
  182. package/src/components/ProfileRelationsView/contexts/RelationsViewStateContext.ts +6 -0
  183. package/src/components/ProfileRelationsView/helpers/__tests__/filters.test.tsx +10 -0
  184. package/src/components/ProfileRelationsView/helpers/__tests__/ratings.test.ts +92 -0
  185. package/src/components/ProfileRelationsView/helpers/__tests__/relation.test.tsx +27 -0
  186. package/src/components/ProfileRelationsView/helpers/filters.ts +17 -0
  187. package/src/components/ProfileRelationsView/helpers/permissions.ts +17 -0
  188. package/src/components/ProfileRelationsView/helpers/ratings.ts +35 -0
  189. package/src/components/ProfileRelationsView/helpers/relation.ts +15 -0
  190. package/src/components/ProfileRelationsView/hooks/useRelationInfo.ts +25 -0
  191. package/src/components/ProfileRelationsView/hooks/useRelationsState.ts +92 -0
  192. package/src/components/ProfileRelationsView/hooks/useSecondLevelConnections.ts +76 -0
  193. package/src/components/ProfileRelationsView/hooks/useSuggestedRelations.ts +54 -0
  194. package/src/components/ProfileSingleAttributeView/ProfileSingleAttributeView.tsx +20 -0
  195. package/src/components/ProfileSingleAttributeView/__tests__/IntegrationProfileSingleAttribute.test.tsx +368 -0
  196. package/src/components/ProfileSingleAttributeView/__tests__/ProfileSingleAttributeView.test.tsx +933 -0
  197. package/src/components/ProfileSingleAttributeView/__tests__/data/metadata.data.ts +103 -0
  198. package/src/components/ProfileSingleAttributeView/__tests__/data/store.data.ts +42 -0
  199. package/src/components/ProfileSingleAttributeView/components/FilterButton/FilterButton.tsx +63 -0
  200. package/src/components/ProfileSingleAttributeView/components/FilterButton/__tests__/FilterButton.spec.tsx +93 -0
  201. package/src/components/ProfileSingleAttributeView/components/FilterButton/styles.ts +27 -0
  202. package/src/components/ProfileSingleAttributeView/components/SingleAttributeEditableContent/SingleAttributeEditableContent.tsx +204 -0
  203. package/src/components/ProfileSingleAttributeView/components/SingleAttributeEditableContent/__tests__/SingleAttributeEditableContent.specs.tsx +559 -0
  204. package/src/components/ProfileSingleAttributeView/components/SingleAttributeEditableContent/styles.ts +28 -0
  205. package/src/components/ProfileSingleAttributeView/components/SingleAttributeHeader/SingleAttributeHeader.tsx +58 -0
  206. package/src/components/ProfileSingleAttributeView/components/SingleAttributeHeader/__tests__/SingleAttributeHeader.test.tsx +188 -0
  207. package/src/components/ProfileSingleAttributeView/components/SingleAttributeHeader/styles.ts +21 -0
  208. package/src/components/ProfileSingleAttributeView/components/SingleAttributeReadableContent/SingleAttributeReadableContent.tsx +31 -0
  209. package/src/components/ProfileSingleAttributeView/components/SingleAttributeReadableContent/__tests__/SingleAttributeReadableContent.spec.tsx +42 -0
  210. package/src/components/ProfileSingleAttributeView/components/SingleAttributeReadableContent/styles.ts +9 -0
  211. package/src/components/ProfileSingleAttributeView/components/SingleAttributeView/SingleAttributeView.tsx +90 -0
  212. package/src/components/ProfileSingleAttributeView/components/SingleAttributeView/__tests__/SingleAttributeView.test.tsx +346 -0
  213. package/src/components/ProfileSingleAttributeView/components/SingleAttributeView/styles.ts +22 -0
  214. package/src/components/ProfileSingleAttributeView/contexts/SingleAttributeContext.ts +20 -0
  215. package/src/components/ProfileSingleAttributeView/hooks/useSingleAttribute.ts +25 -0
  216. package/src/components/ProfileSingleAttributeView/styles.ts +26 -0
  217. package/src/components/ProfileTableAttributeView/ProfileTableAttributeView.tsx +20 -0
  218. package/src/components/ProfileTableAttributeView/__tests__/IntegrationProfileTableAttributeView.test.tsx +278 -0
  219. package/src/components/ProfileTableAttributeView/__tests__/ProfileTableAttributeView.test.tsx +744 -0
  220. package/src/components/ProfileTableAttributeView/__tests__/data/metadata.data.ts +141 -0
  221. package/src/components/ProfileTableAttributeView/__tests__/data/store.data.ts +48 -0
  222. package/src/components/ProfileTableAttributeView/components/AttributeEditing/AttributeEditing.tsx +97 -0
  223. package/src/components/ProfileTableAttributeView/components/AttributeEditing/__tests__/AttributeEditing.test.tsx +409 -0
  224. package/src/components/ProfileTableAttributeView/components/AttributeEditing/styles.ts +17 -0
  225. package/src/components/ProfileTableAttributeView/components/AttributeTable/AttributeTable.tsx +171 -0
  226. package/src/components/ProfileTableAttributeView/components/AttributeTable/EditButtons.tsx +28 -0
  227. package/src/components/ProfileTableAttributeView/components/AttributeTable/__tests__/AttributeTable.test.tsx +431 -0
  228. package/src/components/ProfileTableAttributeView/components/AttributeTable/__tests__/EditButtons.test.tsx +54 -0
  229. package/src/components/ProfileTableAttributeView/components/AttributeTable/cell-renderers/BlobRenderer.tsx +20 -0
  230. package/src/components/ProfileTableAttributeView/components/AttributeTable/cell-renderers/DefaultCellValueRenderer.tsx +43 -0
  231. package/src/components/ProfileTableAttributeView/components/AttributeTable/cell-renderers/HeadCellRenderer.tsx +19 -0
  232. package/src/components/ProfileTableAttributeView/components/AttributeTable/cell-renderers/RowCellRenderer.tsx +33 -0
  233. package/src/components/ProfileTableAttributeView/components/AttributeTable/cell-renderers/__tests__/BlobRenderer.test.tsx +29 -0
  234. package/src/components/ProfileTableAttributeView/components/AttributeTable/cell-renderers/__tests__/DefaultCellValueRenderer.test.tsx +149 -0
  235. package/src/components/ProfileTableAttributeView/components/AttributeTable/cell-renderers/styles.ts +61 -0
  236. package/src/components/ProfileTableAttributeView/components/AttributeTable/styles.ts +21 -0
  237. package/src/components/ProfileTableAttributeView/components/AttributeTableHeader/AttributeTableHeader.tsx +53 -0
  238. package/src/components/ProfileTableAttributeView/components/AttributeTableHeader/__tests__/AttributeTableHeader.test.tsx +96 -0
  239. package/src/components/ProfileTableAttributeView/components/AttributeTableHeader/styles.ts +7 -0
  240. package/src/components/ProfileTableAttributeView/components/TableAttributeContent/TableAttributeContent.tsx +123 -0
  241. package/src/components/ProfileTableAttributeView/components/TableAttributeContent/__tests__/TableAttributeContent.test.tsx +600 -0
  242. package/src/components/ProfileTableAttributeView/components/TableAttributeContent/hooks/useEditableAttribute.ts +212 -0
  243. package/src/components/ProfileTableAttributeView/components/TableAttributeEditableContent/TableAttributeEditableContent.tsx +96 -0
  244. package/src/components/ProfileTableAttributeView/components/TableAttributeEditableContent/__tests__/TableAttributeEditableContent.test.tsx +450 -0
  245. package/src/components/ProfileTableAttributeView/components/TableAttributeEditableContent/hooks/__tests__/useExpandAttributes.test.tsx +92 -0
  246. package/src/components/ProfileTableAttributeView/components/TableAttributeEditableContent/hooks/useExpandAttributes.ts +88 -0
  247. package/src/components/ProfileTableAttributeView/components/TableAttributeEditableContent/styles.ts +21 -0
  248. package/src/components/ProfileTableAttributeView/components/TableAttributeView/TableAttributeView.tsx +64 -0
  249. package/src/components/ProfileTableAttributeView/components/TableAttributeView/__tests__/TableAttributeView.test.tsx +139 -0
  250. package/src/components/ProfileTableAttributeView/components/TableAttributeView/styles.ts +20 -0
  251. package/src/components/ProfileTableAttributeView/components/types.ts +16 -0
  252. package/src/components/ProfileTableAttributeView/contexts/TableAttributeContext.tsx +34 -0
  253. package/src/components/ProfileTableAttributeView/helpers/tableAttributeHelpers.ts +72 -0
  254. package/src/components/ProfileTableAttributeView/hooks/__tests__/helpers.test.ts +97 -0
  255. package/src/components/ProfileTableAttributeView/hooks/helpers.ts +13 -0
  256. package/src/components/ProfileTableAttributeView/hooks/reducer.ts +19 -0
  257. package/src/components/ProfileTableAttributeView/hooks/useTableAttribute.ts +77 -0
  258. package/src/components/RightSidePanel/RightSidePanel.tsx +43 -0
  259. package/src/components/RightSidePanel/__tests__/RightSidePanel.spec.tsx +149 -0
  260. package/src/components/RightSidePanel/components/CollaborationButton/CollaborationButton.tsx +22 -0
  261. package/src/components/RightSidePanel/components/CollaborationButton/__tests__/CollaborationButton.spec.tsx +24 -0
  262. package/src/components/RightSidePanel/components/CollaborationList/CollaborationList.tsx +56 -0
  263. package/src/components/RightSidePanel/components/CollaborationList/__tests__/CollaborationList.spec.tsx +104 -0
  264. package/src/components/RightSidePanel/components/CollaborationList/styles.ts +15 -0
  265. package/src/components/RightSidePanel/components/CollaborationPanelEmptyState/CollaborationPanelEmptyState.tsx +14 -0
  266. package/src/components/RightSidePanel/components/CollaborationPanelEmptyState/__tests__/CollaborationPanelEmptyState.specs.tsx +16 -0
  267. package/src/components/RightSidePanel/components/DBConnectorsList/DBConnectorsList.tsx +19 -0
  268. package/src/components/RightSidePanel/components/DBConnectorsList/__tests__/DBConnectorsList.spec.tsx +42 -0
  269. package/src/components/RightSidePanel/components/DBConnectorsList/styles.ts +12 -0
  270. package/src/components/RightSidePanel/components/WorkflowButton/WorkflowButton.tsx +21 -0
  271. package/src/components/RightSidePanel/components/WorkflowButton/__tests__/WorkflowButton.spec.tsx +23 -0
  272. package/src/components/RightSidePanel/components/WorkflowList/WorkflowList.tsx +18 -0
  273. package/src/components/RightSidePanel/components/WorkflowList/__tests__/WorkflowList.spec.tsx +46 -0
  274. package/src/components/RightSidePanel/components/WorkflowList/styles.ts +9 -0
  275. package/src/components/RightSidePanel/components/WorkflowPanelEmptyState/WorkflowPanelEmptyState.tsx +14 -0
  276. package/src/components/RightSidePanel/components/WorkflowPanelEmptyState/__tests__/WorkflowPanelEmptyState.specs.tsx +17 -0
  277. package/src/components/RightSidePanel/icons/CollaborationIcon.svg +18 -0
  278. package/src/components/RightSidePanel/icons/ConnectorsIcon.svg +3 -0
  279. package/src/components/RightSidePanel/styles.ts +21 -0
  280. package/src/components/Sandbox/CustomView.tsx +59 -0
  281. package/src/components/Sandbox/__tests__/CustomView.test.tsx +294 -0
  282. package/src/components/Sandbox/styles.ts +10 -0
  283. package/src/components/TagPerspectiveView/TagPerspectiveView.tsx +79 -0
  284. package/src/components/TagPerspectiveView/__tests__/TagPerspectiveView.test.tsx +146 -0
  285. package/src/components/TagPerspectiveView/components/TagListHeader/TagListHeader.tsx +48 -0
  286. package/src/components/TagPerspectiveView/components/TagListHeader/__tests__/TagListHeader.test.tsx +60 -0
  287. package/src/components/TagPerspectiveView/components/TagListHeader/index.ts +1 -0
  288. package/src/components/TagPerspectiveView/components/TagListHeader/styles.ts +36 -0
  289. package/src/components/TagPerspectiveView/components/TagProfileBand/TagProfileBand.tsx +21 -0
  290. package/src/components/TagPerspectiveView/components/TagProfileBand/__tests__/TagProfileBand.test.tsx +14 -0
  291. package/src/components/TagPerspectiveView/components/TagProfileBand/index.ts +1 -0
  292. package/src/components/TagPerspectiveView/components/TagProfileBand/styles.ts +24 -0
  293. package/src/components/TagPerspectiveView/hooks/__tests__/useTag.test.tsx +166 -0
  294. package/src/components/TagPerspectiveView/hooks/__tests__/useTagsProvider.test.tsx +208 -0
  295. package/src/components/TagPerspectiveView/hooks/useTag.ts +48 -0
  296. package/src/components/TagPerspectiveView/hooks/useTagsProvider.ts +83 -0
  297. package/src/components/TagPerspectiveView/index.ts +1 -0
  298. package/src/components/TagPerspectiveView/styles.ts +43 -0
  299. package/src/components/hooks/helpers/__tests__/helpers.test.ts +688 -0
  300. package/src/components/hooks/helpers/index.ts +77 -0
  301. package/src/components/hooks/useProfileValidation.ts +30 -0
  302. package/src/components/hooks/useSingleAttributeLoader.ts +164 -0
  303. package/src/components/views/HOCs/styles.ts +37 -0
  304. package/src/components/views/HOCs/withDragHandle.tsx +26 -0
  305. package/src/components/views/HOCs/withErrorBoundary.tsx +27 -0
  306. package/src/components/views/StubView.tsx +18 -0
  307. package/src/components/views/ViewComponent.tsx +25 -0
  308. package/src/components/views/ViewsFactory.tsx +143 -0
  309. package/src/components/views/__tests__/ViewComponent.specs.tsx +47 -0
  310. package/src/components/views/__tests__/ViewsFactory.specs.tsx +256 -0
  311. package/src/components/views/styles.ts +16 -0
  312. package/src/perspectives/DCRReviewPerspective.tsx +51 -0
  313. package/src/perspectives/ProfilePerspective.tsx +104 -0
  314. package/src/perspectives/TagPerspective.tsx +42 -0
  315. package/src/perspectives/__tests__/DCRReviewPerspective.spec.tsx +54 -0
  316. package/src/perspectives/__tests__/ProfilePerspective.spec.tsx +76 -0
  317. package/src/perspectives/__tests__/helpers.spec.ts +131 -0
  318. package/src/perspectives/helpers.ts +29 -0
  319. package/src/types/index.ts +9 -0
  320. package/stories/Profile.stories.tsx +35 -0
  321. package/stories/utils/entity.ts +80 -0
  322. package/stories/utils/hierarchyTree/config.ts +13 -0
  323. package/stories/utils/hierarchyTree/hopsResponse.ts +182 -0
  324. package/stories/utils/hierarchyTree/treeResponse.ts +412 -0
  325. package/stories/utils/mdmStore.ts +64 -0
  326. package/stories/utils/metadata.ts +701 -0
  327. package/stories/utils/profilePerspectiveConfig.ts +95 -0
  328. package/stories/utils/relationsTableView/config.ts +18 -0
  329. package/stories/utils/relationsTableView/connections.ts +647 -0
  330. package/stories/utils/responses.ts +62 -0
  331. package/tsconfig.json +4 -0
  332. package/webpack.config.js +10 -0
  333. package/bundle.js +0 -2
  334. /package/{5271a9e7b6651c852e93.png → public/5271a9e7b6651c852e93.png} +0 -0
  335. /package/{main.css → public/main.css} +0 -0
@@ -0,0 +1,688 @@
1
+ import {AttributeValue, Entity, Metadata} from '@reltio/mdm-sdk';
2
+ import {areValuesEqual, getAttributeNameFromAttributeUri, getPagedLocalEntity, search} from '../index';
3
+ import * as mdmSdk from '@reltio/mdm-sdk';
4
+
5
+ jest.mock('@reltio/mdm-sdk', () => ({
6
+ ...(jest.requireActual('@reltio/mdm-sdk') as Record<string, unknown>),
7
+ findAttributeValuesByTypeUri: jest.fn()
8
+ }));
9
+
10
+ describe('helpers', () => {
11
+ describe('getAttributeNameFromAttributeUri behaviour', () => {
12
+ it('should work correctly for attributeTypeUri', () => {
13
+ const uri = 'configuration/entityTypes/HCP/attributes/Address';
14
+ expect(getAttributeNameFromAttributeUri(uri)).toBe('Address');
15
+ });
16
+ });
17
+
18
+ describe('search behaviour', () => {
19
+ const attrValue = {
20
+ AddressLine1: [
21
+ {
22
+ type: 'configuration/entityTypes/Location/attributes/AddressLine1',
23
+ ov: true,
24
+ value: 'Dolgaya street',
25
+ uri: 'entities/12gnRzuT/attributes/Address/yuRk5gE/AddressLine1/2hMp8vwUK'
26
+ }
27
+ ],
28
+ City: [
29
+ {
30
+ type: 'configuration/entityTypes/Location/attributes/City',
31
+ ov: true,
32
+ value: 'Moscow',
33
+ uri: 'entities/12gnRzuT/attributes/Address/yuRk5gE/City/2hMp8vnxo'
34
+ }
35
+ ],
36
+ StateProvince: [
37
+ {
38
+ type: 'configuration/entityTypes/Location/attributes/StateProvince',
39
+ ov: true,
40
+ value: 'AZ',
41
+ lookupCode: 'AZ',
42
+ lookupRawValue: 'AZ',
43
+ uri: 'entities/12gnRzuT/attributes/Address/yuRk5gE/StateProvince/2hMp8vfRI'
44
+ }
45
+ ],
46
+ Zip: [
47
+ {
48
+ label: '123456-',
49
+ value: {
50
+ Zip5: [
51
+ {
52
+ type: 'configuration/entityTypes/Location/attributes/Zip/attributes/Zip5',
53
+ ov: true,
54
+ value: '123456',
55
+ uri: 'entities/12gnRzuT/attributes/Address/yuRk5gE/Zip/2hMp8vOOG/Zip5/2hMp8vSeW'
56
+ }
57
+ ]
58
+ },
59
+ ov: true,
60
+ uri: 'entities/12gnRzuT/attributes/Address/yuRk5gE/Zip/2hMp8vOOG'
61
+ }
62
+ ],
63
+ SubAdministrativeArea: [
64
+ {
65
+ type: 'configuration/entityTypes/Location/attributes/SubAdministrativeArea',
66
+ ov: true,
67
+ value: 'Russia',
68
+ uri: 'entities/12gnRzuT/attributes/Address/yuRk5gE/SubAdministrativeArea/2hMp8x6wi'
69
+ }
70
+ ]
71
+ };
72
+
73
+ it('should return true if value was found', () => {
74
+ expect(search(attrValue, 'str')).toBe(true);
75
+ expect(search(attrValue, 'moscow')).toBe(true);
76
+ expect(search(attrValue, 'MOSCOW')).toBe(true);
77
+ expect(search(attrValue, 'az')).toBe(true);
78
+ expect(search(attrValue, '123')).toBe(true);
79
+ expect(search(attrValue, '123456')).toBe(true);
80
+ });
81
+
82
+ it('should return false if value was not found', () => {
83
+ expect(search(attrValue, 'asdas')).toBe(false);
84
+ expect(search(attrValue, '1231231241')).toBe(false);
85
+ expect(search(attrValue, 'asdas')).toBe(false);
86
+ expect(search(attrValue, 'moscowww')).toBe(false);
87
+ expect(search(attrValue, 'adsa')).toBe(false);
88
+ expect(search(attrValue, 'asdas')).toBe(false);
89
+ });
90
+ });
91
+
92
+ describe('getPagedLocalEntity behaviour', () => {
93
+ let values = [
94
+ {
95
+ value: {},
96
+ ov: false
97
+ } as AttributeValue,
98
+ {
99
+ value: {
100
+ Primary: [
101
+ {
102
+ type: 'configuration/relationTypes/HasAddress/attributes/Primary',
103
+ value: 'true'
104
+ }
105
+ ],
106
+ AddressLine1: [
107
+ {
108
+ type: 'configuration/entityTypes/Location/attributes/AddressLine1',
109
+ value: '600 Dr Martin L King Jr Blvd'
110
+ },
111
+ {
112
+ type: 'configuration/entityTypes/Location/attributes/AddressLine1',
113
+ value: 'Hello world'
114
+ }
115
+ ],
116
+ Zip: [
117
+ {
118
+ value: {
119
+ Zip5: [
120
+ {
121
+ type: 'configuration/entityTypes/Location/attributes/Zip/attributes/Zip5',
122
+ value: '37243'
123
+ }
124
+ ],
125
+ Zip4: [
126
+ {
127
+ type: 'configuration/entityTypes/Location/attributes/Zip/attributes/Zip4',
128
+ value: '9100'
129
+ }
130
+ ]
131
+ }
132
+ }
133
+ ]
134
+ },
135
+ ov: true
136
+ },
137
+ {
138
+ value: {
139
+ AddressLine1: [
140
+ {
141
+ type: 'configuration/entityTypes/Location/attributes/AddressLine1',
142
+ value: 'Good address'
143
+ }
144
+ ]
145
+ },
146
+ ov: true
147
+ },
148
+ {
149
+ value: {
150
+ Primary: [
151
+ {
152
+ type: 'configuration/relationTypes/HasAddress/attributes/Primary',
153
+ value: 'true'
154
+ }
155
+ ],
156
+ String: [
157
+ {
158
+ type: 'configuration/entityTypes/Location/attributes/String',
159
+ value: 'str'
160
+ }
161
+ ]
162
+ },
163
+ ov: true
164
+ }
165
+ ];
166
+
167
+ const metadata = {} as Metadata;
168
+ const entity = {} as Entity;
169
+
170
+ beforeEach(() => {
171
+ jest.spyOn(mdmSdk, 'findAttributeValuesByTypeUri').mockImplementation(() => values as AttributeValue[]);
172
+ });
173
+
174
+ afterEach(() => {
175
+ jest.clearAllMocks();
176
+ });
177
+
178
+ it('should get only ov attributes values from entity and return result correctly', async () => {
179
+ let attributeTypeUri = 'configuration/entityTypes/HCP/attributes/Address';
180
+ expect(
181
+ await getPagedLocalEntity({
182
+ metadata,
183
+ entity,
184
+ attributeTypeUri
185
+ })
186
+ ).toEqual({
187
+ attributes: {
188
+ Address: [values[1], values[2], values[3]],
189
+ paging: {
190
+ [attributeTypeUri]: {
191
+ totalOvValues: 3,
192
+ totalValues: 3
193
+ }
194
+ }
195
+ }
196
+ });
197
+
198
+ attributeTypeUri = 'configuration/entityTypes/HCP/attributes/Commenters';
199
+
200
+ expect(
201
+ await getPagedLocalEntity({
202
+ metadata,
203
+ entity,
204
+ attributeTypeUri
205
+ })
206
+ ).toEqual({
207
+ attributes: {
208
+ Commenters: [values[1], values[2], values[3]],
209
+ paging: {
210
+ [attributeTypeUri]: {
211
+ totalOvValues: 3,
212
+ totalValues: 3
213
+ }
214
+ }
215
+ }
216
+ });
217
+ });
218
+
219
+ it('should work correctly for analytics attributes', async () => {
220
+ const attributeTypeUri = 'configuration/entityTypes/HCP/analyticsAttributes/DQ';
221
+
222
+ expect(
223
+ await getPagedLocalEntity({
224
+ metadata,
225
+ entity,
226
+ attributeTypeUri
227
+ })
228
+ ).toEqual({
229
+ analyticsAttributes: {
230
+ DQ: [values[1], values[2], values[3]],
231
+ paging: {
232
+ [attributeTypeUri]: {
233
+ totalOvValues: 3,
234
+ totalValues: 3
235
+ }
236
+ }
237
+ }
238
+ });
239
+ });
240
+
241
+ it('should work correctly with searchQuery param', async () => {
242
+ const attributeTypeUri = 'configuration/entityTypes/HCP/attributes/Address';
243
+ expect(
244
+ await getPagedLocalEntity({
245
+ metadata,
246
+ entity,
247
+ attributeTypeUri,
248
+ searchQuery: 'true'
249
+ })
250
+ ).toEqual({
251
+ attributes: {
252
+ Address: [values[1], values[3]],
253
+ paging: {
254
+ [attributeTypeUri]: {
255
+ totalOvValues: 2,
256
+ totalValues: 2
257
+ }
258
+ }
259
+ }
260
+ });
261
+
262
+ expect(
263
+ await getPagedLocalEntity({
264
+ metadata,
265
+ entity,
266
+ attributeTypeUri,
267
+ searchQuery: '37243'
268
+ })
269
+ ).toEqual({
270
+ attributes: {
271
+ Address: [values[1]],
272
+ paging: {
273
+ [attributeTypeUri]: {
274
+ totalOvValues: 1,
275
+ totalValues: 1
276
+ }
277
+ }
278
+ }
279
+ });
280
+
281
+ expect(
282
+ await getPagedLocalEntity({
283
+ metadata,
284
+ entity,
285
+ attributeTypeUri,
286
+ searchQuery: 'fdsfds'
287
+ })
288
+ ).toEqual({
289
+ attributes: {
290
+ Address: [],
291
+ paging: {
292
+ [attributeTypeUri]: {
293
+ totalOvValues: 0,
294
+ totalValues: 0
295
+ }
296
+ }
297
+ }
298
+ });
299
+
300
+ expect(
301
+ await getPagedLocalEntity({
302
+ metadata,
303
+ entity,
304
+ attributeTypeUri,
305
+ searchQuery: 'hello'
306
+ })
307
+ ).toEqual({
308
+ attributes: {
309
+ Address: [values[1]],
310
+ paging: {
311
+ [attributeTypeUri]: {
312
+ totalOvValues: 1,
313
+ totalValues: 1
314
+ }
315
+ }
316
+ }
317
+ });
318
+
319
+ expect(
320
+ await getPagedLocalEntity({
321
+ metadata,
322
+ entity,
323
+ attributeTypeUri,
324
+ searchQuery: 'good'
325
+ })
326
+ ).toEqual({
327
+ attributes: {
328
+ Address: [values[2]],
329
+ paging: {
330
+ [attributeTypeUri]: {
331
+ totalOvValues: 1,
332
+ totalValues: 1
333
+ }
334
+ }
335
+ }
336
+ });
337
+ });
338
+
339
+ it('should work correctly with offset param', async () => {
340
+ const attributeTypeUri = 'configuration/entityTypes/HCP/attributes/Address';
341
+ expect(
342
+ await getPagedLocalEntity({
343
+ metadata,
344
+ entity,
345
+ attributeTypeUri,
346
+ offset: 1
347
+ })
348
+ ).toEqual({
349
+ attributes: {
350
+ Address: [values[2], values[3]],
351
+ paging: {
352
+ [attributeTypeUri]: {
353
+ totalOvValues: 3,
354
+ totalValues: 3
355
+ }
356
+ }
357
+ }
358
+ });
359
+
360
+ expect(
361
+ await getPagedLocalEntity({
362
+ metadata,
363
+ entity,
364
+ attributeTypeUri,
365
+ offset: 2
366
+ })
367
+ ).toEqual({
368
+ attributes: {
369
+ Address: [values[3]],
370
+ paging: {
371
+ [attributeTypeUri]: {
372
+ totalOvValues: 3,
373
+ totalValues: 3
374
+ }
375
+ }
376
+ }
377
+ });
378
+
379
+ expect(
380
+ await getPagedLocalEntity({
381
+ metadata,
382
+ entity,
383
+ attributeTypeUri,
384
+ offset: 3
385
+ })
386
+ ).toEqual({
387
+ attributes: {
388
+ Address: [],
389
+ paging: {
390
+ [attributeTypeUri]: {
391
+ totalOvValues: 3,
392
+ totalValues: 3
393
+ }
394
+ }
395
+ }
396
+ });
397
+ });
398
+
399
+ it('should work correctly with defaultMaxValues param', async () => {
400
+ const attributeTypeUri = 'configuration/entityTypes/HCP/attributes/Address';
401
+ expect(
402
+ await getPagedLocalEntity({
403
+ metadata,
404
+ entity,
405
+ attributeTypeUri,
406
+ defaultMaxValues: 1
407
+ })
408
+ ).toEqual({
409
+ attributes: {
410
+ Address: [values[1]],
411
+ paging: {
412
+ [attributeTypeUri]: {
413
+ totalOvValues: 3,
414
+ totalValues: 3
415
+ }
416
+ }
417
+ }
418
+ });
419
+
420
+ expect(
421
+ await getPagedLocalEntity({
422
+ metadata,
423
+ entity,
424
+ attributeTypeUri,
425
+ defaultMaxValues: 2
426
+ })
427
+ ).toEqual({
428
+ attributes: {
429
+ Address: [values[1], values[2]],
430
+ paging: {
431
+ [attributeTypeUri]: {
432
+ totalOvValues: 3,
433
+ totalValues: 3
434
+ }
435
+ }
436
+ }
437
+ });
438
+ });
439
+
440
+ it('should work correctly with all params', async () => {
441
+ const attributeTypeUri = 'configuration/entityTypes/HCP/attributes/Address';
442
+ expect(
443
+ await getPagedLocalEntity({
444
+ metadata,
445
+ entity,
446
+ attributeTypeUri,
447
+ offset: 0,
448
+ defaultMaxValues: 2,
449
+ searchQuery: 'hello'
450
+ })
451
+ ).toEqual({
452
+ attributes: {
453
+ Address: [values[1]],
454
+ paging: {
455
+ [attributeTypeUri]: {
456
+ totalOvValues: 1,
457
+ totalValues: 1
458
+ }
459
+ }
460
+ }
461
+ });
462
+
463
+ expect(
464
+ await getPagedLocalEntity({
465
+ metadata,
466
+ entity,
467
+ attributeTypeUri,
468
+ offset: 0,
469
+ defaultMaxValues: 2,
470
+ searchQuery: 'hello'
471
+ })
472
+ ).toEqual({
473
+ attributes: {
474
+ Address: [values[1]],
475
+ paging: {
476
+ [attributeTypeUri]: {
477
+ totalOvValues: 1,
478
+ totalValues: 1
479
+ }
480
+ }
481
+ }
482
+ });
483
+
484
+ expect(
485
+ await getPagedLocalEntity({
486
+ metadata,
487
+ entity,
488
+ attributeTypeUri,
489
+ offset: 1,
490
+ defaultMaxValues: 10,
491
+ searchQuery: 'true'
492
+ })
493
+ ).toEqual({
494
+ attributes: {
495
+ Address: [values[3]],
496
+ paging: {
497
+ [attributeTypeUri]: {
498
+ totalOvValues: 2,
499
+ totalValues: 2
500
+ }
501
+ }
502
+ }
503
+ });
504
+
505
+ expect(
506
+ await getPagedLocalEntity({
507
+ metadata,
508
+ entity,
509
+ attributeTypeUri,
510
+ offset: 0,
511
+ defaultMaxValues: 1,
512
+ searchQuery: 'true'
513
+ })
514
+ ).toEqual({
515
+ attributes: {
516
+ Address: [values[1]],
517
+ paging: {
518
+ [attributeTypeUri]: {
519
+ totalOvValues: 2,
520
+ totalValues: 2
521
+ }
522
+ }
523
+ }
524
+ });
525
+ });
526
+
527
+ it('should work for simple attributes', async () => {
528
+ values = [
529
+ {
530
+ lookupCode: 'ACTI',
531
+ lookupRawValue: 'ACTI',
532
+ ov: true,
533
+ type: 'configuration/entityTypes/HCA/attributes/Name',
534
+ uri: 'entities/13JKIKAz/attributes/Name/2mlWuqDq5',
535
+ value: 'Active'
536
+ },
537
+ {
538
+ ov: false,
539
+ type: 'configuration/entityTypes/HCA/attributes/Name',
540
+ uri: 'entities/13JKIKAz/attributes/Name/1eoo71SIL',
541
+ value: 'Regression HCA entity 2'
542
+ }
543
+ ];
544
+
545
+ const attributeTypeUri = 'configuration/entityTypes/HCA/attributes/Name';
546
+ expect(
547
+ await getPagedLocalEntity({
548
+ metadata,
549
+ entity,
550
+ attributeTypeUri
551
+ })
552
+ ).toEqual({
553
+ attributes: {
554
+ Name: [values[0]],
555
+ paging: {
556
+ 'configuration/entityTypes/HCA/attributes/Name': {
557
+ totalOvValues: 1,
558
+ totalValues: 2
559
+ }
560
+ }
561
+ }
562
+ });
563
+ });
564
+ });
565
+
566
+ describe('areValuesEqual behaviour', () => {
567
+ it('should compare simple attributes', () => {
568
+ const value1 = {
569
+ type: 'configuration/relationTypes/HasAddress/attributes/Primary',
570
+ value: 'true',
571
+ uri: 'uri1'
572
+ };
573
+ const value2 = {
574
+ type: 'configuration/relationTypes/HasAddress/attributes/Primary',
575
+ value: 'true',
576
+ uri: 'uri1'
577
+ };
578
+ expect(areValuesEqual(value1, value2)).toBe(true);
579
+
580
+ value1.uri = 'uri2';
581
+ expect(areValuesEqual(value1, value2)).toBe(false);
582
+
583
+ value1.uri = 'uri1';
584
+ expect(areValuesEqual(value1, value2)).toBe(true);
585
+
586
+ value2.value = 'false';
587
+ expect(areValuesEqual(value1, value2)).toBe(false);
588
+ });
589
+
590
+ it('should compare complex attributes', () => {
591
+ const value1 = {
592
+ value: {
593
+ Zip: [
594
+ {
595
+ value: {
596
+ Zip5: [
597
+ {
598
+ type: 'configuration/entityTypes/Location/attributes/Zip/attributes/Zip5',
599
+ value: '37243',
600
+ uri: 'uri3'
601
+ }
602
+ ]
603
+ },
604
+ uri: 'uri2'
605
+ }
606
+ ]
607
+ },
608
+ uri: 'uri1',
609
+ ov: true
610
+ };
611
+ const value2 = {
612
+ value: {
613
+ Zip: [
614
+ {
615
+ value: {
616
+ Zip5: [
617
+ {
618
+ type: 'configuration/entityTypes/Location/attributes/Zip/attributes/Zip5',
619
+ value: '37243',
620
+ uri: 'uri3'
621
+ }
622
+ ]
623
+ },
624
+ uri: 'uri2'
625
+ }
626
+ ]
627
+ },
628
+ uri: 'uri1',
629
+ ov: true
630
+ };
631
+ expect(areValuesEqual(value1, value2)).toBe(true);
632
+
633
+ value2.uri = 'uri11';
634
+ expect(areValuesEqual(value1, value2)).toBe(false);
635
+
636
+ value2.uri = 'uri1';
637
+ expect(areValuesEqual(value1, value2)).toBe(true);
638
+
639
+ value2.value.Zip[0].value.Zip5[0].value = '33';
640
+ expect(areValuesEqual(value1, value2)).toBe(false);
641
+ });
642
+
643
+ it('should clean values from non ov values before comparing', () => {
644
+ const value1 = {
645
+ value: {
646
+ Zip: [
647
+ {
648
+ value: {
649
+ Zip5: [
650
+ {
651
+ type: 'configuration/entityTypes/Location/attributes/Zip/attributes/Zip5',
652
+ value: '37243',
653
+ uri: 'uri3',
654
+ ov: false
655
+ }
656
+ ]
657
+ },
658
+ uri: 'uri2'
659
+ }
660
+ ],
661
+ Name: [
662
+ {
663
+ type: 'configuration/entityTypes/Location/attributes/Name',
664
+ value: 'Name1',
665
+ uri: 'uri4'
666
+ }
667
+ ]
668
+ },
669
+ uri: 'uri1',
670
+ ov: true
671
+ };
672
+ const value2 = {
673
+ value: {
674
+ Name: [
675
+ {
676
+ type: 'configuration/entityTypes/Location/attributes/Name',
677
+ value: 'Name1',
678
+ uri: 'uri4'
679
+ }
680
+ ]
681
+ },
682
+ uri: 'uri1',
683
+ ov: true
684
+ };
685
+ expect(areValuesEqual(value1, value2)).toBe(true);
686
+ });
687
+ });
688
+ });