@truedat/dd 7.5.7 → 7.5.10

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 (551) hide show
  1. package/package.json +44 -75
  2. package/src/api/queries.js +0 -10
  3. package/src/api.js +0 -2
  4. package/src/components/AddStructureMember.js +3 -5
  5. package/src/components/BucketView.js +4 -3
  6. package/src/components/CatalogCustomViewCards.js +4 -4
  7. package/src/components/CatalogViewConfigForm.js +2 -2
  8. package/src/components/CatalogViewConfigs.js +2 -3
  9. package/src/components/CursorPagination.js +1 -2
  10. package/src/components/DictionaryRoutes.js +97 -85
  11. package/src/components/EditDomainForm.js +1 -2
  12. package/src/components/EditDomainPopup.js +1 -1
  13. package/src/components/FilteredNav.js +1 -1
  14. package/src/components/Grant.js +8 -9
  15. package/src/components/GrantApprovalRule.js +6 -6
  16. package/src/components/GrantApprovalRuleConditions.js +0 -1
  17. package/src/components/GrantApprovalRuleDeleteButton.js +0 -1
  18. package/src/components/GrantApprovalRuleEdit.js +1 -2
  19. package/src/components/GrantApprovalRuleForm.js +0 -6
  20. package/src/components/GrantApprovalRuleNew.js +0 -1
  21. package/src/components/GrantApprovalRules.js +1 -3
  22. package/src/components/GrantChangeRequest.js +5 -5
  23. package/src/components/GrantCrumbs.js +1 -2
  24. package/src/components/GrantDateFilter.js +0 -1
  25. package/src/components/GrantRemoval.js +0 -1
  26. package/src/components/GrantRemovalDirectButton.js +6 -6
  27. package/src/components/GrantRemovalWorkflow.js +4 -4
  28. package/src/components/GrantRemovalWorkflowDropdown.js +3 -4
  29. package/src/components/GrantRequest.js +7 -6
  30. package/src/components/GrantRequestApprovalForm.js +0 -1
  31. package/src/components/GrantRequestApprovalPopup.js +1 -1
  32. package/src/components/GrantRequestApprovalResults.js +1 -3
  33. package/src/components/GrantRequestBulkActions.js +4 -5
  34. package/src/components/GrantRequestBulkApprovalForm.js +0 -1
  35. package/src/components/GrantRequestBulkApprovalPopup.js +1 -1
  36. package/src/components/GrantRequestBulkRoleSelector.js +0 -1
  37. package/src/components/GrantRequestCancel.js +0 -1
  38. package/src/components/GrantRequestHeader.js +3 -4
  39. package/src/components/GrantRequestLoader.js +1 -1
  40. package/src/components/GrantRequestRow.js +3 -4
  41. package/src/components/GrantRequestSummary.js +1 -5
  42. package/src/components/GrantRequests.js +3 -4
  43. package/src/components/GrantRequestsLabelResults.js +0 -1
  44. package/src/components/GrantRequestsSearchResults.js +6 -8
  45. package/src/components/GrantRequestsTable.js +0 -1
  46. package/src/components/GrantRoutes.js +73 -110
  47. package/src/components/Grants.js +5 -5
  48. package/src/components/GrantsDownloadButton.js +0 -1
  49. package/src/components/GrantsLabelResults.js +0 -1
  50. package/src/components/GrantsSearch.js +0 -1
  51. package/src/components/GrantsTable.js +4 -7
  52. package/src/components/GraphLoader.js +3 -4
  53. package/src/components/GraphRedirector.js +4 -3
  54. package/src/components/Lineage.js +0 -1
  55. package/src/components/LineageContextMenu.js +1 -2
  56. package/src/components/LineageDefs.js +0 -2
  57. package/src/components/LineageDownloadButton.js +0 -1
  58. package/src/components/LineageEvents.js +0 -1
  59. package/src/components/LineageEventsTable.js +4 -4
  60. package/src/components/LineageForm.js +6 -26
  61. package/src/components/LineageGraph.js +38 -35
  62. package/src/components/LineageGroup.js +0 -1
  63. package/src/components/LineageLink.js +0 -1
  64. package/src/components/LineageResource.js +0 -1
  65. package/src/components/LineageRoutes.js +27 -18
  66. package/src/components/LineageSample.js +1 -1
  67. package/src/components/LinkLabelsSelector.js +0 -2
  68. package/src/components/MetadataFiltersInput.js +0 -1
  69. package/src/components/MetadataViewForm.js +0 -1
  70. package/src/components/MyGrantRequests.js +0 -1
  71. package/src/components/PendingStructureNoteRow.js +0 -1
  72. package/src/components/PendingStructureNotes.js +5 -5
  73. package/src/components/PendingStructureNotesLabelResults.js +0 -1
  74. package/src/components/PendingStructureNotesPagination.js +0 -1
  75. package/src/components/PendingStructureNotesTable.js +0 -1
  76. package/src/components/ProfileExecution.js +6 -7
  77. package/src/components/ProfileExecutionBreadcrumbs.js +4 -5
  78. package/src/components/ProfileExecutionLoader.js +3 -3
  79. package/src/components/ProfileGroup.js +19 -20
  80. package/src/components/ProfileGroupLoader.js +3 -3
  81. package/src/components/ProfileGroupMessage.js +1 -2
  82. package/src/components/ReferenceDataset.js +0 -1
  83. package/src/components/ReferenceDatasetActions.js +1 -2
  84. package/src/components/ReferenceDatasetBreadcrumbs.js +1 -2
  85. package/src/components/ReferenceDatasetCreate.js +0 -1
  86. package/src/components/ReferenceDatasetDetail.js +7 -13
  87. package/src/components/ReferenceDatasetFieldSelector.js +1 -1
  88. package/src/components/ReferenceDatasetForm.js +6 -7
  89. package/src/components/ReferenceDatasetHeader.js +0 -1
  90. package/src/components/ReferenceDatasetRoutes.js +7 -16
  91. package/src/components/ReferenceDatasetSelectorInputField.js +4 -1
  92. package/src/components/ReferenceDatasetTable.js +0 -1
  93. package/src/components/ReferenceDatasets.js +2 -2
  94. package/src/components/ReferenceDatasetsTable.js +2 -2
  95. package/src/components/StructureChildrenRelations.js +0 -1
  96. package/src/components/StructureConfidentialButton.js +2 -2
  97. package/src/components/StructureCrumbs.js +1 -2
  98. package/src/components/StructureDeleteButton.js +0 -1
  99. package/src/components/StructureEventRow.js +0 -1
  100. package/src/components/StructureEvents.js +0 -1
  101. package/src/components/StructureFieldRow.js +0 -1
  102. package/src/components/StructureFields.js +11 -10
  103. package/src/components/StructureFieldsDropdown.js +17 -18
  104. package/src/components/StructureGrantCart.js +5 -4
  105. package/src/components/StructureGrantCartCheckout.js +0 -1
  106. package/src/components/StructureGrantCartInformation.js +3 -3
  107. package/src/components/StructureGrantCartUserSelector.js +6 -8
  108. package/src/components/StructureGrantDropdown.js +5 -8
  109. package/src/components/StructureGrantListButton.js +0 -1
  110. package/src/components/StructureGrantRequestAddCart.js +2 -2
  111. package/src/components/StructureGrantRequestButton.js +0 -1
  112. package/src/components/StructureGrantSummaryButton.js +0 -1
  113. package/src/components/StructureGrants.js +3 -4
  114. package/src/components/StructureGraph.js +1 -1
  115. package/src/components/StructureImpact.js +4 -5
  116. package/src/components/StructureItem.js +14 -15
  117. package/src/components/StructureItemRoot.js +3 -4
  118. package/src/components/StructureItems.js +0 -1
  119. package/src/components/StructureLineage.js +0 -1
  120. package/src/components/StructureLoader.js +2 -2
  121. package/src/components/StructureMetadata.js +1 -1
  122. package/src/components/StructureNav.js +3 -6
  123. package/src/components/StructureNavClassified.js +3 -3
  124. package/src/components/StructureNoteActions.js +1 -2
  125. package/src/components/StructureNotes.js +4 -4
  126. package/src/components/StructureNotesEdit.js +5 -8
  127. package/src/components/StructureParentRelations.js +3 -4
  128. package/src/components/StructureProfileButton.js +4 -5
  129. package/src/components/StructureProperties.js +0 -1
  130. package/src/components/StructureRelationRow.js +2 -3
  131. package/src/components/StructureRelations.js +1 -2
  132. package/src/components/StructureRoles.js +2 -3
  133. package/src/components/StructureRow.js +0 -1
  134. package/src/components/StructureSearch.js +0 -1
  135. package/src/components/StructureSelector.js +2 -2
  136. package/src/components/StructureSelectorInputField.js +0 -1
  137. package/src/components/StructureSelectorInputFieldJoin.js +17 -22
  138. package/src/components/StructureStructureForm.js +38 -44
  139. package/src/components/StructureStructureLinks.js +9 -9
  140. package/src/components/StructureSummary.js +2 -3
  141. package/src/components/StructureTabPane.js +22 -34
  142. package/src/components/StructureTabPaneRoutes.js +89 -23
  143. package/src/components/StructureTabRoutes.js +56 -23
  144. package/src/components/StructureTabs.js +3 -7
  145. package/src/components/StructureTag.js +1 -1
  146. package/src/components/StructureTagForm.js +1 -1
  147. package/src/components/StructureTags.js +1 -2
  148. package/src/components/StructureType.js +0 -1
  149. package/src/components/StructureTypeForm.js +0 -1
  150. package/src/components/StructureTypeLoader.js +1 -1
  151. package/src/components/StructureTypes.js +0 -1
  152. package/src/components/StructureTypesCrumbs.js +1 -2
  153. package/src/components/StructureTypesRoutes.js +26 -52
  154. package/src/components/StructureTypesTable.js +1 -2
  155. package/src/components/StructureVersionListItem.js +1 -2
  156. package/src/components/StructureVersions.js +2 -3
  157. package/src/components/StructureView.js +1 -2
  158. package/src/components/StructuresBulkUpdate.js +71 -80
  159. package/src/components/StructuresDomainsUploadOption.js +0 -1
  160. package/src/components/StructuresDownloadOption.js +1 -1
  161. package/src/components/StructuresEditableDownloadOption.js +1 -1
  162. package/src/components/StructuresGrantRequestView.js +3 -3
  163. package/src/components/StructuresLabelResults.js +0 -1
  164. package/src/components/StructuresOptions.js +1 -1
  165. package/src/components/StructuresPagination.js +0 -1
  166. package/src/components/StructuresRoutes.js +63 -93
  167. package/src/components/StructuresSearch.js +0 -1
  168. package/src/components/StructuresSearchResults.js +0 -1
  169. package/src/components/StructuresTable.js +3 -7
  170. package/src/components/StructuresUpdateOption.js +8 -8
  171. package/src/components/StructuresUploadEvents.js +5 -4
  172. package/src/components/StructuresUploadEventsTable.js +2 -2
  173. package/src/components/StructuresUploadOption.js +0 -1
  174. package/src/components/StructuresView.js +2 -4
  175. package/src/components/SystemCards.js +2 -3
  176. package/src/components/SystemCreateOption.js +1 -2
  177. package/src/components/SystemCrumbs.js +2 -3
  178. package/src/components/SystemEditButton.js +2 -3
  179. package/src/components/SystemFilteredNav.js +2 -2
  180. package/src/components/SystemForm.js +4 -6
  181. package/src/components/SystemLoader.js +1 -1
  182. package/src/components/SystemStructures.js +21 -44
  183. package/src/components/SystemStructuresLoader.js +13 -27
  184. package/src/components/SystemView.js +14 -8
  185. package/src/components/SystemsRoutes.js +31 -50
  186. package/src/components/Tag.js +0 -1
  187. package/src/components/TagCards.js +1 -2
  188. package/src/components/TagCrumbs.js +1 -2
  189. package/src/components/TagForm.js +1 -1
  190. package/src/components/TagStructureButton.js +1 -1
  191. package/src/components/Tags.js +1 -2
  192. package/src/components/TagsRoutes.js +13 -20
  193. package/src/components/Task.js +7 -6
  194. package/src/components/Tasks.js +8 -8
  195. package/src/components/TasksRoutes.js +6 -16
  196. package/src/components/ValueConditionStructure.js +0 -1
  197. package/src/components/__tests__/AddStructureMember.spec.js +5 -5
  198. package/src/components/__tests__/BucketView.spec.js +8 -22
  199. package/src/components/__tests__/CatalogCustomViewCards.spec.js +4 -5
  200. package/src/components/__tests__/CatalogViewConfigForm.spec.js +24 -20
  201. package/src/components/__tests__/CatalogViewConfigs.spec.js +17 -15
  202. package/src/components/__tests__/DictionaryRoutes.spec.js +182 -8
  203. package/src/components/__tests__/EditDomainForm.spec.js +25 -33
  204. package/src/components/__tests__/EditDomainPopup.spec.js +9 -12
  205. package/src/components/__tests__/FilteredNav.spec.js +39 -43
  206. package/src/components/__tests__/Grant.spec.js +32 -35
  207. package/src/components/__tests__/GrantApprovalRule.spec.js +35 -48
  208. package/src/components/__tests__/GrantApprovalRuleConditions.spec.js +21 -20
  209. package/src/components/__tests__/GrantApprovalRuleDeleteButton.spec.js +24 -25
  210. package/src/components/__tests__/GrantApprovalRuleEdit.spec.js +6 -25
  211. package/src/components/__tests__/GrantApprovalRuleForm.spec.js +38 -44
  212. package/src/components/__tests__/GrantApprovalRuleNew.spec.js +4 -23
  213. package/src/components/__tests__/GrantApprovalRules.spec.js +0 -2
  214. package/src/components/__tests__/GrantCrumbs.spec.js +0 -1
  215. package/src/components/__tests__/GrantDateFilter.spec.js +11 -7
  216. package/src/components/__tests__/GrantRemoval.spec.js +13 -8
  217. package/src/components/__tests__/GrantRemovalDirectButton.spec.js +25 -11
  218. package/src/components/__tests__/GrantRemovalWorkflow.spec.js +36 -51
  219. package/src/components/__tests__/GrantRequest.spec.js +22 -52
  220. package/src/components/__tests__/GrantRequestApprovalForm.spec.js +30 -41
  221. package/src/components/__tests__/GrantRequestApprovalPopup.spec.js +20 -10
  222. package/src/components/__tests__/GrantRequestApprovalResults.spec.js +2 -3
  223. package/src/components/__tests__/GrantRequestBulkActions.spec.js +40 -33
  224. package/src/components/__tests__/GrantRequestBulkApprovalForm.spec.js +0 -1
  225. package/src/components/__tests__/GrantRequestBulkApprovalPopup.spec.js +0 -1
  226. package/src/components/__tests__/GrantRequestBulkRoleSelector.spec.js +0 -1
  227. package/src/components/__tests__/GrantRequestHeader.spec.js +1 -1
  228. package/src/components/__tests__/GrantRequestLoader.spec.js +2 -3
  229. package/src/components/__tests__/GrantRequestRow.spec.js +22 -23
  230. package/src/components/__tests__/GrantRequestSummary.spec.js +1 -1
  231. package/src/components/__tests__/GrantRequests.spec.js +0 -1
  232. package/src/components/__tests__/GrantRequestsLabelResults.spec.js +6 -7
  233. package/src/components/__tests__/GrantRequestsLoader.spec.js +0 -1
  234. package/src/components/__tests__/GrantRequestsSearchResults.spec.js +15 -34
  235. package/src/components/__tests__/GrantRequestsTable.spec.js +2 -3
  236. package/src/components/__tests__/GrantRoutes.spec.js +252 -9
  237. package/src/components/__tests__/GrantsDownloadButton.spec.js +15 -14
  238. package/src/components/__tests__/GrantsLabelResults.spec.js +11 -11
  239. package/src/components/__tests__/GrantsLoader.spec.js +28 -14
  240. package/src/components/__tests__/GrantsTable.spec.js +37 -64
  241. package/src/components/__tests__/ImplementationStructuresLoader.spec.js +0 -1
  242. package/src/components/__tests__/Lineage.spec.js +11 -5
  243. package/src/components/__tests__/LineageDefs.spec.js +10 -6
  244. package/src/components/__tests__/LineageDownloadButton.spec.js +23 -37
  245. package/src/components/__tests__/LineageEventsTable.spec.js +0 -1
  246. package/src/components/__tests__/LineageForm.spec.js +48 -45
  247. package/src/components/__tests__/LineageGroup.spec.js +42 -15
  248. package/src/components/__tests__/LineageResource.spec.js +42 -15
  249. package/src/components/__tests__/LineageRoutes.spec.js +100 -7
  250. package/src/components/__tests__/MyGrantRequests.spec.js +15 -31
  251. package/src/components/__tests__/PendingStructureNoteRow.spec.js +4 -7
  252. package/src/components/__tests__/PendingStructureNotes.spec.js +9 -29
  253. package/src/components/__tests__/PendingStructureNotesLabelResults.spec.js +5 -5
  254. package/src/components/__tests__/PendingStructureNotesPagination.spec.js +0 -1
  255. package/src/components/__tests__/PendingStructureNotesTable.spec.js +4 -5
  256. package/src/components/__tests__/ProfileExecution.spec.js +60 -56
  257. package/src/components/__tests__/ProfileExecutionLoader.spec.js +26 -19
  258. package/src/components/__tests__/ProfileGroup.spec.js +27 -29
  259. package/src/components/__tests__/ProfileGroupLoader.spec.js +26 -19
  260. package/src/components/__tests__/ProfileGroupMessage.spec.js +9 -13
  261. package/src/components/__tests__/ReferenceDataset.spec.js +30 -32
  262. package/src/components/__tests__/ReferenceDatasetActions.spec.js +0 -1
  263. package/src/components/__tests__/ReferenceDatasetBreadcrumbs.spec.js +0 -1
  264. package/src/components/__tests__/ReferenceDatasetCreate.spec.js +0 -1
  265. package/src/components/__tests__/ReferenceDatasetDetail.spec.js +30 -22
  266. package/src/components/__tests__/ReferenceDatasetFieldSelector.spec.js +26 -16
  267. package/src/components/__tests__/ReferenceDatasetForm.spec.js +30 -25
  268. package/src/components/__tests__/ReferenceDatasetHeader.spec.js +0 -1
  269. package/src/components/__tests__/ReferenceDatasetRoutes.spec.js +44 -71
  270. package/src/components/__tests__/ReferenceDatasetTable.spec.js +0 -1
  271. package/src/components/__tests__/ReferenceDatasets.spec.js +1 -6
  272. package/src/components/__tests__/ReferenceDatasetsTable.spec.js +0 -5
  273. package/src/components/__tests__/StructureConfidentialButton.spec.js +0 -1
  274. package/src/components/__tests__/StructureCrumbs.spec.js +28 -22
  275. package/src/components/__tests__/StructureDeleteButton.spec.js +0 -1
  276. package/src/components/__tests__/StructureEvents.spec.js +5 -5
  277. package/src/components/__tests__/StructureFieldRow.spec.js +10 -11
  278. package/src/components/__tests__/StructureFields.spec.js +5 -6
  279. package/src/components/__tests__/StructureFieldsDropdown.spec.js +0 -1
  280. package/src/components/__tests__/StructureGrantCartInformation.spec.js +6 -18
  281. package/src/components/__tests__/StructureGrantCartUserSelector.spec.js +9 -9
  282. package/src/components/__tests__/StructureGrantDropdown.spec.js +41 -58
  283. package/src/components/__tests__/StructureGrantListButton.spec.js +0 -2
  284. package/src/components/__tests__/StructureGrantRequestButton.spec.js +0 -1
  285. package/src/components/__tests__/StructureGrantSummaryButton.spec.js +0 -2
  286. package/src/components/__tests__/StructureGrants.spec.js +0 -1
  287. package/src/components/__tests__/StructureItem.spec.js +49 -48
  288. package/src/components/__tests__/StructureItemRoot.spec.js +21 -16
  289. package/src/components/__tests__/StructureItems.spec.js +2 -3
  290. package/src/components/__tests__/StructureLoader.spec.js +2 -3
  291. package/src/components/__tests__/StructureMetadata.spec.js +0 -1
  292. package/src/components/__tests__/StructureNav.spec.js +3 -10
  293. package/src/components/__tests__/StructureNavClassified.spec.js +0 -1
  294. package/src/components/__tests__/StructureNoteActions.spec.js +13 -13
  295. package/src/components/__tests__/StructureNotes.spec.js +21 -19
  296. package/src/components/__tests__/StructureNotesEdit.spec.js +15 -33
  297. package/src/components/__tests__/StructureProfileButton.spec.js +13 -17
  298. package/src/components/__tests__/StructureProperties.spec.js +0 -1
  299. package/src/components/__tests__/StructureRelationRow.spec.js +36 -23
  300. package/src/components/__tests__/StructureRelations.spec.js +30 -17
  301. package/src/components/__tests__/StructureRoles.spec.js +8 -12
  302. package/src/components/__tests__/StructureRow.spec.js +51 -50
  303. package/src/components/__tests__/StructureSelector.spec.js +5 -31
  304. package/src/components/__tests__/StructureSelectorInputField.spec.js +37 -40
  305. package/src/components/__tests__/StructureSelectorInputFieldJoin.spec.js +45 -28
  306. package/src/components/__tests__/StructureStructureForm.spec.js +18 -37
  307. package/src/components/__tests__/StructureStructureLinks.spec.js +63 -35
  308. package/src/components/__tests__/StructureSummary.spec.js +86 -23
  309. package/src/components/__tests__/StructureTabPane.spec.js +168 -40
  310. package/src/components/__tests__/StructureTabRoutes.spec.js +172 -4
  311. package/src/components/__tests__/StructureTabs.spec.js +5 -22
  312. package/src/components/__tests__/StructureTag.spec.js +50 -22
  313. package/src/components/__tests__/StructureTagForm.spec.js +91 -51
  314. package/src/components/__tests__/StructureType.spec.js +0 -1
  315. package/src/components/__tests__/StructureTypeForm.spec.js +0 -1
  316. package/src/components/__tests__/StructureTypeLoader.spec.js +24 -20
  317. package/src/components/__tests__/StructureTypes.spec.js +1 -12
  318. package/src/components/__tests__/StructureTypesCrumbs.spec.js +5 -5
  319. package/src/components/__tests__/StructureTypesLoader.spec.js +21 -17
  320. package/src/components/__tests__/StructureTypesRoutes.spec.js +62 -0
  321. package/src/components/__tests__/StructureTypesTable.spec.js +3 -12
  322. package/src/components/__tests__/StructureVersionListItem.spec.js +2 -3
  323. package/src/components/__tests__/StructureVersions.spec.js +11 -11
  324. package/src/components/__tests__/StructureView.spec.js +2 -3
  325. package/src/components/__tests__/StructuresBulkUpdate.spec.js +56 -69
  326. package/src/components/__tests__/StructuresDownloadOption.spec.js +0 -1
  327. package/src/components/__tests__/StructuresEditableDownloadOption.spec.js +0 -1
  328. package/src/components/__tests__/StructuresGrantRequestView.spec.js +4 -6
  329. package/src/components/__tests__/StructuresLabelResults.spec.js +1 -2
  330. package/src/components/__tests__/StructuresLoader.spec.js +20 -14
  331. package/src/components/__tests__/StructuresOptions.spec.js +22 -20
  332. package/src/components/__tests__/StructuresRoutes.spec.js +86 -12
  333. package/src/components/__tests__/StructuresSearchResults.spec.js +11 -29
  334. package/src/components/__tests__/StructuresTable.spec.js +10 -11
  335. package/src/components/__tests__/StructuresUpdateOption.spec.js +4 -5
  336. package/src/components/__tests__/StructuresUploadEventsTable.spec.js +16 -13
  337. package/src/components/__tests__/StructuresUploadOption.spec.js +0 -1
  338. package/src/components/__tests__/StructuresView.spec.js +39 -44
  339. package/src/components/__tests__/SystemCards.spec.js +37 -85
  340. package/src/components/__tests__/SystemCreateOption.spec.js +0 -1
  341. package/src/components/__tests__/SystemCrumbs.spec.js +9 -8
  342. package/src/components/__tests__/SystemEditButton.spec.js +6 -6
  343. package/src/components/__tests__/SystemFilteredNav.spec.js +2 -3
  344. package/src/components/__tests__/SystemForm.spec.js +5 -10
  345. package/src/components/__tests__/SystemLoader.spec.js +22 -20
  346. package/src/components/__tests__/SystemStructures.spec.js +27 -8
  347. package/src/components/__tests__/SystemStructuresLoader.spec.js +27 -32
  348. package/src/components/__tests__/SystemView.spec.js +34 -5
  349. package/src/components/__tests__/SystemsRoutes.spec.js +53 -9
  350. package/src/components/__tests__/Tag.spec.js +0 -1
  351. package/src/components/__tests__/TagCards.spec.js +0 -1
  352. package/src/components/__tests__/TagCrumbs.spec.js +0 -1
  353. package/src/components/__tests__/TagForm.spec.js +42 -17
  354. package/src/components/__tests__/Tags.spec.js +0 -1
  355. package/src/components/__tests__/TagsRoutes.spec.js +69 -0
  356. package/src/components/__tests__/Task.spec.js +7 -9
  357. package/src/components/__tests__/Tasks.spec.js +44 -33
  358. package/src/components/__tests__/TasksRoutes.spec.js +32 -44
  359. package/src/components/__tests__/UserSearchFiltersLoader.spec.js +15 -16
  360. package/src/components/__tests__/ValueConditionStructure.spec.js +0 -1
  361. package/src/components/__tests__/__snapshots__/AddStructureMember.spec.js.snap +10 -9
  362. package/src/components/__tests__/__snapshots__/DictionaryRoutes.spec.js.snap +173 -61
  363. package/src/components/__tests__/__snapshots__/EditDomainForm.spec.js.snap +102 -5
  364. package/src/components/__tests__/__snapshots__/EditDomainPopup.spec.js.snap +1 -39
  365. package/src/components/__tests__/__snapshots__/Grant.spec.js.snap +91 -34
  366. package/src/components/__tests__/__snapshots__/GrantApprovalRule.spec.js.snap +20 -19
  367. package/src/components/__tests__/__snapshots__/GrantApprovalRuleDeleteButton.spec.js.snap +1 -1
  368. package/src/components/__tests__/__snapshots__/GrantApprovalRuleEdit.spec.js.snap +28 -27
  369. package/src/components/__tests__/__snapshots__/GrantApprovalRuleForm.spec.js.snap +268 -116
  370. package/src/components/__tests__/__snapshots__/GrantApprovalRuleNew.spec.js.snap +29 -28
  371. package/src/components/__tests__/__snapshots__/GrantApprovalRules.spec.js.snap +4 -0
  372. package/src/components/__tests__/__snapshots__/GrantCrumbs.spec.js.snap +4 -2
  373. package/src/components/__tests__/__snapshots__/GrantDateFilter.spec.js.snap +21 -11
  374. package/src/components/__tests__/__snapshots__/GrantRequest.spec.js.snap +154 -34
  375. package/src/components/__tests__/__snapshots__/GrantRequestApprovalForm.spec.js.snap +6 -6
  376. package/src/components/__tests__/__snapshots__/GrantRequestApprovalPopup.spec.js.snap +7 -33
  377. package/src/components/__tests__/__snapshots__/GrantRequestApprovalResults.spec.js.snap +2 -0
  378. package/src/components/__tests__/__snapshots__/GrantRequestRow.spec.js.snap +0 -2
  379. package/src/components/__tests__/__snapshots__/GrantRequestsSearchResults.spec.js.snap +9 -29
  380. package/src/components/__tests__/__snapshots__/GrantRequestsTable.spec.js.snap +1 -5
  381. package/src/components/__tests__/__snapshots__/GrantRoutes.spec.js.snap +142 -62
  382. package/src/components/__tests__/__snapshots__/GrantsDownloadButton.spec.js.snap +14 -25
  383. package/src/components/__tests__/__snapshots__/GrantsLabelResults.spec.js.snap +7 -12
  384. package/src/components/__tests__/__snapshots__/GrantsLoader.spec.js.snap +1 -25
  385. package/src/components/__tests__/__snapshots__/GrantsTable.spec.js.snap +168 -220
  386. package/src/components/__tests__/__snapshots__/Lineage.spec.js.snap +157 -20
  387. package/src/components/__tests__/__snapshots__/LineageDefs.spec.js.snap +32 -30
  388. package/src/components/__tests__/__snapshots__/LineageDownloadButton.spec.js.snap +11 -25
  389. package/src/components/__tests__/__snapshots__/LineageEventsTable.spec.js.snap +6 -6
  390. package/src/components/__tests__/__snapshots__/LineageForm.spec.js.snap +104 -10
  391. package/src/components/__tests__/__snapshots__/LineageGroup.spec.js.snap +49 -76
  392. package/src/components/__tests__/__snapshots__/LineageResource.spec.js.snap +49 -76
  393. package/src/components/__tests__/__snapshots__/LineageRoutes.spec.js.snap +50 -1
  394. package/src/components/__tests__/__snapshots__/MyGrantRequests.spec.js.snap +4 -11
  395. package/src/components/__tests__/__snapshots__/PendingStructureNoteRow.spec.js.snap +1 -0
  396. package/src/components/__tests__/__snapshots__/PendingStructureNotes.spec.js.snap +13 -23
  397. package/src/components/__tests__/__snapshots__/PendingStructureNotesLabelResults.spec.js.snap +1 -1
  398. package/src/components/__tests__/__snapshots__/PendingStructureNotesTable.spec.js.snap +2 -0
  399. package/src/components/__tests__/__snapshots__/ProfileExecution.spec.js.snap +258 -86
  400. package/src/components/__tests__/__snapshots__/ProfileExecutionLoader.spec.js.snap +1 -1
  401. package/src/components/__tests__/__snapshots__/ProfileGroup.spec.js.snap +117 -116
  402. package/src/components/__tests__/__snapshots__/ProfileGroupLoader.spec.js.snap +1 -1
  403. package/src/components/__tests__/__snapshots__/ProfileGroupMessage.spec.js.snap +36 -9
  404. package/src/components/__tests__/__snapshots__/ReferenceDataset.spec.js.snap +21 -18
  405. package/src/components/__tests__/__snapshots__/ReferenceDatasetActions.spec.js.snap +4 -4
  406. package/src/components/__tests__/__snapshots__/ReferenceDatasetBreadcrumbs.spec.js.snap +2 -1
  407. package/src/components/__tests__/__snapshots__/ReferenceDatasetCreate.spec.js.snap +11 -9
  408. package/src/components/__tests__/__snapshots__/ReferenceDatasetDetail.spec.js.snap +7 -232
  409. package/src/components/__tests__/__snapshots__/ReferenceDatasetForm.spec.js.snap +6 -5
  410. package/src/components/__tests__/__snapshots__/ReferenceDatasetHeader.spec.js.snap +5 -5
  411. package/src/components/__tests__/__snapshots__/ReferenceDatasetRoutes.spec.js.snap +9 -514
  412. package/src/components/__tests__/__snapshots__/ReferenceDatasets.spec.js.snap +12 -10
  413. package/src/components/__tests__/__snapshots__/ReferenceDatasetsTable.spec.js.snap +7 -6
  414. package/src/components/__tests__/__snapshots__/StructureCrumbs.spec.js.snap +205 -97
  415. package/src/components/__tests__/__snapshots__/StructureEvents.spec.js.snap +79 -43
  416. package/src/components/__tests__/__snapshots__/StructureFieldRow.spec.js.snap +5 -2
  417. package/src/components/__tests__/__snapshots__/StructureFields.spec.js.snap +4 -1
  418. package/src/components/__tests__/__snapshots__/StructureGrantCartInformation.spec.js.snap +34 -4
  419. package/src/components/__tests__/__snapshots__/StructureGrantCartUserSelector.spec.js.snap +7 -11
  420. package/src/components/__tests__/__snapshots__/StructureGrantDropdown.spec.js.snap +7 -7
  421. package/src/components/__tests__/__snapshots__/StructureGrantListButton.spec.js.snap +5 -5
  422. package/src/components/__tests__/__snapshots__/StructureGrants.spec.js.snap +4 -4
  423. package/src/components/__tests__/__snapshots__/StructureItem.spec.js.snap +5 -1
  424. package/src/components/__tests__/__snapshots__/StructureItemRoot.spec.js.snap +22 -17
  425. package/src/components/__tests__/__snapshots__/StructureItems.spec.js.snap +2 -0
  426. package/src/components/__tests__/__snapshots__/StructureNav.spec.js.snap +5 -4
  427. package/src/components/__tests__/__snapshots__/StructureNavClassified.spec.js.snap +2 -2
  428. package/src/components/__tests__/__snapshots__/StructureNoteActions.spec.js.snap +30 -20
  429. package/src/components/__tests__/__snapshots__/StructureNotes.spec.js.snap +24 -24
  430. package/src/components/__tests__/__snapshots__/StructureNotesEdit.spec.js.snap +8 -7
  431. package/src/components/__tests__/__snapshots__/StructureProfileButton.spec.js.snap +11 -28
  432. package/src/components/__tests__/__snapshots__/StructureProperties.spec.js.snap +3 -3
  433. package/src/components/__tests__/__snapshots__/StructureRelationRow.spec.js.snap +21 -21
  434. package/src/components/__tests__/__snapshots__/StructureRelations.spec.js.snap +35 -108
  435. package/src/components/__tests__/__snapshots__/StructureRow.spec.js.snap +26 -30
  436. package/src/components/__tests__/__snapshots__/StructureSelector.spec.js.snap +10 -10
  437. package/src/components/__tests__/__snapshots__/StructureSelectorInputField.spec.js.snap +12 -18
  438. package/src/components/__tests__/__snapshots__/StructureSelectorInputFieldJoin.spec.js.snap +978 -380
  439. package/src/components/__tests__/__snapshots__/StructureStructureLinks.spec.js.snap +16 -5
  440. package/src/components/__tests__/__snapshots__/StructureSummary.spec.js.snap +12 -18
  441. package/src/components/__tests__/__snapshots__/StructureTabPane.spec.js.snap +129 -69
  442. package/src/components/__tests__/__snapshots__/StructureTabRoutes.spec.js.snap +42 -80
  443. package/src/components/__tests__/__snapshots__/StructureTabs.spec.js.snap +20 -10
  444. package/src/components/__tests__/__snapshots__/StructureTagForm.spec.js.snap +13 -15
  445. package/src/components/__tests__/__snapshots__/StructureType.spec.js.snap +1 -0
  446. package/src/components/__tests__/__snapshots__/StructureTypeForm.spec.js.snap +1 -0
  447. package/src/components/__tests__/__snapshots__/StructureTypeLoader.spec.js.snap +1 -1
  448. package/src/components/__tests__/__snapshots__/StructureTypes.spec.js.snap +7 -6
  449. package/src/components/__tests__/__snapshots__/StructureTypesCrumbs.spec.js.snap +12 -23
  450. package/src/components/__tests__/__snapshots__/StructureTypesLoader.spec.js.snap +1 -1
  451. package/src/components/__tests__/__snapshots__/StructureTypesRoutes.spec.js.snap +13 -0
  452. package/src/components/__tests__/__snapshots__/StructureTypesTable.spec.js.snap +6 -4
  453. package/src/components/__tests__/__snapshots__/StructureVersionListItem.spec.js.snap +3 -7
  454. package/src/components/__tests__/__snapshots__/StructureVersions.spec.js.snap +57 -16
  455. package/src/components/__tests__/__snapshots__/StructuresBulkUpdate.spec.js.snap +20 -18
  456. package/src/components/__tests__/__snapshots__/StructuresGrantRequestView.spec.js.snap +3 -0
  457. package/src/components/__tests__/__snapshots__/StructuresLabelResults.spec.js.snap +1 -1
  458. package/src/components/__tests__/__snapshots__/StructuresLoader.spec.js.snap +1 -25
  459. package/src/components/__tests__/__snapshots__/StructuresOptions.spec.js.snap +6 -6
  460. package/src/components/__tests__/__snapshots__/StructuresRoutes.spec.js.snap +64 -11
  461. package/src/components/__tests__/__snapshots__/StructuresSearchResults.spec.js.snap +2 -2
  462. package/src/components/__tests__/__snapshots__/StructuresUploadEventsTable.spec.js.snap +14 -14
  463. package/src/components/__tests__/__snapshots__/SystemCards.spec.js.snap +5 -21
  464. package/src/components/__tests__/__snapshots__/SystemCreateOption.spec.js.snap +1 -0
  465. package/src/components/__tests__/__snapshots__/SystemCrumbs.spec.js.snap +34 -13
  466. package/src/components/__tests__/__snapshots__/SystemEditButton.spec.js.snap +1 -1
  467. package/src/components/__tests__/__snapshots__/SystemFilteredNav.spec.js.snap +4 -2
  468. package/src/components/__tests__/__snapshots__/SystemForm.spec.js.snap +79 -64
  469. package/src/components/__tests__/__snapshots__/SystemLoader.spec.js.snap +1 -1
  470. package/src/components/__tests__/__snapshots__/SystemStructures.spec.js.snap +36 -20
  471. package/src/components/__tests__/__snapshots__/SystemView.spec.js.snap +33 -5
  472. package/src/components/__tests__/__snapshots__/SystemsRoutes.spec.js.snap +9 -19
  473. package/src/components/__tests__/__snapshots__/Tag.spec.js.snap +14 -10
  474. package/src/components/__tests__/__snapshots__/TagCards.spec.js.snap +2 -0
  475. package/src/components/__tests__/__snapshots__/TagCrumbs.spec.js.snap +6 -4
  476. package/src/components/__tests__/__snapshots__/TagForm.spec.js.snap +67 -7
  477. package/src/components/__tests__/__snapshots__/Tags.spec.js.snap +4 -3
  478. package/src/components/__tests__/__snapshots__/TagsRoutes.spec.js.snap +17 -0
  479. package/src/components/__tests__/__snapshots__/Task.spec.js.snap +14 -25
  480. package/src/components/__tests__/__snapshots__/Tasks.spec.js.snap +22 -46
  481. package/src/components/__tests__/__snapshots__/TasksRoutes.spec.js.snap +15 -436
  482. package/src/components/__tests__/__snapshots__/UserSearchFiltersLoader.spec.js.snap +1 -1
  483. package/src/components/index.js +0 -2
  484. package/src/hooks/useBucketStructures.js +3 -3
  485. package/src/hooks/useGrant.js +6 -3
  486. package/src/hooks/useStructures.js +1 -1
  487. package/src/reducers/__tests__/graphRedirect.spec.js +1 -1
  488. package/src/reducers/__tests__/systemId.spec.js +2 -1
  489. package/src/reducers/bucketFilter.js +2 -1
  490. package/src/reducers/index.js +0 -4
  491. package/src/reducers/navFilter.js +2 -1
  492. package/src/reducers/systemId.js +2 -1
  493. package/src/routines.js +0 -3
  494. package/src/sagas/__tests__/createGrantRequestApproval.spec.js +2 -2
  495. package/src/sagas/__tests__/createGrantRequestStatus.spec.js +3 -3
  496. package/src/sagas/__tests__/deleteStructureStructureLink.spec.js +3 -3
  497. package/src/sagas/__tests__/deleteUserSearchFilter.spec.js +2 -2
  498. package/src/sagas/__tests__/fetchGrantRequest.spec.js +2 -2
  499. package/src/sagas/__tests__/fetchNodes.spec.js +2 -2
  500. package/src/sagas/__tests__/fetchProfileExecution.spec.js +3 -3
  501. package/src/sagas/__tests__/fetchProfileGroup.spec.js +3 -3
  502. package/src/sagas/__tests__/fetchStructureNotes.spec.js +3 -3
  503. package/src/sagas/__tests__/fetchStructureType.spec.js +4 -4
  504. package/src/sagas/__tests__/fetchSystem.spec.js +1 -1
  505. package/src/sagas/__tests__/fetchSystemStructures.spec.js +3 -3
  506. package/src/sagas/__tests__/updateStructure.spec.js +1 -1
  507. package/src/sagas/__tests__/updateStructureType.spec.js +1 -1
  508. package/src/sagas/createGrantRequestApproval.js +3 -1
  509. package/src/sagas/createGrantRequestStatus.js +3 -1
  510. package/src/sagas/createSystem.js +1 -1
  511. package/src/sagas/deleteStructure.js +1 -1
  512. package/src/sagas/downloadReferenceDataset.js +1 -1
  513. package/src/sagas/fetchNodes.js +1 -1
  514. package/src/sagas/fetchProfileExecution.js +1 -1
  515. package/src/sagas/fetchProfileGroup.js +1 -1
  516. package/src/sagas/fetchStructureType.js +1 -1
  517. package/src/sagas/fetchSystemStructures.js +1 -1
  518. package/src/sagas/index.js +0 -3
  519. package/src/sagas/requestGrantRemoval.js +1 -1
  520. package/src/sagas/updateStructureType.js +1 -1
  521. package/src/sagas/updateSystem.js +1 -1
  522. package/src/selectors/__tests__/__snapshots__/getGrantsColumns.spec.js.snap +4 -2
  523. package/src/selectors/__tests__/getGrantsColumns.spec.js +0 -5
  524. package/src/selectors/getBusinessConceptsLinksToStructuresColumnsSelector.js +1 -2
  525. package/src/selectors/getGrantRequestsColumns.js +3 -3
  526. package/src/selectors/getGrantRequestsSearchColumns.js +3 -4
  527. package/src/selectors/getGrantsColumns.js +3 -4
  528. package/src/selectors/getLineageEventColumns.js +0 -1
  529. package/src/selectors/getLineageLevels.js +2 -2
  530. package/src/selectors/getLinkedImplementationsToStructuresColumns.js +0 -1
  531. package/src/selectors/getStructureDeletedAt.js +1 -1
  532. package/src/selectors/getStructureFieldColumns.js +1 -2
  533. package/src/selectors/getStructureFieldOptionValue.js +2 -2
  534. package/src/selectors/getStructureLinks.js +1 -1
  535. package/src/selectors/getStructureParent.js +2 -2
  536. package/src/selectors/getStructureProperties.js +0 -1
  537. package/src/selectors/getStructureRelations.js +1 -2
  538. package/src/selectors/getStructuresUploadEventColumns.js +0 -1
  539. package/src/selectors/structureColumnsSelector.js +7 -7
  540. package/src/selectors/structureNotesColumnsSelector.js +1 -2
  541. package/src/selectors/utils/decorators.js +21 -33
  542. package/src/components/SystemsLoader.js +0 -27
  543. package/src/components/__tests__/SystemsLoader.spec.js +0 -34
  544. package/src/components/__tests__/__snapshots__/SystemStructuresLoader.spec.js.snap +0 -3
  545. package/src/components/__tests__/__snapshots__/SystemsLoader.spec.js.snap +0 -3
  546. package/src/reducers/__tests__/systems.spec.js +0 -32
  547. package/src/reducers/__tests__/systemsLoading.spec.js +0 -22
  548. package/src/reducers/systems.js +0 -19
  549. package/src/reducers/systemsLoading.js +0 -14
  550. package/src/sagas/__tests__/fetchSystems.spec.js +0 -69
  551. package/src/sagas/fetchSystems.js +0 -25
