@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,16 +1,11 @@
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 { SystemForm } from "../SystemForm";
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
  describe("<SystemForm />", () => {
11
- it("matches the latest snapshot", () => {
5
+ it("matches the latest snapshot", async () => {
12
6
  const props = { createSystem: jest.fn() };
13
- const wrapper = shallow(<SystemForm {...props} />);
14
- expect(wrapper).toMatchSnapshot();
7
+ const rendered = render(<SystemForm {...props} />);
8
+ await waitForLoad(rendered);
9
+ expect(rendered.container).toMatchSnapshot();
15
10
  });
16
11
  });
@@ -1,39 +1,41 @@
1
- import React from "react";
2
- import { shallow, mount } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { SystemLoader } from "../SystemLoader";
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("<SystemLoader />", () => {
11
- it("matches the latest snapshot", () => {
10
+ it("matches the latest snapshot", async () => {
12
11
  const fetchSystem = jest.fn();
13
12
  const systemLoading = true;
14
- const props = { fetchSystem, systemLoading };
15
- const wrapper = shallow(<SystemLoader {...props} />);
16
- expect(wrapper).toMatchSnapshot();
13
+ const props = { fetchSystem, systemLoading, clearSystem: jest.fn() };
14
+ const rendered = render(<SystemLoader {...props} />);
15
+ await waitForLoad(rendered);
16
+ expect(rendered.container).toMatchSnapshot();
17
17
  });
18
18
 
19
- it("renders null if systemLoading is false", () => {
19
+ it("renders null if systemLoading is false", async () => {
20
20
  const fetchSystem = jest.fn();
21
21
  const systemLoading = false;
22
- const props = { fetchSystem, systemLoading };
23
- const wrapper = shallow(<SystemLoader {...props} />);
24
- expect(wrapper.getElement()).toBeNull();
22
+ const props = { fetchSystem, systemLoading, clearSystem: jest.fn() };
23
+ const rendered = render(<SystemLoader {...props} />);
24
+ await waitForLoad(rendered);
25
+ expect(rendered.container.firstChild).toBeNull();
25
26
  });
26
27
 
27
- it("calls fetchSystem when component mounts, clearSystem when component unmounts", () => {
28
+ it("calls fetchSystem when component mounts, clearSystem when component unmounts", async () => {
28
29
  const fetchSystem = jest.fn();
29
30
  const clearSystem = jest.fn();
30
31
  const systemLoading = false;
31
32
  const props = { fetchSystem, systemLoading, clearSystem };
32
- const wrapper = mount(<SystemLoader {...props} />);
33
- expect(clearSystem.mock.calls.length).toBe(0);
34
- expect(fetchSystem.mock.calls.length).toBe(1);
35
- wrapper.unmount();
36
- expect(clearSystem.mock.calls.length).toBe(1);
37
- expect(fetchSystem.mock.calls.length).toBe(1);
33
+ const rendered = render(<SystemLoader {...props} />);
34
+ await waitForLoad(rendered);
35
+ expect(clearSystem).not.toHaveBeenCalled();
36
+ expect(fetchSystem).toHaveBeenCalledTimes(1);
37
+ rendered.unmount();
38
+ expect(clearSystem).toHaveBeenCalledTimes(1);
39
+ expect(fetchSystem).toHaveBeenCalledTimes(1);
38
40
  });
39
41
  });
@@ -1,15 +1,34 @@
1
- import React from "react";
2
- import { shallow } from "enzyme";
3
- import { SystemStructures } from "../SystemStructures";
1
+ import { render, waitForLoad } from "@truedat/test/render";
2
+ import SystemStructures from "../SystemStructures";
4
3
 
5
- jest.mock("react-router-dom", () => ({
6
- ...jest.requireActual("react-router-dom"),
4
+ jest.mock("react-router", () => ({
5
+ ...jest.requireActual("react-router"),
7
6
  useParams: () => ({ id: 1 }),
8
7
  }));
9
8
 
9
+ jest.mock("../FilteredNav", () => () => (
10
+ <div data-testid="filtered-nav">FilteredNav</div>
11
+ ));
12
+ jest.mock("../SystemCrumbs", () => () => (
13
+ <div data-testid="system-crumbs">SystemCrumbs</div>
14
+ ));
15
+ jest.mock("../SystemView", () => () => (
16
+ <div data-testid="system-view">SystemView</div>
17
+ ));
18
+
10
19
  describe("<SystemStructures />", () => {
11
- it("matches the latest snapshot", () => {
12
- const wrapper = shallow(<SystemStructures />);
13
- expect(wrapper).toMatchSnapshot();
20
+ it("matches the latest snapshot", async () => {
21
+ const saveNavFilter = jest.fn();
22
+ const props = {
23
+ navFilter: { filter: { system_id: 1 } },
24
+ saveNavFilter,
25
+ system: {},
26
+ systemStructuresLoading: false,
27
+ systemTemplate: {},
28
+ };
29
+
30
+ const rendered = render(<SystemStructures {...props} />);
31
+ await waitForLoad(rendered);
32
+ expect(rendered.container).toMatchSnapshot();
14
33
  });
15
34
  });
@@ -1,37 +1,32 @@
1
- import React from "react";
2
- import { shallow } from "enzyme";
3
- import { SystemStructuresLoader } from "../SystemStructuresLoader";
1
+ import { waitFor } from "@testing-library/react";
2
+ import { render, waitForLoad } from "@truedat/test/render";
3
+ import SystemStructuresLoader from "../SystemStructuresLoader";
4
+ import { clearSystemStructures, fetchSystemStructures } from "../../routines";
5
+
6
+ jest.mock("react-router", () => ({
7
+ ...jest.requireActual("react-router"),
8
+ useParams: () => ({ id: "1" }),
9
+ }));
4
10
 
5
11
  describe("<SystemStructuresLoader />", () => {
6
- it("matches the latest snapshot", () => {
7
- const fetchSystemStructures = jest.fn();
8
- const systemStructuresLoading = true;
9
- const match = { params: { id: 1 } };
10
- const props = { fetchSystemStructures, systemStructuresLoading, match };
11
- const wrapper = shallow(<SystemStructuresLoader {...props} />);
12
- expect(wrapper).toMatchSnapshot();
13
- });
12
+ it("calls fetchSystemStructures when component mounts, clearSystemStructures when component unmounts", async () => {
13
+ const dispatchMock = jest.fn();
14
+
15
+ const rendered = render(<SystemStructuresLoader />, {
16
+ dispatch: dispatchMock,
17
+ });
18
+ await waitForLoad(rendered);
19
+
20
+ await waitFor(() => {
21
+ expect(dispatchMock).toHaveBeenCalledWith(
22
+ fetchSystemStructures({ id: "1" })
23
+ );
24
+ });
25
+
26
+ rendered.unmount();
14
27
 
15
- it("calls fetchSystemStructures when component mounts, clearSystemStructures when component unmounts", () => {
16
- const fetchSystemStructures = jest.fn();
17
- const clearSystemStructures = jest.fn();
18
- const systemStructuresLoading = false;
19
- const match = { params: { id: 1 } };
20
- const props = {
21
- fetchSystemStructures,
22
- systemStructuresLoading,
23
- clearSystemStructures,
24
- match
25
- };
26
- jest.spyOn(SystemStructuresLoader.prototype, "componentDidMount");
27
- const wrapper = shallow(<SystemStructuresLoader {...props} />);
28
- expect(
29
- SystemStructuresLoader.prototype.componentDidMount.mock.calls.length
30
- ).toBe(1);
31
- expect(clearSystemStructures.mock.calls.length).toBe(0);
32
- expect(fetchSystemStructures.mock.calls.length).toBe(1);
33
- wrapper.unmount();
34
- expect(clearSystemStructures.mock.calls.length).toBe(1);
35
- expect(fetchSystemStructures.mock.calls.length).toBe(1);
28
+ await waitFor(() => {
29
+ expect(dispatchMock).toHaveBeenCalledWith(clearSystemStructures());
30
+ });
36
31
  });
37
32
  });
@@ -1,10 +1,39 @@
1
- import React from "react";
2
- import { shallow } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { SystemView } from "../SystemView";
4
3
 
4
+ jest.mock("assets/searching.png", () => "searchImageMock.png");
5
+
6
+ jest.mock("@truedat/df/components/DynamicFormViewer", () => {
7
+ return function MockDynamicFormViewer() {
8
+ return <div>Dynamic Form Viewer Mock</div>;
9
+ };
10
+ });
11
+
5
12
  describe("<SystemView />", () => {
6
- it("matches the latest snapshot", () => {
7
- const wrapper = shallow(<SystemView />);
8
- expect(wrapper).toMatchSnapshot();
13
+ it("matches the latest snapshot", async () => {
14
+ const props = {
15
+ system: {
16
+ name: "Test System",
17
+ external_id: "TEST-001",
18
+ dynamic_content: {},
19
+ },
20
+ };
21
+
22
+ const renderOpts = {
23
+ state: {
24
+ templates: [
25
+ {
26
+ name: "System",
27
+ content: [],
28
+ },
29
+ ],
30
+ systemsLoading: false,
31
+ systems: [],
32
+ },
33
+ };
34
+
35
+ const rendered = render(<SystemView {...props} />, renderOpts);
36
+ await waitForLoad(rendered);
37
+ expect(rendered.container).toMatchSnapshot();
9
38
  });
10
39
  });
@@ -1,15 +1,59 @@
1
1
  import React from "react";
2
- import { shallow } from "enzyme";
3
- import { intl } from "@truedat/test/intl-stub";
4
- import { SystemsRoutes } from "../SystemsRoutes";
2
+ import { render, waitForLoad } from "@truedat/test/render";
3
+ import SystemsRoutes from "../SystemsRoutes";
4
+ import {
5
+ SYSTEM_STRUCTURES,
6
+ SYSTEM_NEW,
7
+ SYSTEM_EDIT,
8
+ } from "@truedat/core/routes";
5
9
 
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);
10
+ jest.mock("../SystemStructures", () => () => <div>SystemStructures</div>);
11
+ jest.mock("../SystemForm", () => () => <div>SystemForm</div>);
12
+ jest.mock("../SystemLoader", () => () => <div>SystemLoader</div>);
13
+ jest.mock("../SystemCrumbs", () => () => <div>SystemCrumbs</div>);
9
14
 
10
15
  describe("<SystemsRoutes />", () => {
11
- it("matches the latest snapshot", () => {
12
- const wrapper = shallow(<SystemsRoutes />);
13
- expect(wrapper).toMatchSnapshot();
16
+ it("renders correctly with default route", async () => {
17
+ const rendered = render(<SystemsRoutes />);
18
+ await waitForLoad(rendered);
19
+ expect(rendered.container).toMatchSnapshot();
20
+ });
21
+
22
+ it("renders correctly with new system route", async () => {
23
+ const rendered = render(<SystemsRoutes />, {
24
+ routes: [SYSTEM_NEW],
25
+ });
26
+ await waitForLoad(rendered);
27
+ expect(rendered.container).toMatchSnapshot();
28
+ });
29
+
30
+ it("renders correctly with system structures route", async () => {
31
+ const rendered = render(<SystemsRoutes />, {
32
+ routes: [SYSTEM_STRUCTURES.replace(":id", "123")],
33
+ });
34
+ await waitForLoad(rendered);
35
+ expect(rendered.container).toMatchSnapshot();
36
+ });
37
+
38
+ it("renders correctly with system edit route", async () => {
39
+ const rendered = render(<SystemsRoutes />, {
40
+ routes: [SYSTEM_EDIT.replace(":id", "123")],
41
+ state: {
42
+ system: { id: "123", name: "Test System" },
43
+ },
44
+ });
45
+ await waitForLoad(rendered);
46
+ expect(rendered.container).toMatchSnapshot();
47
+ });
48
+
49
+ it("renders correctly with empty system on edit route", async () => {
50
+ const rendered = render(<SystemsRoutes />, {
51
+ routes: [SYSTEM_EDIT.replace(":id", "123")],
52
+ state: {
53
+ system: {},
54
+ },
55
+ });
56
+ await waitForLoad(rendered);
57
+ expect(rendered.container).toMatchSnapshot();
14
58
  });
15
59
  });
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import Tag from "../Tag";
4
3
 
@@ -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 { TAGS_QUERY } from "../../api/queries";
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import TagCrumbs from "../TagCrumbs";
4
3
 
@@ -1,13 +1,31 @@
1
- import React from "react";
2
- import { waitFor } from "@testing-library/react";
3
1
  import userEvent from "@testing-library/user-event";
4
- import { render } from "@truedat/test/render";
2
+ import { waitFor } from "@testing-library/react";
3
+ import { render, waitForLoad } from "@truedat/test/render";
5
4
  import { DOMAINS_QUERY } from "@truedat/core/api/queries";
6
5
  import TagForm from "../TagForm";
7
6
 
8
7
  const domainsMock = {
9
- request: { query: DOMAINS_QUERY },
10
- result: { data: { domains: [{ id: "123", name: "foo" }] } },
8
+ request: {
9
+ query: DOMAINS_QUERY,
10
+ variables: {
11
+ action: "manageTags",
12
+ domainActions: undefined,
13
+ ids: undefined,
14
+ },
15
+ },
16
+ result: {
17
+ data: {
18
+ domains: [
19
+ {
20
+ id: "123",
21
+ name: "foo",
22
+ externalId: "bar",
23
+ parentId: "321",
24
+ actions: [],
25
+ },
26
+ ],
27
+ },
28
+ },
11
29
  };
12
30
 
13
31
  const renderOpts = {
@@ -30,35 +48,42 @@ describe("<TagForm />", () => {
30
48
  };
31
49
 
32
50
  it("matches the latest snapshot", async () => {
33
- const { container, findByRole } = render(
34
- <TagForm {...props} />,
35
- renderOpts
51
+ const rendered = render(<TagForm {...props} />, renderOpts);
52
+ await waitForLoad(rendered);
53
+ await waitFor(() =>
54
+ expect(
55
+ rendered.getByRole("button", { name: /save/i })
56
+ ).toBeInTheDocument()
36
57
  );
37
- await findByRole("button", { name: /save/i });
38
- expect(container).toMatchSnapshot();
58
+ expect(rendered.container).toMatchSnapshot();
39
59
  });
40
60
 
41
61
  it("calls onSubmit with data on submit", async () => {
42
- const { getByRole } = render(<TagForm {...props} />, renderOpts);
62
+ const rendered = render(<TagForm {...props} />, renderOpts);
63
+ await waitForLoad(rendered);
64
+ const user = userEvent.setup({ delay: null });
43
65
 
44
66
  // Submit button should initially be disabled
45
67
  await waitFor(() =>
46
- expect(getByRole("button", { name: /save/i })).toBeDisabled()
68
+ expect(rendered.getByRole("button", { name: /save/i })).toBeDisabled()
47
69
  );
48
70
 
49
71
  // Name
50
- userEvent.type(getByRole("textbox", { name: /name/i }), "foo");
72
+ await user.type(rendered.getByRole("textbox", { name: /name/i }), "foo");
51
73
 
52
74
  // Submit button should now be enabled
53
75
  await waitFor(() =>
54
- expect(getByRole("button", { name: /save/i })).not.toBeDisabled()
76
+ expect(rendered.getByRole("button", { name: /save/i })).not.toBeDisabled()
55
77
  );
56
78
 
57
- // Name
58
- userEvent.type(getByRole("textbox", { name: /description/i }), "bar");
79
+ // Description
80
+ await user.type(
81
+ rendered.getByRole("textbox", { name: /description/i }),
82
+ "bar"
83
+ );
59
84
 
60
85
  // Submit
61
- userEvent.click(getByRole("button", { name: /save/i }));
86
+ await user.click(rendered.getByRole("button", { name: /save/i }));
62
87
 
63
88
  await waitFor(() => {
64
89
  expect(onSubmit.mock.calls.length).toBe(1);
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import Tags from "../Tags";
4
3
 
@@ -0,0 +1,69 @@
1
+ import React from "react";
2
+ import { render, waitForLoad } from "@truedat/test/render";
3
+ import { TagsRoutes } from "../TagsRoutes";
4
+ import { useAuthorized } from "@truedat/core/hooks/useAuthorized";
5
+ import {
6
+ STRUCTURE_TAGS,
7
+ STRUCTURE_TAG_EDIT,
8
+ STRUCTURE_TAGS_NEW,
9
+ } from "@truedat/core/routes";
10
+ import { TAG_QUERY } from "../../api/queries";
11
+
12
+ jest.mock("@truedat/core/hooks/useAuthorized", () => ({
13
+ useAuthorized: jest.fn(() => true),
14
+ }));
15
+
16
+ jest.mock("../Tags", () => () => <div>Tags</div>);
17
+ jest.mock("../Tag", () => () => <div>Tag</div>);
18
+
19
+ describe("<TagsRoutes />", () => {
20
+ it("renders correctly with default route", async () => {
21
+ const rendered = render(<TagsRoutes />);
22
+ await waitForLoad(rendered);
23
+ expect(rendered.container).toMatchSnapshot();
24
+ });
25
+
26
+ it("renders correctly with structure tags route", async () => {
27
+ const rendered = render(<TagsRoutes />, {
28
+ routes: [STRUCTURE_TAGS],
29
+ });
30
+ await waitForLoad(rendered);
31
+ expect(rendered.container).toMatchSnapshot();
32
+ });
33
+
34
+ it("renders correctly with structure tags new route", async () => {
35
+ const rendered = render(<TagsRoutes />, {
36
+ routes: [STRUCTURE_TAGS_NEW],
37
+ });
38
+ await waitForLoad(rendered);
39
+ expect(rendered.container).toMatchSnapshot();
40
+ });
41
+
42
+ it("renders correctly with structure tag edit route", async () => {
43
+ const rendered = render(<TagsRoutes />, {
44
+ routes: [STRUCTURE_TAG_EDIT.replace(":id", "123")],
45
+ mocks: [
46
+ {
47
+ request: {
48
+ query: TAG_QUERY,
49
+ variables: { id: "123" },
50
+ },
51
+ result: {
52
+ data: { tag: { id: "123", name: "Test Tag" } },
53
+ },
54
+ },
55
+ ],
56
+ });
57
+ await waitForLoad(rendered);
58
+ expect(rendered.container).toMatchSnapshot();
59
+ });
60
+
61
+ it("renders unauthorized component when not authorized", async () => {
62
+ useAuthorized.mockReturnValueOnce(false);
63
+ const rendered = render(<TagsRoutes />, {
64
+ routes: [STRUCTURE_TAGS],
65
+ });
66
+ await waitForLoad(rendered);
67
+ expect(rendered.container).toMatchSnapshot();
68
+ });
69
+ });
@@ -1,15 +1,13 @@
1
- import React from "react";
2
- import { render } from "@truedat/test/render";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import Task from "../Task";
4
3
  import { TASK_QUERY } from "../../api/queries";
5
- import en from "../../messages/en";
6
4
 
7
5
  jest.mock("@truedat/core/hooks", () => ({
8
6
  useAuthorized: jest.fn(() => true),
9
7
  }));
10
8
 
11
- jest.mock("react-router-dom", () => ({
12
- ...jest.requireActual("react-router-dom"),
9
+ jest.mock("react-router", () => ({
10
+ ...jest.requireActual("react-router"),
13
11
  useParams: () => ({ id: "123" }),
14
12
  }));
15
13
 
@@ -34,11 +32,11 @@ const taskMock = {
34
32
  describe("<Task />", () => {
35
33
  it("matches the latest snapshot", async () => {
36
34
  const renderOpts = {
37
- messages: { en },
38
35
  mocks: [taskMock],
39
36
  };
40
- const { container, findByText } = render(<Task />, renderOpts);
41
- await findByText("processing");
42
- expect(container).toMatchSnapshot();
37
+ const rendered = render(<Task />, renderOpts);
38
+ await waitForLoad(rendered);
39
+ await rendered.findByText(/processing/i);
40
+ expect(rendered.container).toMatchSnapshot();
43
41
  });
44
42
  });
@@ -1,20 +1,14 @@
1
- /* eslint-disable fp/no-mutation */
2
- /* eslint-disable fp/no-let */
3
- import React from "react";
4
- import { waitFor } from "@testing-library/react";
5
- import { render } from "@truedat/test/render";
6
1
  import userEvent from "@testing-library/user-event";
2
+ import { waitFor } from "@testing-library/react";
3
+ import { render, waitForLoad } from "@truedat/test/render";
7
4
  import { Tasks } from "../Tasks";
8
5
  import { TASKS_QUERY } from "../../api/queries";
9
- import en from "../../messages/en";
10
6
 
11
- const mockHistory = {
12
- push: jest.fn(),
13
- };
7
+ const mockHistory = jest.fn();
14
8
 
15
- jest.mock("react-router-dom", () => ({
16
- ...jest.requireActual("react-router-dom"),
17
- useHistory: () => mockHistory,
9
+ jest.mock("react-router", () => ({
10
+ ...jest.requireActual("react-router"),
11
+ useNavigate: () => mockHistory,
18
12
  }));
19
13
 
20
14
  const task = {
@@ -59,10 +53,11 @@ const tasksMock = {
59
53
  }
60
54
  },
61
55
  };
56
+
62
57
  const renderOpts = {
63
- messages: { en },
64
58
  mocks: [tasksMock],
65
59
  };
60
+
66
61
  const props = {
67
62
  reindexAllGrants: jest.fn(),
68
63
  reindexAllStructures: jest.fn(),
@@ -71,38 +66,50 @@ const props = {
71
66
  describe("<Tasks />", () => {
72
67
  it("matches the latest snapshot", async () => {
73
68
  queryCalled = false;
74
- const { container, findByText } = render(<Tasks {...props} />, renderOpts);
75
- await findByText("processing");
76
- expect(container).toMatchSnapshot();
69
+ const rendered = render(<Tasks {...props} />, renderOpts);
70
+ await waitForLoad(rendered);
71
+ await waitFor(() =>
72
+ expect(rendered.getByText(/processing/i)).toBeInTheDocument()
73
+ );
74
+ expect(rendered.container).toMatchSnapshot();
77
75
  });
78
76
 
79
77
  it("refetches button", async () => {
80
78
  queryCalled = false;
81
- const { container, findByText, findByRole } = render(
82
- <Tasks {...props} />,
83
- renderOpts
79
+ const rendered = render(<Tasks {...props} />, renderOpts);
80
+ await waitForLoad(rendered);
81
+ await waitFor(() =>
82
+ expect(rendered.getByText(/processing/i)).toBeInTheDocument()
84
83
  );
85
- await findByText("processing");
86
84
 
87
- userEvent.click(await findByRole("button", { name: /Refresh/i }));
88
- await findByText("done");
89
- expect(container).toMatchSnapshot();
85
+ const user = userEvent.setup({ delay: null });
86
+ await user.click(await rendered.findByRole("button", { name: /refresh/i }));
87
+ await waitFor(() =>
88
+ expect(rendered.getByText(/done/i)).toBeInTheDocument()
89
+ );
90
+ expect(rendered.container).toMatchSnapshot();
90
91
  });
91
92
 
92
93
  it("triggers Reindex Grants and Structures", async () => {
93
94
  queryCalled = false;
94
- const { findByText, findByRole } = render(<Tasks {...props} />, renderOpts);
95
- await findByText("processing");
95
+ const rendered = render(<Tasks {...props} />, renderOpts);
96
+ await waitForLoad(rendered);
97
+ await waitFor(() =>
98
+ expect(rendered.getByText(/processing/i)).toBeInTheDocument()
99
+ );
96
100
 
97
- userEvent.click(
98
- await findByRole("button", { name: /Reindex all structures/i })
101
+ const user = userEvent.setup({ delay: null });
102
+ await user.click(
103
+ await rendered.findByRole("button", {
104
+ name: /task.reindex_all_structures/i,
105
+ })
99
106
  );
100
107
  await waitFor(() =>
101
108
  expect(props.reindexAllStructures).toHaveBeenCalledTimes(1)
102
109
  );
103
110
 
104
- userEvent.click(
105
- await findByRole("button", { name: /Reindex all grants/i })
111
+ await user.click(
112
+ await rendered.findByRole("button", { name: /task.reindex_all_grants/i })
106
113
  );
107
114
  await waitFor(() =>
108
115
  expect(props.reindexAllGrants).toHaveBeenCalledTimes(1)
@@ -111,10 +118,14 @@ describe("<Tasks />", () => {
111
118
 
112
119
  it("navigates to task detail", async () => {
113
120
  queryCalled = false;
114
- const { findByText } = render(<Tasks {...props} />, renderOpts);
115
- await findByText("processing");
121
+ const rendered = render(<Tasks {...props} />, renderOpts);
122
+ await waitForLoad(rendered);
123
+ await waitFor(() =>
124
+ expect(rendered.getByText(/processing/i)).toBeInTheDocument()
125
+ );
116
126
 
117
- userEvent.click(await findByText(/processing/i));
118
- expect(mockHistory.push.mock.calls[0][0]).toBe("/reindex/123");
127
+ const user = userEvent.setup({ delay: null });
128
+ await user.click(await rendered.getByText(/processing/i));
129
+ expect(mockHistory.mock.calls[0][0]).toBe("/reindex/123");
119
130
  });
120
131
  });