@truedat/dd 7.5.9 → 7.5.11

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,14 +1,107 @@
1
- import React from "react";
2
- import { render } from "@truedat/test/render";
1
+ import { render, waitForLoad } from "@truedat/test/render";
2
+ import { useAuthorized } from "@truedat/core/hooks/useAuthorized";
3
+ import { GRAPHS, GRAPH, LINEAGE_EVENTS, SAMPLE } from "@truedat/core/routes";
3
4
  import { LineageRoutes } from "../LineageRoutes";
4
5
 
5
- jest.mock("@truedat/core/hooks", () => ({
6
- useAuthorized: jest.fn(() => true),
6
+ // Mock the hooks module to use the mock implementation
7
+ jest.mock("@truedat/core/hooks/useAuthorized");
8
+
9
+ // Mock components used in LineageRoutes
10
+ jest.mock(
11
+ "../LineageEvents",
12
+ () =>
13
+ function LineageEvents() {
14
+ return <div>LineageEvents</div>;
15
+ }
16
+ );
17
+ jest.mock(
18
+ "../LineageGraph",
19
+ () =>
20
+ function LineageGraph() {
21
+ return <div>LineageGraph</div>;
22
+ }
23
+ );
24
+ jest.mock(
25
+ "../LineageSample",
26
+ () =>
27
+ function LineageSample() {
28
+ return <div>LineageSample</div>;
29
+ }
30
+ );
31
+ jest.mock(
32
+ "../LineageForm",
33
+ () =>
34
+ function LineageForm() {
35
+ return <div>LineageForm</div>;
36
+ }
37
+ );
38
+ jest.mock(
39
+ "../GraphLoader",
40
+ () =>
41
+ function GraphLoader() {
42
+ return <div>GraphLoader</div>;
43
+ }
44
+ );
45
+ jest.mock(
46
+ "../GraphRedirector",
47
+ () =>
48
+ function GraphRedirector() {
49
+ return <div>GraphRedirector</div>;
50
+ }
51
+ );
52
+ jest.mock("@truedat/core/components", () => ({
53
+ Unauthorized: function Unauthorized() {
54
+ return <div>Unauthorized</div>;
55
+ },
56
+ ...jest.requireActual("@truedat/core/components"),
7
57
  }));
8
58
 
9
59
  describe("<LineageRoutes />", () => {
10
- it("matches the latest snapshot", () => {
11
- const { container } = render(<LineageRoutes />);
12
- expect(container).toMatchSnapshot();
60
+ it("renders correctly with default route", async () => {
61
+ const rendered = render(<LineageRoutes />);
62
+ await waitForLoad(rendered);
63
+ expect(rendered.container).toMatchSnapshot();
64
+ });
65
+
66
+ // Test each specific route in the component
67
+ it("renders correctly with GRAPHS route", async () => {
68
+ const rendered = render(<LineageRoutes />, {
69
+ routes: [GRAPHS],
70
+ });
71
+ await waitForLoad(rendered);
72
+ expect(rendered.container).toMatchSnapshot();
73
+ });
74
+
75
+ it("renders correctly with GRAPH route", async () => {
76
+ const rendered = render(<LineageRoutes />, {
77
+ routes: [GRAPH],
78
+ });
79
+ await waitForLoad(rendered);
80
+ expect(rendered.container).toMatchSnapshot();
81
+ });
82
+
83
+ it("renders correctly with LINEAGE_EVENTS route", async () => {
84
+ const rendered = render(<LineageRoutes />, {
85
+ routes: [LINEAGE_EVENTS],
86
+ });
87
+ await waitForLoad(rendered);
88
+ expect(rendered.container).toMatchSnapshot();
89
+ });
90
+
91
+ it("renders correctly with SAMPLE route", async () => {
92
+ const rendered = render(<LineageRoutes />, {
93
+ routes: [SAMPLE],
94
+ });
95
+ await waitForLoad(rendered);
96
+ expect(rendered.container).toMatchSnapshot();
97
+ });
98
+
99
+ it("renders unauthorized component when not authorized", async () => {
100
+ // For this test only, mock the return value as false
101
+ useAuthorized.mockReturnValueOnce(false);
102
+
103
+ const rendered = render(<LineageRoutes />);
104
+ await waitForLoad(rendered);
105
+ expect(rendered.container).toMatchSnapshot();
13
106
  });
14
107
  });
@@ -1,27 +1,9 @@
1
- import React from "react";
1
+ import userEvent from "@testing-library/user-event";
2
2
  import { waitFor } from "@testing-library/react";
3
3
  import { render } from "@truedat/test/render";
4
- import userEvent from "@testing-library/user-event";
5
4
  import { MyGrantRequests } from "../MyGrantRequests";
6
5
 
7
6
  describe("<MyGrantRequests />", () => {
8
- const renderOpts = {
9
- messages: {
10
- en: {
11
- "grantRequests.header.me": "my grant requests",
12
- "grantRequests.subheader.me": "grant requests demanded by me",
13
- "grantRequests.filters": "filters",
14
- "grantRequest.header.status": "status",
15
- "grantRequest.content.failed": "failed",
16
- "grantRequest.content.pending": "pending",
17
- "grantRequest.content.approved": "approved",
18
- "grantRequest.content.cancelled": "cancelled",
19
- "grantRequest.content.rejected": "rejected",
20
- "grantRequest.content.processing": "processing",
21
- "grantRequest.content.processed": "processed",
22
- },
23
- },
24
- };
25
7
  it("matches the latest snapshot", async () => {
26
8
  const grantRequests = [
27
9
  {
@@ -35,17 +17,14 @@ describe("<MyGrantRequests />", () => {
35
17
  const columns = [{ name: "data_structure" }, { name: "status" }];
36
18
  const setGrantRequestsQuery = jest.fn();
37
19
  const props = { columns, grantRequests, setGrantRequestsQuery };
38
- const { container, queryByText } = render(
39
- <MyGrantRequests {...props} />,
40
- renderOpts
41
- );
42
- expect(container).toMatchSnapshot();
20
+ const rendered = render(<MyGrantRequests {...props} />);
21
+ expect(rendered.container).toMatchSnapshot();
43
22
  await waitFor(() => {
44
- expect(queryByText(/foo/)).toBeTruthy();
23
+ expect(rendered.queryByText(/foo/i)).toBeInTheDocument();
45
24
  });
46
25
 
47
26
  await waitFor(() => {
48
- expect(queryByText(/pending/)).toBeTruthy();
27
+ expect(rendered.queryByText(/pending/i)).toBeInTheDocument();
49
28
  });
50
29
  });
51
30
 
@@ -62,20 +41,25 @@ describe("<MyGrantRequests />", () => {
62
41
  const columns = [{ name: "data_structure" }, { name: "status" }];
63
42
  const setGrantRequestsQuery = jest.fn();
64
43
  const props = { columns, grantRequests, setGrantRequestsQuery };
65
- const { findByText } = render(<MyGrantRequests {...props} />, renderOpts);
66
- userEvent.click(await findByText(/processing/));
44
+ const rendered = render(<MyGrantRequests {...props} />);
45
+ const user = userEvent.setup({ delay: null });
46
+
47
+ await user.click(await rendered.findByText(/processing/i));
67
48
  expect(setGrantRequestsQuery).toHaveBeenCalledWith({
68
49
  status: "pending,approved,rejected",
69
50
  });
70
- userEvent.click(await findByText(/processing/));
51
+
52
+ await user.click(await rendered.findByText(/processing/i));
71
53
  expect(setGrantRequestsQuery).toHaveBeenCalledWith({
72
54
  status: "pending,approved,rejected,processing",
73
55
  });
74
- userEvent.click(await findByText(/failed/));
56
+
57
+ await user.click(await rendered.findByText(/failed/i));
75
58
  expect(setGrantRequestsQuery).toHaveBeenCalledWith({
76
59
  status: "pending,approved,rejected,processing,failed",
77
60
  });
78
- userEvent.click(await findByText(/cancelled/));
61
+
62
+ await user.click(await rendered.findByText(/cancelled/i));
79
63
  expect(setGrantRequestsQuery).toHaveBeenCalledWith({
80
64
  status: "pending,approved,rejected,processing,failed,cancelled",
81
65
  });
@@ -1,16 +1,13 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import userEvent from "@testing-library/user-event";
4
3
  import { getStructureNotesColumnsSelector } from "../../selectors";
5
4
  import PendingStructureNoteRow from "../PendingStructureNoteRow";
6
5
 
7
- const mockHistory = {
8
- push: jest.fn(),
9
- };
6
+ const mockHistory = jest.fn();
10
7
 
11
- jest.mock("react-router-dom", () => ({
12
- ...jest.requireActual("react-router-dom"),
13
- useHistory: () => mockHistory,
8
+ jest.mock("react-router", () => ({
9
+ ...jest.requireActual("react-router"),
10
+ useNavigate: () => mockHistory,
14
11
  }));
15
12
 
16
13
  const columns = getStructureNotesColumnsSelector({});
@@ -1,8 +1,9 @@
1
- import React from "react";
2
1
  import { waitFor } from "@testing-library/react";
3
- import { render } from "@truedat/test/render";
2
+ import { render, waitForLoad } from "@truedat/test/render";
4
3
  import PendingStructureNotes from "../PendingStructureNotes";
5
4
 
5
+ jest.mock("@truedat/core/hooks/useUserFilters");
6
+
6
7
  const data = {
7
8
  data: [
8
9
  {
@@ -51,36 +52,15 @@ jest.mock("@truedat/dd/hooks/useStructures", () => {
51
52
  };
52
53
  });
53
54
 
54
- const messages = {
55
- en: {
56
- "pendingStructureNotes.props.domain": "Domain",
57
- "pendingStructureNotes.props.status": "Status",
58
- "pendingStructureNotes.props.name": "Name",
59
- "search.placeholder": "Search...",
60
- "pendingStructureNotes.props.path": "Path",
61
- "pendingStructureNotes.props.system": "System",
62
- "pendingStructureNotes.search.results.empty": "Empty",
63
- "structures.retrieved.results": "{count} structures found",
64
- "pendingStructureNotes.subheader": "Subheader",
65
- "pendingStructureNotes.header": "Header",
66
- "pendingStructureNotes.status.rejected": "Rejected",
67
- "pendingStructureNotes.status.draft": "Draft",
68
- },
69
- };
70
-
71
- const renderOpts = { messages };
72
-
73
55
  describe("<PendingStructureNotes />", () => {
74
56
  it("matches the latest snapshot", async () => {
75
- const { container, queryByText } = render(
76
- <PendingStructureNotes />,
77
- renderOpts
78
- );
57
+ const rendered = render(<PendingStructureNotes />);
58
+ await waitForLoad(rendered);
79
59
 
80
- await waitFor(() => {
81
- expect(queryByText(/foo system/)).toBeTruthy();
82
- });
60
+ await waitFor(() =>
61
+ expect(rendered.getByText(/foo system/i)).toBeInTheDocument()
62
+ );
83
63
 
84
- expect(container).toMatchSnapshot();
64
+ expect(rendered.container).toMatchSnapshot();
85
65
  });
86
66
  });
@@ -1,5 +1,4 @@
1
- import React from "react";
2
- import { render } from "@truedat/test/render";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { SearchContextProvider } from "@truedat/core/search/SearchContext";
4
3
  import PendingStructureNotesLabelResults from "../PendingStructureNotesLabelResults";
5
4
 
@@ -34,12 +33,13 @@ const searchProps = {
34
33
 
35
34
  describe("<PendingStructureNotesLabelResults />", () => {
36
35
  it("matches the latest snapshot", async () => {
37
- const { container, findByText } = render(
36
+ const rendered = render(
38
37
  <SearchContextProvider {...searchProps}>
39
38
  <PendingStructureNotesLabelResults />
40
39
  </SearchContextProvider>
41
40
  );
42
- await findByText(/22 structures found/);
43
- expect(container).toMatchSnapshot();
41
+ await waitForLoad(rendered);
42
+ await rendered.findByText(/structures.retrieved.results/i);
43
+ expect(rendered.container).toMatchSnapshot();
44
44
  });
45
45
  });
@@ -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 PendingStructureNotesPagination from "../PendingStructureNotesPagination";
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { waitFor } from "@testing-library/react";
3
2
  import { render } from "@truedat/test/render";
4
3
  import SearchContext from "@truedat/core/search/SearchContext";
@@ -59,9 +58,9 @@ describe("<PendingStructureNotesTable />", () => {
59
58
 
60
59
  it("matches the latest snapshot", async () => {
61
60
  const { container, queryByText } = render(
62
- <SearchContext.Provider value={searchProps}>
61
+ <SearchContext value={searchProps}>
63
62
  <PendingStructureNotesTable {...props} />
64
- </SearchContext.Provider>,
63
+ </SearchContext>,
65
64
  renderOpts
66
65
  );
67
66
  expect(container).toMatchSnapshot();
@@ -82,9 +81,9 @@ describe("<PendingStructureNotesTable />", () => {
82
81
  };
83
82
 
84
83
  const { container, queryByText } = render(
85
- <SearchContext.Provider value={newSearchProps}>
84
+ <SearchContext value={newSearchProps}>
86
85
  <PendingStructureNotesTable {...props} />
87
- </SearchContext.Provider>,
86
+ </SearchContext>,
88
87
  renderOpts
89
88
  );
90
89
  expect(container).toMatchSnapshot();
@@ -1,101 +1,105 @@
1
- import React from "react";
2
- import { shallow } from "enzyme";
3
- import { intl } from "@truedat/test/intl-stub";
4
- import { Event, EventFeed, ProfileExecution } from "../ProfileExecution";
5
-
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);
1
+ import { render, waitForLoad } from "@truedat/test/render";
2
+ import { ProfileExecution, EventFeed, Event } from "../ProfileExecution";
9
3
 
10
4
  const profile_events = [
11
- { type: "PENDING", message: "foo", inserted_at: "2019-09-20 17:01:00" },
12
- { type: "SUCCEEDED", message: "baz", inserted_at: "2019-09-20 17:08:00" },
13
- { type: "STARTED", message: "bar", inserted_at: "2019-09-20 17:06:00" }
5
+ { type: "PENDING", message: "msg1", inserted_at: "2019-09-20 17:01:00" },
6
+ { type: "SUCCEEDED", message: "msg2", inserted_at: "2019-09-20 17:08:00" },
7
+ { type: "STARTED", message: "msg3", inserted_at: "2019-09-20 17:06:00" },
14
8
  ];
15
9
 
16
10
  const _embedded = {
17
11
  data_structure: { id: 1, external_id: "foo" },
18
12
  profile: {
19
13
  value: { foo: "bar" },
20
- updated_at: "2019-09-20 10:55:00"
14
+ updated_at: "2019-09-20 10:55:00",
21
15
  },
22
16
  profile_events,
23
- latest: { name: "baz" }
17
+ latest: { name: "baz" },
24
18
  };
25
19
 
26
20
  const execution = {
27
21
  id: 2,
28
- _embedded
22
+ _embedded,
29
23
  };
30
24
 
31
25
  describe("<ProfileExecution />", () => {
32
- it("matches the latest snapshot", () => {
33
- const wrapper = shallow(<ProfileExecution profileExecution={execution} />);
34
- expect(wrapper).toMatchSnapshot();
26
+ it("matches the latest snapshot", async () => {
27
+ const rendered = render(<ProfileExecution profileExecution={execution} />);
28
+ await waitForLoad(rendered);
29
+ expect(rendered.container).toMatchSnapshot();
35
30
  });
36
31
 
37
- it("renders null if execution is not provided", () => {
38
- const wrapper = shallow(<ProfileExecution />);
39
- expect(wrapper.type()).toBeNull();
32
+ it("renders null if execution is not provided", async () => {
33
+ const rendered = render(<ProfileExecution />);
34
+ await waitForLoad(rendered);
35
+ expect(rendered.container.firstChild).toBeNull();
40
36
  });
41
37
 
42
- it("renders message when we don't have execution events", () => {
38
+ it("renders message when we don't have execution events", async () => {
43
39
  const embeddedProp = { ..._embedded, profile_events: [] };
44
40
  const executionProp = { ...execution, _embedded: embeddedProp };
45
- const wrapper = shallow(
41
+ const rendered = render(
46
42
  <ProfileExecution profileExecution={executionProp} />
47
43
  );
44
+ await waitForLoad(rendered);
45
+ expect(rendered.getByText(/execution.pending.header/i)).toBeInTheDocument();
48
46
  expect(
49
- wrapper.find({
50
- header: "execution.pending.header",
51
- content: "execution.pending.content"
52
- })
53
- ).toBeTruthy();
47
+ rendered.getByText(/execution.pending.content/i)
48
+ ).toBeInTheDocument();
54
49
  });
55
50
 
56
- it("renders event feed when we have profile events", () => {
57
- const wrapper = shallow(<ProfileExecution profileExecution={execution} />);
58
- expect(wrapper.find("EventFeed")).toBeTruthy();
59
- expect(wrapper.find("EventFeed").prop("events")).toEqual(
60
- _embedded.profile_events
61
- );
51
+ it("renders event feed when we have profile events", async () => {
52
+ const rendered = render(<ProfileExecution profileExecution={execution} />);
53
+ await waitForLoad(rendered);
54
+ expect(rendered.getByText("msg1")).toBeInTheDocument();
55
+ expect(rendered.getByText("msg2")).toBeInTheDocument();
56
+ expect(rendered.getByText("msg3")).toBeInTheDocument();
62
57
  });
63
58
  });
64
59
 
65
60
  describe("<EventFeed />", () => {
66
- it("matches the latest snapshot when we have pending executions", () => {
67
- const wrapper = shallow(<EventFeed events={profile_events} />);
68
- expect(wrapper).toMatchSnapshot();
61
+ it("matches the latest snapshot when we have pending executions", async () => {
62
+ const rendered = render(<EventFeed events={profile_events} />);
63
+ await waitForLoad(rendered);
64
+ expect(rendered.container).toMatchSnapshot();
69
65
  });
70
66
 
71
- it("renders null if not events", () => {
72
- const wrapper = shallow(<EventFeed />);
73
- expect(wrapper.type()).toBeNull();
67
+ it("renders null if not events", async () => {
68
+ const rendered = render(<EventFeed />);
69
+ await waitForLoad(rendered);
70
+ expect(rendered.container.firstChild).toBeNull();
74
71
  });
75
72
 
76
- it("renders events ordered by date", () => {
77
- const wrapper = shallow(<EventFeed events={profile_events} />);
78
- const e1 = wrapper.find("Event").get(0);
79
- const e2 = wrapper.find("Event").get(1);
80
- const e3 = wrapper.find("Event").get(2);
81
- expect(e1.props).toEqual(profile_events[0]);
82
- expect(e2.props).toEqual(profile_events[2]);
83
- expect(e3.props).toEqual(profile_events[1]);
73
+ it("renders events ordered by date", async () => {
74
+ const rendered = render(<EventFeed events={profile_events} />);
75
+ await waitForLoad(rendered);
76
+
77
+ const eventElements = rendered.container.querySelectorAll(".event");
78
+ expect(eventElements.length).toBe(3);
79
+
80
+ // Check for event content in the correct order
81
+ const eventTexts = Array.from(eventElements).map((el) => el.textContent);
82
+ expect(eventTexts[0]).toContain(profile_events[0].message);
83
+ expect(eventTexts[1]).toContain(profile_events[2].message);
84
+ expect(eventTexts[2]).toContain(profile_events[1].message);
84
85
  });
85
86
  });
86
87
 
87
88
  describe("<Event />", () => {
88
- it("matches the latest snapshot", () => {
89
- const wrapper = shallow(<Event {...profile_events[0]} />);
90
- expect(wrapper).toMatchSnapshot();
89
+ it("matches the latest snapshot", async () => {
90
+ const rendered = render(<Event {...profile_events[0]} />);
91
+ await waitForLoad(rendered);
92
+ expect(rendered.container).toMatchSnapshot();
91
93
  });
92
94
 
93
- it("renders default icon on unknown type", () => {
95
+ it("renders default icon on unknown type", async () => {
94
96
  const event = { ...profile_events[0], type: "FOO" };
95
- const wrapper = shallow(<Event {...event} />);
96
- expect(wrapper.find("FeedLabel").prop("icon")).toEqual({
97
- name: "info circle",
98
- color: "blue"
99
- });
97
+ const rendered = render(<Event {...event} />);
98
+ await waitForLoad(rendered);
99
+
100
+ // Check for the info circle icon
101
+ const iconElement = rendered.container.querySelector(".info.circle.icon");
102
+ expect(iconElement).toBeInTheDocument();
103
+ expect(iconElement.classList.contains("blue")).toBe(true);
100
104
  });
101
105
  });
@@ -1,36 +1,43 @@
1
- import React from "react";
2
- import { mount, shallow } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { ProfileExecutionLoader } from "../ProfileExecutionLoader";
4
3
 
5
- jest.mock("react-router-dom", () => ({
6
- ...jest.requireActual("react-router-dom"),
7
- useParams: () => ({ id: 1 })
4
+ jest.mock("react-router", () => ({
5
+ ...jest.requireActual("react-router"),
6
+ useParams: () => ({ id: 1 }),
8
7
  }));
9
8
 
10
9
  describe("<ProfileExecutionLoader />", () => {
11
- const clearProfileExecution = jest.fn();
12
- const fetchProfileExecution = jest.fn();
13
- const props = { clearProfileExecution, fetchProfileExecution };
14
-
15
- it("matches the latest snapshot", () => {
16
- const wrapper = shallow(<ProfileExecutionLoader />);
17
- expect(wrapper).toMatchSnapshot();
10
+ it("matches the latest snapshot", async () => {
11
+ const clearProfileExecution = jest.fn();
12
+ const fetchProfileExecution = jest.fn();
13
+ const props = { clearProfileExecution, fetchProfileExecution };
14
+ const rendered = render(<ProfileExecutionLoader {...props} />);
15
+ await waitForLoad(rendered);
16
+ expect(rendered.container).toMatchSnapshot();
18
17
  });
19
18
 
20
- it("calls fetchStructure when component mounts but not when it unmounts", () => {
21
- const wrapper = mount(<ProfileExecutionLoader {...props} />);
19
+ it("calls fetchStructure when component mounts but not when it unmounts", async () => {
20
+ const clearProfileExecution = jest.fn();
21
+ const fetchProfileExecution = jest.fn();
22
+ const props = { clearProfileExecution, fetchProfileExecution };
23
+ const rendered = render(<ProfileExecutionLoader {...props} />);
24
+ await waitForLoad(rendered);
22
25
  expect(fetchProfileExecution).toHaveBeenCalledTimes(1);
23
26
  expect(fetchProfileExecution).toHaveBeenCalledWith({ id: 1 });
24
27
 
25
- wrapper.unmount();
26
- expect(props.fetchProfileExecution).toHaveBeenCalledTimes(1);
28
+ rendered.unmount();
29
+ expect(fetchProfileExecution).toHaveBeenCalledTimes(1);
27
30
  });
28
31
 
29
- it("calls clearProfileExecution when component unmounts but not when it mounts", () => {
32
+ it("calls clearProfileExecution when component unmounts but not when it mounts", async () => {
33
+ const clearProfileExecution = jest.fn();
34
+ const fetchProfileExecution = jest.fn();
35
+ const props = { clearProfileExecution, fetchProfileExecution };
30
36
  clearProfileExecution.mockClear();
31
- const wrapper = mount(<ProfileExecutionLoader {...props} />);
37
+ const rendered = render(<ProfileExecutionLoader {...props} />);
38
+ await waitForLoad(rendered);
32
39
  expect(clearProfileExecution).toHaveBeenCalledTimes(0);
33
- wrapper.unmount();
40
+ rendered.unmount();
34
41
  expect(clearProfileExecution).toHaveBeenCalledTimes(1);
35
42
  });
36
43
  });
@@ -1,30 +1,27 @@
1
- import React from "react";
2
- import { shallow } from "enzyme";
3
- import { intl } from "@truedat/test/intl-stub";
1
+ import { render, waitForLoad } from "@truedat/test/render";
4
2
  import { columns, ExecutionRow, ProfileGroup } from "../ProfileGroup";
5
3
 
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
4
  const execution = {
11
- id: 2,
5
+ id: "2",
12
6
  _embedded: {
13
- data_structure: { id: 1, external_id: "foo" },
7
+ data_structure: { id: "1", external_id: "foo" },
14
8
  profile: {
15
9
  value: { foo: "bar" },
16
- updated_at: "2019-09-20 10:55:00"
10
+ updated_at: "2019-09-20 10:55:00",
17
11
  },
18
12
  profile_events: [{ type: "PENDING", message: "foo" }],
19
- latest: { name: "baz", ancestry: [{ data_structure_id: 2, name: "bar" }] }
20
- }
13
+ latest: {
14
+ name: "baz",
15
+ ancestry: [{ data_structure_id: "2", name: "bar" }],
16
+ },
17
+ },
21
18
  };
22
19
 
23
20
  const profileGroup = {
24
- id: 1,
21
+ id: "1",
25
22
  _embedded: {
26
- executions: [execution]
27
- }
23
+ executions: [execution],
24
+ },
28
25
  };
29
26
 
30
27
  const profileGroupLoading = false;
@@ -32,24 +29,24 @@ const profileGroupLoading = false;
32
29
  describe("<ProfileGroup />", () => {
33
30
  const props = { profileGroup, profileGroupLoading };
34
31
 
35
- it("matches the latest snapshot", () => {
36
- const wrapper = shallow(<ProfileGroup {...props} />);
37
- expect(wrapper).toMatchSnapshot();
32
+ it("matches the latest snapshot", async () => {
33
+ const rendered = render(<ProfileGroup {...props} />);
34
+ await waitForLoad(rendered);
35
+ expect(rendered.container).toMatchSnapshot();
38
36
  });
39
37
 
40
- it("renders null when profileGroupLoading is true", () => {
41
- const wrapper = shallow(
38
+ it("renders null when profileGroupLoading is true", async () => {
39
+ const rendered = render(
42
40
  <ProfileGroup {...{ ...props, profileGroupLoading: true }} />
43
41
  );
44
- expect(wrapper.type()).toBeNull();
42
+ await waitForLoad(rendered);
43
+ expect(rendered.container.firstChild).toBeNull();
45
44
  });
46
45
 
47
46
  it("renders as many table rows as executions", async () => {
48
- const wrapper = shallow(<ProfileGroup {...props} />);
49
- expect(wrapper.find("TableRow").length).toBe(
50
- profileGroup._embedded.executions.length
51
- );
52
- expect(wrapper.find("ExecutionRow").length).toBe(
47
+ const rendered = render(<ProfileGroup {...props} />);
48
+ await waitForLoad(rendered);
49
+ expect(rendered.getAllByRole("row").length - 1).toBe(
53
50
  profileGroup._embedded.executions.length
54
51
  );
55
52
  });
@@ -58,8 +55,9 @@ describe("<ProfileGroup />", () => {
58
55
  describe("<ExecutionRow />", () => {
59
56
  const props = { execution: { ...execution, profileGroup } };
60
57
 
61
- it("renders all columns when props match", () => {
62
- const wrapper = shallow(<ExecutionRow {...props} />);
63
- expect(wrapper.find("TableCell").length).toBe(columns.length);
58
+ it("renders all columns when props match", async () => {
59
+ const rendered = render(<ExecutionRow {...props} />);
60
+ await waitForLoad(rendered);
61
+ expect(rendered.getAllByRole("cell").length).toBe(columns.length);
64
62
  });
65
63
  });