@@ -1,24 +1,28 @@
1
- import React from "react";
2
- import { shallow, mount } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { StructureTypesLoader } from "../StructureTypesLoader";
4
3
 
5
4
  describe("<StructureTypesLoader />", () => {
6
- it("matches the latest snapshot", () => {
7
- const fetchStructureTypes = jest.fn();
8
- const props = { fetchStructureTypes };
9
- const wrapper = shallow(<StructureTypesLoader {...props} />);
10
- expect(wrapper).toMatchSnapshot();
5
+ it("matches the latest snapshot", async () => {
6
+ const props = {
7
+ fetchStructureTypes: jest.fn(),
8
+ clearStructureTypes: jest.fn(),
9
+ };
10
+ const rendered = render(<StructureTypesLoader {...props} />);
11
+ await waitForLoad(rendered);
12
+ expect(rendered.container).toMatchSnapshot();
11
13
  });
12
14
 
13
- it("calls fetchStructureTypes when component mounts, clearStructureTypes when component unmounts", () => {
14
- const fetchStructureTypes = jest.fn();
15
- const clearStructureTypes = jest.fn();
16
- const props = { fetchStructureTypes, clearStructureTypes };
17
- const wrapper = mount(<StructureTypesLoader {...props} />);
18
- expect(clearStructureTypes.mock.calls.length).toBe(0);
19
- expect(fetchStructureTypes.mock.calls.length).toBe(1);
20
- wrapper.unmount();
21
- expect(clearStructureTypes.mock.calls.length).toBe(1);
22
- expect(fetchStructureTypes.mock.calls.length).toBe(1);
15
+ it("calls fetchStructureTypes when component mounts, clearStructureTypes when component unmounts", async () => {
16
+ const props = {
17
+ fetchStructureTypes: jest.fn(),
18
+ clearStructureTypes: jest.fn(),
19
+ };
20
+ const rendered = render(<StructureTypesLoader {...props} />);
21
+ await waitForLoad(rendered);
22
+ expect(props.clearStructureTypes).toHaveBeenCalledTimes(0);
23
+ expect(props.fetchStructureTypes).toHaveBeenCalledTimes(1);
24
+ rendered.unmount();
25
+ expect(props.clearStructureTypes).toHaveBeenCalledTimes(1);
26
+ expect(props.fetchStructureTypes).toHaveBeenCalledTimes(1);
23
27
  });
24
28
  });
@@ -0,0 +1,62 @@
1
+ import React from "react";
2
+ import { render, waitForLoad } from "@truedat/test/render";
3
+ import StructureTypesRoutes from "../StructureTypesRoutes";
4
+ import { useSelector } from "react-redux";
5
+
6
+ // Mock all components
7
+ jest.mock("../StructureTypes", () => () => <div>StructureTypes</div>);
8
+ jest.mock("../StructureType", () => () => <div>StructureType</div>);
9
+ jest.mock("../StructureTypesCrumbs", () => () => (
10
+ <div>StructureTypesCrumbs</div>
11
+ ));
12
+ jest.mock("../StructureTypeLoader", () => () => <div>StructureTypeLoader</div>);
13
+
14
+ jest.mock("react-redux", () => ({
15
+ ...jest.requireActual("react-redux"),
16
+ useSelector: jest.fn(),
17
+ }));
18
+
19
+ describe("<StructureTypesRoutes />", () => {
20
+ beforeEach(() => {
21
+ useSelector.mockImplementation((selector) =>
22
+ selector({
23
+ structureType: null,
24
+ structureTypeLoading: false,
25
+ })
26
+ );
27
+ });
28
+
29
+ it("renders correctly with default route", async () => {
30
+ const rendered = render(<StructureTypesRoutes />);
31
+ await waitForLoad(rendered);
32
+ expect(rendered.container).toMatchSnapshot();
33
+ });
34
+
35
+ it("renders correctly with edit route when loading", async () => {
36
+ useSelector.mockImplementation((selector) =>
37
+ selector({
38
+ structureType: null,
39
+ structureTypeLoading: true,
40
+ })
41
+ );
42
+ const rendered = render(<StructureTypesRoutes />, {
43
+ routes: ["/structure_types/123/edit"],
44
+ });
45
+ await waitForLoad(rendered);
46
+ expect(rendered.container).toMatchSnapshot();
47
+ });
48
+
49
+ it("renders correctly with edit route with data", async () => {
50
+ useSelector.mockImplementation((selector) =>
51
+ selector({
52
+ structureType: { id: "123" },
53
+ structureTypeLoading: false,
54
+ })
55
+ );
56
+ const rendered = render(<StructureTypesRoutes />, {
57
+ routes: ["/structure_types/123/edit"],
58
+ });
59
+ await waitForLoad(rendered);
60
+ expect(rendered.container).toMatchSnapshot();
61
+ });
62
+ });
@@ -1,23 +1,14 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import StructureTypesTable from "../StructureTypesTable";
4
3
 
5
4
  const renderOpts = {
6
- messages: {
7
- en: {
8
- "structureType.metadataFields": "metadataFields",
9
- "structureType.metadataViews": "metadataViews",
10
- "structureType.template": "template",
11
- "structureType.translation": "translation",
12
- },
13
- },
14
5
  state: {
15
6
  structureTypes: [
16
- { id: 1, name: "doc", template_id: 1, translation: "docu" },
7
+ { id: "1", name: "doc", template_id: 1, translation: "docu" },
17
8
  {
18
- id: 2,
9
+ id: "2",
19
10
  name: "col",
20
- template_id: 2,
11
+ template_id: "2",
21
12
  translation: null,
22
13
  metadata_fields: ["foo"],
23
14
  },
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import StructureVersionListItem from "../StructureVersionListItem";
4
3
 
@@ -6,8 +5,8 @@ describe("<StructureVersionListItem />", () => {
6
5
  it("matches the latest snapshot", () => {
7
6
  const push = jest.fn();
8
7
  const history = { push };
9
- const version = 42;
10
- const id = 123;
8
+ const version = "42";
9
+ const id = "123";
11
10
  const inserted_at = "2018-01-01T01:01:01.123456Z";
12
11
  const props = { id, version, inserted_at, history };
13
12
 
@@ -1,23 +1,23 @@
1
- import React from "react";
2
- import { shallow } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { StructureVersions } from "../StructureVersions";
4
3
 
5
4
  describe("<StructureVersions />", () => {
6
- it("matches the latest snapshot", () => {
5
+ it("matches the latest snapshot", async () => {
7
6
  const versions = [
8
7
  {
9
- version: 0,
10
- inserted_at: "2018-01-01T01:01:01.123456Z"
8
+ version: "0",
9
+ inserted_at: "2018-01-01T01:01:01.123456Z",
11
10
  },
12
11
  {
13
- version: 1,
14
- inserted_at: "2018-02-01T01:01:01.123456Z"
15
- }
12
+ version: "1",
13
+ inserted_at: "2018-02-01T01:01:01.123456Z",
14
+ },
16
15
  ];
17
- const id = 1;
16
+ const id = "1";
18
17
  const props = { id, versions };
19
18
 
20
- const wrapper = shallow(<StructureVersions {...props} />);
21
- expect(wrapper).toMatchSnapshot();
19
+ const rendered = render(<StructureVersions {...props} />);
20
+ await waitForLoad(rendered);
21
+ expect(rendered.container).toMatchSnapshot();
22
22
  });
23
23
  });
@@ -1,10 +1,9 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import { waitFor } from "@testing-library/react";
4
3
  import StructureView from "../StructureView";
5
4
 
6
- jest.mock("react-router-dom", () => ({
7
- ...jest.requireActual("react-router-dom"),
5
+ jest.mock("react-router", () => ({
6
+ ...jest.requireActual("react-router"),
8
7
  useParams: () => ({ id: 1 }),
9
8
  }));
10
9
 
@@ -1,12 +1,9 @@
1
- import _ from "lodash/fp";
2
- import React from "react";
3
- import { waitFor } from "@testing-library/react";
4
1
  import userEvent from "@testing-library/user-event";
2
+ import { render, waitForLoad } from "@truedat/test/render";
5
3
  import {
6
4
  templateByNameMock,
7
5
  emptyTemplateByNameMock,
8
6
  } from "@truedat/test/mocks";
9
- import { render } from "@truedat/test/render";
10
7
  import StructuresBulkUpdate from "../StructuresBulkUpdate";
11
8
  import { bulkUpdateStructures } from "../../routines";
12
9
 
@@ -28,69 +25,62 @@ describe("<StructuresBulkUpdate />", () => {
28
25
  },
29
26
  structureTypes: [{ name: "structType", template: { name: "template1" } }],
30
27
  },
31
- fallback: "lazy",
32
28
  };
33
29
 
34
30
  it("matches the latest snapshot", async () => {
35
- const { container, queryByText } = render(
36
- <StructuresBulkUpdate />,
37
- renderOpts
38
- );
39
-
40
- await waitFor(() => {
41
- expect(queryByText(/lazy/i)).not.toBeInTheDocument();
42
- expect(container.querySelector(".loader")).not.toBeInTheDocument();
43
- });
44
- expect(container).toMatchSnapshot();
31
+ const rendered = render(<StructuresBulkUpdate />, renderOpts);
32
+ await waitForLoad(rendered);
33
+ expect(rendered.container).toMatchSnapshot();
45
34
  });
46
35
 
47
36
  it("renders empty when no filters are selected", async () => {
48
- const thisRenderOpts = _.update(
49
- "state.previousStructureQuery.allFilters",
50
- () => ({})
51
- )(renderOpts);
52
- const { container, queryByText, getByText } = render(
53
- <StructuresBulkUpdate />,
54
- thisRenderOpts
55
- );
56
- await waitFor(() => {
57
- expect(queryByText(/lazy/i)).not.toBeInTheDocument();
58
- expect(container.querySelector(".loader")).not.toBeInTheDocument();
59
- });
60
- const emptySearchText = getByText("Empty Search");
61
- expect(emptySearchText).toBeInTheDocument();
62
- expect(container).toMatchSnapshot();
37
+ const thisRenderOpts = {
38
+ ...renderOpts,
39
+ state: {
40
+ ...renderOpts.state,
41
+ previousStructureQuery: {
42
+ ...renderOpts.state.previousStructureQuery,
43
+ allFilters: {},
44
+ },
45
+ },
46
+ };
47
+ const rendered = render(<StructuresBulkUpdate />, thisRenderOpts);
48
+ await waitForLoad(rendered);
49
+ expect(
50
+ rendered.getByText(/bulkUpdateStructures.no.structures.header/i)
51
+ ).toBeInTheDocument();
52
+ expect(rendered.container).toMatchSnapshot();
63
53
  });
64
54
 
65
55
  it("Publish button is available with autoPublish action", async () => {
66
56
  const dispatch = jest.fn();
67
- const thisRenderOpts = _.update(
68
- "state.previousStructureQuery.actions",
69
- () => ({
70
- autoPublish: { method: "POST" },
71
- })
72
- )(renderOpts);
73
-
74
- const { container, findByText, queryByText, findByRole } = render(
75
- <StructuresBulkUpdate />,
76
- { ...thisRenderOpts, dispatch }
77
- );
78
-
79
- await waitFor(() => {
80
- expect(queryByText(/lazy/i)).not.toBeInTheDocument();
81
- expect(queryByText(/loading/i)).not.toBeInTheDocument();
82
- expect(container.querySelector(".loader")).not.toBeInTheDocument();
83
- });
84
-
85
- userEvent.type(await findByRole("textbox"), "bar");
57
+ const thisRenderOpts = {
58
+ ...renderOpts,
59
+ state: {
60
+ ...renderOpts.state,
61
+ previousStructureQuery: {
62
+ ...renderOpts.state.previousStructureQuery,
63
+ actions: {
64
+ autoPublish: { method: "POST" },
65
+ },
66
+ },
67
+ },
68
+ dispatch,
69
+ };
86
70
 
87
- userEvent.click(await findByText("Save"));
71
+ const rendered = render(<StructuresBulkUpdate />, thisRenderOpts);
72
+ await waitForLoad(rendered);
88
73
 
89
- expect(container).toMatchSnapshot();
74
+ const user = userEvent.setup({ delay: null });
75
+ await user.type(rendered.getByRole("textbox"), "bar");
76
+ await user.click(rendered.getByText(/save/i));
90
77
 
91
- expect(queryByText(/Update and publish/i)).toBeInTheDocument();
78
+ expect(rendered.container).toMatchSnapshot();
79
+ expect(
80
+ rendered.getByText(/bulk.confirmation.update.publish/i)
81
+ ).toBeInTheDocument();
92
82
 
93
- userEvent.click(await findByText(/Update and publish/i));
83
+ await user.click(rendered.getByText(/bulk.confirmation.update.publish/i));
94
84
 
95
85
  expect(dispatch).toHaveBeenLastCalledWith({
96
86
  ...bulkUpdateStructures(),
@@ -109,25 +99,22 @@ describe("<StructuresBulkUpdate />", () => {
109
99
 
110
100
  it("Publish button is not available without autoPublish action", async () => {
111
101
  const dispatch = jest.fn();
112
- const { container, findByText, queryByText, findByRole } = render(
113
- <StructuresBulkUpdate />,
114
- { ...renderOpts, dispatch }
115
- );
116
-
117
- await waitFor(() => expect(queryByText(/lazy/i)).not.toBeInTheDocument());
118
- await waitFor(() =>
119
- expect(queryByText(/loading/i)).not.toBeInTheDocument()
120
- );
121
-
122
- userEvent.type(await findByRole("textbox"), "bar");
123
-
124
- userEvent.click(await findByText("Save"));
102
+ const rendered = render(<StructuresBulkUpdate />, {
103
+ ...renderOpts,
104
+ dispatch,
105
+ });
106
+ await waitForLoad(rendered);
125
107
 
126
- expect(container).toMatchSnapshot();
108
+ const user = userEvent.setup({ delay: null });
109
+ await user.type(rendered.getByRole("textbox"), "bar");
110
+ await user.click(rendered.getByText(/save/i));
127
111
 
128
- expect(queryByText(/Update and publish/i)).not.toBeInTheDocument();
112
+ expect(rendered.container).toMatchSnapshot();
113
+ expect(
114
+ rendered.queryByText(/bulk.confirmation.update.publish/i)
115
+ ).not.toBeInTheDocument();
129
116
 
130
- userEvent.click(await findByText("Update"));
117
+ await user.click(rendered.getByText(/update/i));
131
118
 
132
119
  expect(dispatch).toHaveBeenLastCalledWith({
133
120
  ...bulkUpdateStructures(),
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import SearchContextWrapper from "@truedat/core/components/common/SearchContextWrapper";
4
3
  import { StructuresDownloadOption } from "../StructuresDownloadOption";
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import SearchContextWrapper from "@truedat/core/components/common/SearchContextWrapper";
4
3
  import { StructuresEditableDownloadOption } from "../StructuresEditableDownloadOption";
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import { waitFor } from "@testing-library/react";
4
3
  import { within } from "@testing-library/dom";
@@ -7,12 +6,12 @@ import { functionsMock } from "@truedat/test/mocks";
7
6
  import { StructuresGrantRequestView } from "../StructuresGrantRequestView";
8
7
  import en from "../../messages/en";
9
8
 
10
- const mockHistory = { push: jest.fn() };
9
+ const mockHistory = jest.fn();
11
10
 
12
- jest.mock("react-router-dom", () => ({
13
- ...jest.requireActual("react-router-dom"),
11
+ jest.mock("react-router", () => ({
12
+ ...jest.requireActual("react-router"),
14
13
  useLocation: () => ({ pathname: "/bar" }),
15
- useHistory: () => mockHistory,
14
+ useNavigate: () => mockHistory,
16
15
  }));
17
16
 
18
17
  jest.mock("@truedat/dd/hooks/useStructures", () => {
@@ -68,7 +67,6 @@ const renderOpts = {
68
67
  messages,
69
68
  mocks: [functionsMock],
70
69
  dispatch,
71
- fallback: "lazy",
72
70
  };
73
71
 
74
72
  describe("<StructuresGrantRequestView />", () => {
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import { SearchContextProvider } from "@truedat/core/search/SearchContext";
4
3
  import StructuresLabelResults from "../StructuresLabelResults";
@@ -39,7 +38,7 @@ describe("<StructuresLabelResults />", () => {
39
38
  <StructuresLabelResults />
40
39
  </SearchContextProvider>
41
40
  );
42
- await findByText(/22 structures found/);
41
+ await findByText(/structures.retrieved.results/);
43
42
  expect(container).toMatchSnapshot();
44
43
  });
45
44
  });
@@ -1,5 +1,4 @@
1
- import React from "react";
2
- import { mount } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { StructuresLoader } from "../StructuresLoader";
4
3
 
5
4
  const getProps = () => ({
@@ -10,32 +9,39 @@ const getProps = () => ({
10
9
  });
11
10
 
12
11
  describe("<StructuresLoader />", () => {
13
- it("matches the latest snapshot", () => {
12
+ it("matches the latest snapshot", async () => {
14
13
  const props = getProps();
15
- const wrapper = mount(<StructuresLoader {...props} />);
16
- expect(wrapper).toMatchSnapshot();
14
+ const rendered = render(<StructuresLoader {...props} />);
15
+ await waitForLoad(rendered);
16
+ expect(rendered.container).toMatchSnapshot();
17
17
  });
18
18
 
19
- it("calls fetchStructures when component mounts but not when it unmounts", () => {
19
+ it("calls fetchStructures when component mounts but not when it unmounts", async () => {
20
20
  const props = getProps();
21
- const wrapper = mount(<StructuresLoader {...props} />);
21
+ const rendered = render(<StructuresLoader {...props} />);
22
+ await waitForLoad(rendered);
22
23
  expect(props.fetchStructures).toHaveBeenCalledTimes(1);
23
- wrapper.unmount();
24
+ rendered.unmount();
24
25
  expect(props.fetchStructures).toHaveBeenCalledTimes(1);
25
26
  });
26
27
 
27
- it("calls clearStructures when component unmounts but not when it mounts", () => {
28
+ it("calls clearStructures when component unmounts but not when it mounts", async () => {
28
29
  const props = getProps();
29
- const wrapper = mount(<StructuresLoader {...props} />);
30
+ const rendered = render(<StructuresLoader {...props} />);
31
+ await waitForLoad(rendered);
30
32
  expect(props.clearStructures).toHaveBeenCalledTimes(0);
31
- wrapper.unmount();
33
+ rendered.unmount();
32
34
  expect(props.clearStructures).toHaveBeenCalledTimes(1);
33
35
  });
34
36
 
35
- it("calls fetchStructures when payload is updated", () => {
37
+ it("calls fetchStructures when payload is updated", async () => {
36
38
  const props = getProps();
37
- const wrapper = mount(<StructuresLoader {...props} />);
38
- wrapper.setProps({ payload: { "system.name.raw": "XXX" } });
39
+ const rendered = render(<StructuresLoader {...props} />);
40
+ await waitForLoad(rendered);
41
+
42
+ rendered.rerender(
43
+ <StructuresLoader {...props} payload={{ "system.name.raw": "XXX" }} />
44
+ );
39
45
  expect(props.fetchStructures).toHaveBeenCalledTimes(2);
40
46
  });
41
47
  });
@@ -1,6 +1,5 @@
1
- import React from "react";
1
+ import { render, waitForLoad } from "@truedat/test/render";
2
2
  import { waitFor } from "@testing-library/react";
3
- import { render } from "@truedat/test/render";
4
3
  import { SearchContextProvider } from "@truedat/core/search/SearchContext";
5
4
  import StructuresOptions from "../StructuresOptions";
6
5
 
@@ -42,40 +41,43 @@ describe("<StructuresOptions />", () => {
42
41
  };
43
42
 
44
43
  it("matches the latest snapshot", async () => {
45
- const { container, findByText } = render(
46
- <SearchContextProvider {...searchProps}>
47
- <StructuresOptions {...props} />
48
- </SearchContextProvider>
44
+ const rendered = render(
45
+ <SearchContextProvider {...searchProps}><StructuresOptions {...props} /></SearchContextProvider>
49
46
  );
47
+ await waitForLoad(rendered);
50
48
 
51
- await findByText(/Download editable structures metadata/);
49
+ await waitFor(() =>
50
+ expect(
51
+ rendered.getByText(/structures.actions.editableDownload.tooltip/i)
52
+ ).toBeInTheDocument()
53
+ );
52
54
 
53
- await waitFor(() => expect(container).toMatchSnapshot());
55
+ expect(rendered.container).toMatchSnapshot();
54
56
  });
55
57
 
56
58
  it("Dont have permissions to upload notes", async () => {
57
- const newProps = {};
58
- const { queryByText } = render(
59
- <SearchContextProvider {...searchProps}>
60
- <StructuresOptions {...newProps} />
61
- </SearchContextProvider>
59
+ const rendered = render(
60
+ <SearchContextProvider {...searchProps}><StructuresOptions /></SearchContextProvider>
62
61
  );
62
+ await waitForLoad(rendered);
63
63
 
64
64
  await waitFor(() =>
65
- expect(queryByText("Upload structure notes")).not.toBeInTheDocument()
65
+ expect(
66
+ rendered.queryByText(/structures.actions.upload.tooltip/i)
67
+ ).not.toBeInTheDocument()
66
68
  );
67
69
  });
68
70
 
69
71
  it("Dont have permissions to upload domains", async () => {
70
- const newProps = {};
71
- const { queryByText } = render(
72
- <SearchContextProvider {...searchProps}>
73
- <StructuresOptions {...newProps} />
74
- </SearchContextProvider>
72
+ const rendered = render(
73
+ <SearchContextProvider {...searchProps}><StructuresOptions /></SearchContextProvider>
75
74
  );
75
+ await waitForLoad(rendered);
76
76
 
77
77
  await waitFor(() =>
78
- expect(queryByText("Update structure domains")).not.toBeInTheDocument()
78
+ expect(
79
+ rendered.queryByText(/structures.actions.uploadDomains.tooltip/i)
80
+ ).not.toBeInTheDocument()
79
81
  );
80
82
  });
81
83
  });
@@ -1,19 +1,93 @@
1
1
  import React from "react";
2
- import { shallow } from "enzyme";
3
- import { intl } from "@truedat/test/intl-stub";
4
- import { StructuresRoutes } from "../StructuresRoutes";
2
+ import { render, waitForLoad } from "@truedat/test/render";
3
+ import StructuresRoutes from "../StructuresRoutes";
4
+ import { useAuthorized } from "@truedat/core/hooks/useAuthorized";
5
+ import {
6
+ STRUCTURES,
7
+ STRUCTURE_MEMBERS_NEW,
8
+ STRUCTURES_BULK_UPDATE,
9
+ } from "@truedat/core/routes";
5
10
 
6
- // workaround for enzyme issue with React.useContext
7
- // see https://github.com/airbnb/enzyme/issues/2176#issuecomment-532361526
8
- jest.spyOn(React, "useContext").mockImplementation(() => intl);
9
-
10
- jest.mock("@truedat/core/hooks", () => ({
11
- useAuthorized: jest.fn(() => true)
11
+ jest.mock("@truedat/core/hooks/useAuthorized", () => ({
12
+ useAuthorized: jest.fn(() => true),
12
13
  }));
13
14
 
15
+ jest.mock("../AddStructureMember", () => () => <div>AddStructureMember</div>);
16
+ jest.mock("../StructureCrumbs", () => () => <div>StructureCrumbs</div>);
17
+ jest.mock("../StructureLoader", () => () => <div>StructureLoader</div>);
18
+ jest.mock("../StructureView", () => () => <div>StructureView</div>);
19
+ jest.mock("../StructuresBulkUpdate", () => () => (
20
+ <div>StructuresBulkUpdate</div>
21
+ ));
22
+ jest.mock("../StructuresView", () => () => <div>StructuresView</div>);
23
+ jest.mock("@truedat/dq/components/RuleImplementationsLoader", () => () => (
24
+ <div>RuleImplementationsLoader</div>
25
+ ));
26
+ jest.mock("@truedat/auth/roles/components/RolesLoader", () => () => (
27
+ <div>RolesLoader</div>
28
+ ));
29
+
14
30
  describe("<StructuresRoutes />", () => {
15
- it("matches the latest snapshot", () => {
16
- const wrapper = shallow(<StructuresRoutes />);
17
- expect(wrapper).toMatchSnapshot();
31
+ it("renders correctly with default route", async () => {
32
+ const rendered = render(<StructuresRoutes />);
33
+ await waitForLoad(rendered);
34
+ expect(rendered.container).toMatchSnapshot();
35
+ });
36
+
37
+ it("renders correctly with structures route", async () => {
38
+ const rendered = render(<StructuresRoutes />, {
39
+ routes: [STRUCTURES],
40
+ });
41
+ await waitForLoad(rendered);
42
+ expect(rendered.container).toMatchSnapshot();
43
+ });
44
+
45
+ it("renders correctly with structure members new route", async () => {
46
+ const rendered = render(<StructuresRoutes />, {
47
+ routes: [STRUCTURE_MEMBERS_NEW.replace(":id", "123")],
48
+ });
49
+ await waitForLoad(rendered);
50
+ expect(rendered.container).toMatchSnapshot();
51
+ });
52
+
53
+ it("renders correctly with structures bulk update route", async () => {
54
+ const rendered = render(<StructuresRoutes />, {
55
+ routes: [STRUCTURES_BULK_UPDATE],
56
+ });
57
+ await waitForLoad(rendered);
58
+ expect(rendered.container).toMatchSnapshot();
59
+ });
60
+
61
+ it("renders correctly with structure detail route", async () => {
62
+ const renderOpts = {
63
+ state: {
64
+ userPermissions: {
65
+ view_quality: true, // or false, depending on the test case
66
+ },
67
+ },
68
+ };
69
+ const rendered = render(<StructuresRoutes />, {
70
+ ...renderOpts,
71
+ routes: ["/structures/123"],
72
+ });
73
+ await waitForLoad(rendered);
74
+ expect(rendered.container).toMatchSnapshot();
75
+ });
76
+
77
+ it("renders unauthorized component when not authorized", async () => {
78
+ const renderOpts = {
79
+ state: {
80
+ userPermissions: {
81
+ view_quality: false, // or true, depending on the test case
82
+ },
83
+ },
84
+ };
85
+ useAuthorized.mockReturnValueOnce(false);
86
+ const rendered = render(<StructuresRoutes />, {
87
+ ...renderOpts,
88
+ routes: [STRUCTURES],
89
+ });
90
+ await waitForLoad(rendered);
91
+ expect(rendered.container).toMatchSnapshot();
18
92
  });
19
93
  });