@truedat/dq 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 (350) hide show
  1. package/package.json +41 -71
  2. package/src/components/ConceptRules.js +1 -2
  3. package/src/components/ConditionCell.js +17 -16
  4. package/src/components/ConditionSummary.js +1 -1
  5. package/src/components/EditRule.js +0 -1
  6. package/src/components/ExecutionForm.js +2 -4
  7. package/src/components/ExecutionGroup.js +0 -1
  8. package/src/components/ExecutionGroupBreadcrumbs.js +1 -2
  9. package/src/components/ExecutionGroupContent.js +3 -3
  10. package/src/components/ExecutionGroupLink.js +1 -2
  11. package/src/components/ExecutionGroupLoader.js +1 -1
  12. package/src/components/ExecutionGroupMessage.js +0 -1
  13. package/src/components/ExecutionGroups.js +1 -2
  14. package/src/components/ExecutionGroupsTable.js +0 -1
  15. package/src/components/ExecutionPopup.js +1 -1
  16. package/src/components/FieldSummary.js +1 -2
  17. package/src/components/ImplementationActions.js +1 -2
  18. package/src/components/ImplementationCrumbs.js +2 -3
  19. package/src/components/ImplementationExecutionFilters.js +2 -2
  20. package/src/components/ImplementationExecutions.js +2 -2
  21. package/src/components/ImplementationResultBar.js +14 -15
  22. package/src/components/ImplementationSearchResults.js +6 -4
  23. package/src/components/ImplementationStructureDelete.js +0 -1
  24. package/src/components/ImplementationStructureLink.js +1 -2
  25. package/src/components/ImplementationStructureLinksActions.js +1 -2
  26. package/src/components/ImplementationStructures.js +2 -2
  27. package/src/components/ImplementationStructuresNew.js +3 -4
  28. package/src/components/ImplementationSummary.js +3 -7
  29. package/src/components/Implementations.js +3 -3
  30. package/src/components/ImplementationsHeader.js +4 -5
  31. package/src/components/ImplementationsRoutes.js +379 -322
  32. package/src/components/ImplementationsUploadButton.js +0 -1
  33. package/src/components/InformationSummary.js +0 -1
  34. package/src/components/JoinTypeIcon.js +8 -9
  35. package/src/components/MoveImplementation.js +0 -1
  36. package/src/components/NewBasicRuleImplementation.js +4 -4
  37. package/src/components/NewRemediation.js +1 -1
  38. package/src/components/NewRule.js +1 -2
  39. package/src/components/NewRuleImplementation.js +4 -4
  40. package/src/components/QualityEventError.js +4 -9
  41. package/src/components/QualityRoutes.js +52 -26
  42. package/src/components/RawContent.js +0 -1
  43. package/src/components/RemediationCrumbs.js +2 -2
  44. package/src/components/RemediationForm.js +4 -4
  45. package/src/components/RemediationPlan.js +4 -5
  46. package/src/components/Rule.js +0 -1
  47. package/src/components/RuleActions.js +2 -3
  48. package/src/components/RuleCrumbs.js +2 -3
  49. package/src/components/RuleEventDecorator.js +0 -1
  50. package/src/components/RuleEventRow.js +0 -1
  51. package/src/components/RuleEvents.js +0 -1
  52. package/src/components/RuleForm.js +11 -21
  53. package/src/components/RuleFormImplementations.js +0 -1
  54. package/src/components/RuleImplementation.js +0 -1
  55. package/src/components/RuleImplementationActions.js +2 -2
  56. package/src/components/RuleImplementationEventRow.js +0 -1
  57. package/src/components/RuleImplementationEvents.js +0 -1
  58. package/src/components/RuleImplementationHistory.js +1 -2
  59. package/src/components/RuleImplementationHistoryRow.js +1 -2
  60. package/src/components/RuleImplementationLink.js +1 -2
  61. package/src/components/RuleImplementationLoader.js +2 -2
  62. package/src/components/RuleImplementationProperties.js +3 -4
  63. package/src/components/RuleImplementationResultTabs.js +7 -11
  64. package/src/components/RuleImplementationResults.js +2 -3
  65. package/src/components/RuleImplementationResultsLink.js +1 -2
  66. package/src/components/RuleImplementationRow.js +0 -1
  67. package/src/components/RuleImplementationTabs.js +24 -21
  68. package/src/components/RuleImplementationsActions.js +1 -2
  69. package/src/components/RuleImplementationsDownload.js +0 -1
  70. package/src/components/RuleImplementationsFromRuleLoader.js +2 -2
  71. package/src/components/RuleImplementationsLabelResults.js +5 -6
  72. package/src/components/RuleImplementationsOptions.js +1 -2
  73. package/src/components/RuleImplementationsSearch.js +0 -1
  74. package/src/components/RuleImplementationsTable.js +1 -1
  75. package/src/components/RuleLink.js +1 -2
  76. package/src/components/RuleLoader.js +2 -2
  77. package/src/components/RuleProperties.js +4 -6
  78. package/src/components/RuleResult.js +0 -1
  79. package/src/components/RuleResultDecorator.js +5 -6
  80. package/src/components/RuleResultDetails.js +0 -4
  81. package/src/components/RuleResultRemediationLoader.js +1 -1
  82. package/src/components/RuleResultRemediations.js +0 -1
  83. package/src/components/RuleResultRow.js +1 -2
  84. package/src/components/RuleResultSegmentRow.js +0 -1
  85. package/src/components/RuleResultSegments.js +0 -1
  86. package/src/components/RuleResultSegmentsLoader.js +1 -1
  87. package/src/components/RuleResultsRoutes.js +41 -41
  88. package/src/components/RuleResultsTable.js +0 -1
  89. package/src/components/RuleResultsUpload.js +0 -1
  90. package/src/components/RuleRoutes.js +72 -67
  91. package/src/components/RuleRow.js +1 -2
  92. package/src/components/RuleSelectionForm.js +0 -1
  93. package/src/components/RuleSelector.js +0 -1
  94. package/src/components/RuleSubscriptionLoader.js +1 -1
  95. package/src/components/RuleSummary.js +1 -1
  96. package/src/components/RuleTabs.js +8 -7
  97. package/src/components/Rules.js +2 -2
  98. package/src/components/RulesActions.js +1 -2
  99. package/src/components/RulesLabelResults.js +2 -3
  100. package/src/components/RulesRoutes.js +32 -21
  101. package/src/components/RulesSearch.js +0 -1
  102. package/src/components/RulesUploadButton.js +0 -1
  103. package/src/components/Subscription.js +3 -3
  104. package/src/components/TaxonomySummary.js +0 -1
  105. package/src/components/__tests__/ConceptRules.spec.js +0 -1
  106. package/src/components/__tests__/ConceptRulesLoader.spec.js +19 -22
  107. package/src/components/__tests__/ConditionSummary.spec.js +0 -1
  108. package/src/components/__tests__/EditRule.spec.js +10 -7
  109. package/src/components/__tests__/ExecutionForm.spec.js +5 -14
  110. package/src/components/__tests__/ExecutionGroup.spec.js +18 -11
  111. package/src/components/__tests__/ExecutionGroupBreadcrumbs.spec.js +0 -1
  112. package/src/components/__tests__/ExecutionGroupContent.spec.js +0 -2
  113. package/src/components/__tests__/ExecutionGroupLink.spec.js +0 -1
  114. package/src/components/__tests__/ExecutionGroupLoader.spec.js +18 -18
  115. package/src/components/__tests__/ExecutionGroupMessage.spec.js +9 -13
  116. package/src/components/__tests__/ExecutionGroups.spec.js +0 -1
  117. package/src/components/__tests__/ExecutionGroupsTable.spec.js +0 -1
  118. package/src/components/__tests__/ExecutionPopup.spec.js +0 -1
  119. package/src/components/__tests__/ImplementationActions.spec.js +0 -1
  120. package/src/components/__tests__/ImplementationExecutionFilters.spec.js +2 -3
  121. package/src/components/__tests__/ImplementationExecutions.spec.js +2 -3
  122. package/src/components/__tests__/ImplementationResultBar.spec.js +44 -27
  123. package/src/components/__tests__/ImplementationSearchResults.spec.js +13 -22
  124. package/src/components/__tests__/ImplementationStructureDelete.spec.js +0 -1
  125. package/src/components/__tests__/ImplementationStructureLink.spec.js +0 -1
  126. package/src/components/__tests__/ImplementationStructures.spec.js +1 -2
  127. package/src/components/__tests__/ImplementationStructuresNew.spec.js +43 -23
  128. package/src/components/__tests__/ImplementationSummary.spec.js +65 -37
  129. package/src/components/__tests__/Implementations.spec.js +4 -10
  130. package/src/components/__tests__/ImplementationsRoutes.spec.js +133 -0
  131. package/src/components/__tests__/ImplementationsUploadButton.spec.js +51 -32
  132. package/src/components/__tests__/InformationSummary.spec.js +0 -1
  133. package/src/components/__tests__/MoveImplementation.spec.js +0 -1
  134. package/src/components/__tests__/NewBasicRuleImplementation.spec.js +19 -23
  135. package/src/components/__tests__/NewRule.spec.js +23 -14
  136. package/src/components/__tests__/NewRuleImplementation.spec.js +101 -101
  137. package/src/components/__tests__/QualityEventError.spec.js +4 -4
  138. package/src/components/__tests__/QualityRoutes.spec.js +86 -0
  139. package/src/components/__tests__/RawContent.spec.js +0 -1
  140. package/src/components/__tests__/RemediationForm.spec.js +0 -2
  141. package/src/components/__tests__/RemediationPlan.spec.js +23 -29
  142. package/src/components/__tests__/Rule.spec.js +19 -5
  143. package/src/components/__tests__/RuleActions.spec.js +11 -8
  144. package/src/components/__tests__/RuleCrumbs.spec.js +12 -11
  145. package/src/components/__tests__/RuleEventDecorator.spec.js +0 -1
  146. package/src/components/__tests__/RuleEventRow.spec.js +0 -1
  147. package/src/components/__tests__/RuleEvents.spec.js +0 -1
  148. package/src/components/__tests__/RuleForm.spec.js +30 -73
  149. package/src/components/__tests__/RuleFormImplementations.spec.js +15 -16
  150. package/src/components/__tests__/RuleImplementation.spec.js +23 -30
  151. package/src/components/__tests__/RuleImplementationEvents.spec.js +0 -1
  152. package/src/components/__tests__/RuleImplementationHistory.spec.js +7 -22
  153. package/src/components/__tests__/RuleImplementationLoader.spec.js +2 -3
  154. package/src/components/__tests__/RuleImplementationProperties.spec.js +56 -82
  155. package/src/components/__tests__/RuleImplementationResultTabs.spec.js +5 -17
  156. package/src/components/__tests__/RuleImplementationResults.spec.js +2 -3
  157. package/src/components/__tests__/RuleImplementationResultsLink.spec.js +5 -5
  158. package/src/components/__tests__/RuleImplementationTabs.spec.js +0 -1
  159. package/src/components/__tests__/RuleImplementationsActions.spec.js +58 -35
  160. package/src/components/__tests__/RuleImplementationsFromRuleLoader.spec.js +34 -24
  161. package/src/components/__tests__/RuleImplementationsLoader.spec.js +22 -14
  162. package/src/components/__tests__/RuleImplementationsOptions.spec.js +0 -1
  163. package/src/components/__tests__/RuleImplementationsSearch.spec.js +14 -23
  164. package/src/components/__tests__/RuleImplementationsTable.spec.js +30 -56
  165. package/src/components/__tests__/RuleProperties.spec.js +4 -10
  166. package/src/components/__tests__/RuleResult.spec.js +10 -22
  167. package/src/components/__tests__/RuleResultDecorator.spec.js +36 -26
  168. package/src/components/__tests__/RuleResultDetails.spec.js +24 -57
  169. package/src/components/__tests__/RuleResultRemediationLoader.spec.js +15 -14
  170. package/src/components/__tests__/RuleResultRemediations.spec.js +2 -3
  171. package/src/components/__tests__/RuleResultRoutes.spec.js +83 -59
  172. package/src/components/__tests__/RuleResultRow.spec.js +0 -1
  173. package/src/components/__tests__/RuleResultSegmentRow.spec.js +46 -83
  174. package/src/components/__tests__/RuleResultSegments.spec.js +5 -10
  175. package/src/components/__tests__/RuleResultSegmentsLoader.spec.js +15 -14
  176. package/src/components/__tests__/RuleResultsUpload.spec.js +0 -1
  177. package/src/components/__tests__/RuleRoutes.spec.js +90 -14
  178. package/src/components/__tests__/RuleRow.spec.js +0 -2
  179. package/src/components/__tests__/RuleSearch.spec.js +10 -15
  180. package/src/components/__tests__/RuleSelectionForm.spec.js +0 -1
  181. package/src/components/__tests__/RuleSubscriptionLoader.spec.js +19 -18
  182. package/src/components/__tests__/RuleSummary.spec.js +0 -1
  183. package/src/components/__tests__/Rules.spec.js +58 -24
  184. package/src/components/__tests__/RulesActions.spec.js +17 -13
  185. package/src/components/__tests__/RulesLoader.spec.js +9 -9
  186. package/src/components/__tests__/RulesRoutes.spec.js +51 -0
  187. package/src/components/__tests__/RulesUploadButton.spec.js +0 -1
  188. package/src/components/__tests__/Subscription.spec.js +18 -19
  189. package/src/components/__tests__/TaxonomySummary.spec.js +0 -1
  190. package/src/components/__tests__/__snapshots__/ConceptRules.spec.js.snap +3 -0
  191. package/src/components/__tests__/__snapshots__/ConditionSummary.spec.js.snap +1 -0
  192. package/src/components/__tests__/__snapshots__/EditRule.spec.js.snap +120 -80
  193. package/src/components/__tests__/__snapshots__/ExecutionForm.spec.js.snap +6 -6
  194. package/src/components/__tests__/__snapshots__/ExecutionGroup.spec.js.snap +12 -10
  195. package/src/components/__tests__/__snapshots__/ExecutionGroupBreadcrumbs.spec.js.snap +2 -1
  196. package/src/components/__tests__/__snapshots__/ExecutionGroupLink.spec.js.snap +1 -0
  197. package/src/components/__tests__/__snapshots__/ExecutionGroupMessage.spec.js.snap +36 -9
  198. package/src/components/__tests__/__snapshots__/ExecutionGroups.spec.js.snap +9 -6
  199. package/src/components/__tests__/__snapshots__/ExecutionGroupsTable.spec.js.snap +6 -5
  200. package/src/components/__tests__/__snapshots__/ImplementationActions.spec.js.snap +6 -5
  201. package/src/components/__tests__/__snapshots__/ImplementationExecutionFilters.spec.js.snap +4 -0
  202. package/src/components/__tests__/__snapshots__/ImplementationExecutions.spec.js.snap +10 -5
  203. package/src/components/__tests__/__snapshots__/ImplementationResultBar.spec.js.snap +10 -20
  204. package/src/components/__tests__/__snapshots__/ImplementationSearchResults.spec.js.snap +249 -71
  205. package/src/components/__tests__/__snapshots__/ImplementationStructureLink.spec.js.snap +1 -0
  206. package/src/components/__tests__/__snapshots__/ImplementationStructures.spec.js.snap +3 -1
  207. package/src/components/__tests__/__snapshots__/ImplementationStructuresNew.spec.js.snap +220 -9
  208. package/src/components/__tests__/__snapshots__/ImplementationSummary.spec.js.snap +312 -166
  209. package/src/components/__tests__/__snapshots__/Implementations.spec.js.snap +9 -21
  210. package/src/components/__tests__/__snapshots__/ImplementationsRoutes.spec.js.snap +37 -0
  211. package/src/components/__tests__/__snapshots__/InformationSummary.spec.js.snap +10 -10
  212. package/src/components/__tests__/__snapshots__/MoveImplementation.spec.js.snap +1 -0
  213. package/src/components/__tests__/__snapshots__/NewBasicRuleImplementation.spec.js.snap +76 -20
  214. package/src/components/__tests__/__snapshots__/NewRule.spec.js.snap +125 -54
  215. package/src/components/__tests__/__snapshots__/NewRuleImplementation.spec.js.snap +157 -79
  216. package/src/components/__tests__/__snapshots__/QualityEventError.spec.js.snap +31 -10
  217. package/src/components/__tests__/__snapshots__/QualityRoutes.spec.js.snap +51 -0
  218. package/src/components/__tests__/__snapshots__/RawContent.spec.js.snap +26 -26
  219. package/src/components/__tests__/__snapshots__/RemediationForm.spec.js.snap +4 -5
  220. package/src/components/__tests__/__snapshots__/RemediationPlan.spec.js.snap +2 -4
  221. package/src/components/__tests__/__snapshots__/Rule.spec.js.snap +42 -41
  222. package/src/components/__tests__/__snapshots__/RuleActions.spec.js.snap +41 -43
  223. package/src/components/__tests__/__snapshots__/RuleCrumbs.spec.js.snap +40 -60
  224. package/src/components/__tests__/__snapshots__/RuleForm.spec.js.snap +194 -45
  225. package/src/components/__tests__/__snapshots__/RuleFormImplementations.spec.js.snap +20 -8
  226. package/src/components/__tests__/__snapshots__/RuleImplementation.spec.js.snap +23 -14
  227. package/src/components/__tests__/__snapshots__/RuleImplementationEvents.spec.js.snap +3 -3
  228. package/src/components/__tests__/__snapshots__/RuleImplementationHistory.spec.js.snap +7 -4
  229. package/src/components/__tests__/__snapshots__/RuleImplementationProperties.spec.js.snap +123 -98
  230. package/src/components/__tests__/__snapshots__/RuleImplementationResultTabs.spec.js.snap +2 -1
  231. package/src/components/__tests__/__snapshots__/RuleImplementationResults.spec.js.snap +12 -6
  232. package/src/components/__tests__/__snapshots__/RuleImplementationResultsLink.spec.js.snap +8 -5
  233. package/src/components/__tests__/__snapshots__/RuleImplementationTabs.spec.js.snap +14 -7
  234. package/src/components/__tests__/__snapshots__/RuleImplementationsActions.spec.js.snap +105 -68
  235. package/src/components/__tests__/__snapshots__/RuleImplementationsFromRuleLoader.spec.js.snap +1 -35
  236. package/src/components/__tests__/__snapshots__/RuleImplementationsLoader.spec.js.snap +1 -31
  237. package/src/components/__tests__/__snapshots__/RuleImplementationsOptions.spec.js.snap +4 -4
  238. package/src/components/__tests__/__snapshots__/RuleImplementationsSearch.spec.js.snap +46 -15
  239. package/src/components/__tests__/__snapshots__/RuleImplementationsTable.spec.js.snap +54 -107
  240. package/src/components/__tests__/__snapshots__/RuleProperties.spec.js.snap +3 -3
  241. package/src/components/__tests__/__snapshots__/RuleResult.spec.js.snap +17 -1
  242. package/src/components/__tests__/__snapshots__/RuleResultDecorator.spec.js.snap +4 -4
  243. package/src/components/__tests__/__snapshots__/RuleResultDetails.spec.js.snap +17 -17
  244. package/src/components/__tests__/__snapshots__/RuleResultRoutes.spec.js.snap +4 -321
  245. package/src/components/__tests__/__snapshots__/RuleResultSegments.spec.js.snap +1 -1
  246. package/src/components/__tests__/__snapshots__/RuleResultsUpload.spec.js.snap +1 -1
  247. package/src/components/__tests__/__snapshots__/RuleRoutes.spec.js.snap +32 -1
  248. package/src/components/__tests__/__snapshots__/RuleRow.spec.js.snap +4 -6
  249. package/src/components/__tests__/__snapshots__/RuleSearch.spec.js.snap +46 -15
  250. package/src/components/__tests__/__snapshots__/RuleSelectionForm.spec.js.snap +1 -0
  251. package/src/components/__tests__/__snapshots__/RuleSubscriptionLoader.spec.js.snap +1 -1
  252. package/src/components/__tests__/__snapshots__/Rules.spec.js.snap +128 -173
  253. package/src/components/__tests__/__snapshots__/RulesActions.spec.js.snap +5 -7
  254. package/src/components/__tests__/__snapshots__/RulesRoutes.spec.js.snap +60 -0
  255. package/src/components/__tests__/__snapshots__/Subscription.spec.js.snap +127 -184
  256. package/src/components/ruleImplementationForm/DatasetForm.js +8 -7
  257. package/src/components/ruleImplementationForm/DateField.js +0 -1
  258. package/src/components/ruleImplementationForm/DateTimeField.js +0 -1
  259. package/src/components/ruleImplementationForm/FieldModifier.js +3 -3
  260. package/src/components/ruleImplementationForm/FieldsGrid.js +1 -1
  261. package/src/components/ruleImplementationForm/FieldsGroup.js +3 -3
  262. package/src/components/ruleImplementationForm/FiltersField.js +5 -5
  263. package/src/components/ruleImplementationForm/FiltersFormGroup.js +5 -6
  264. package/src/components/ruleImplementationForm/FiltersGrid.js +1 -1
  265. package/src/components/ruleImplementationForm/FiltersGroup.js +6 -1
  266. package/src/components/ruleImplementationForm/FixedListField.js +6 -7
  267. package/src/components/ruleImplementationForm/InformationForm.js +3 -4
  268. package/src/components/ruleImplementationForm/LimitsForm.js +0 -1
  269. package/src/components/ruleImplementationForm/NumberField.js +0 -1
  270. package/src/components/ruleImplementationForm/PopulationForm.js +0 -1
  271. package/src/components/ruleImplementationForm/RuleImplementationBasicForm.js +6 -7
  272. package/src/components/ruleImplementationForm/RuleImplementationForm.js +8 -8
  273. package/src/components/ruleImplementationForm/RuleImplementationRawForm.js +10 -9
  274. package/src/components/ruleImplementationForm/SegmentsForm.js +0 -1
  275. package/src/components/ruleImplementationForm/StringField.js +2 -3
  276. package/src/components/ruleImplementationForm/StringListField.js +2 -3
  277. package/src/components/ruleImplementationForm/ValidationsForm.js +0 -1
  278. package/src/components/ruleImplementationForm/ValueConditions.js +3 -3
  279. package/src/components/ruleImplementationForm/__tests__/DataSetForm.spec.js +5 -18
  280. package/src/components/ruleImplementationForm/__tests__/FiltersField.spec.js +5 -10
  281. package/src/components/ruleImplementationForm/__tests__/FiltersFormGroup.spec.js +7 -21
  282. package/src/components/ruleImplementationForm/__tests__/FiltersGroup.spec.js +12 -21
  283. package/src/components/ruleImplementationForm/__tests__/InformationForm.spec.js +9 -3
  284. package/src/components/ruleImplementationForm/__tests__/LimitsForm.spec.js +74 -57
  285. package/src/components/ruleImplementationForm/__tests__/RuleImplementationBasicForm.spec.js +41 -27
  286. package/src/components/ruleImplementationForm/__tests__/RuleImplementationForm.spec.js +0 -2
  287. package/src/components/ruleImplementationForm/__tests__/RuleImplementationRawForm.spec.js +81 -52
  288. package/src/components/ruleImplementationForm/__tests__/ValueConditions.spec.js +11 -21
  289. package/src/components/ruleImplementationForm/__tests__/__snapshots__/DataSetForm.spec.js.snap +6 -6
  290. package/src/components/ruleImplementationForm/__tests__/__snapshots__/FiltersField.spec.js.snap +24 -48
  291. package/src/components/ruleImplementationForm/__tests__/__snapshots__/FiltersFormGroup.spec.js.snap +102 -6
  292. package/src/components/ruleImplementationForm/__tests__/__snapshots__/FiltersGroup.spec.js.snap +69 -6
  293. package/src/components/ruleImplementationForm/__tests__/__snapshots__/InformationForm.spec.js.snap +88 -18
  294. package/src/components/ruleImplementationForm/__tests__/__snapshots__/LimitsForm.spec.js.snap +68 -68
  295. package/src/components/ruleImplementationForm/__tests__/__snapshots__/RuleImplementationBasicForm.spec.js.snap +78 -17
  296. package/src/components/ruleImplementationForm/__tests__/__snapshots__/RuleImplementationForm.spec.js.snap +23 -24
  297. package/src/components/ruleImplementationForm/__tests__/__snapshots__/RuleImplementationRawForm.spec.js.snap +87 -30
  298. package/src/components/ruleImplementationForm/__tests__/__snapshots__/ValueConditions.spec.js.snap +69 -6
  299. package/src/components/ruleImplementationForm/limitsValidation.js +11 -10
  300. package/src/hooks/useConcept.js +4 -1
  301. package/src/sagas/__tests__/createImplementationStructure.spec.js +2 -2
  302. package/src/sagas/__tests__/createRemediation.spec.js +3 -3
  303. package/src/sagas/__tests__/deleteImplementation.spec.js +1 -1
  304. package/src/sagas/__tests__/deleteImplementationStructure.spec.js +2 -2
  305. package/src/sagas/__tests__/deleteRemediation.spec.js +3 -3
  306. package/src/sagas/__tests__/deleteRule.spec.js +1 -1
  307. package/src/sagas/__tests__/deleteRuleResult.spec.js +2 -2
  308. package/src/sagas/__tests__/fetchRemediation.spec.js +2 -2
  309. package/src/sagas/__tests__/fetchRule.spec.js +2 -2
  310. package/src/sagas/__tests__/fetchRuleImplementation.spec.js +3 -3
  311. package/src/sagas/__tests__/fetchRuleImplementations.spec.js +3 -3
  312. package/src/sagas/__tests__/fetchSegmentResults.spec.js +3 -3
  313. package/src/sagas/__tests__/updateRemediation.spec.js +3 -3
  314. package/src/sagas/__tests__/updateRule.spec.js +1 -1
  315. package/src/sagas/__tests__/updateRuleImplementation.spec.js +5 -5
  316. package/src/sagas/createImplementationStructure.js +3 -1
  317. package/src/sagas/createRemediation.js +3 -1
  318. package/src/sagas/deleteImplementation.js +1 -1
  319. package/src/sagas/deleteImplementationStructure.js +1 -1
  320. package/src/sagas/deleteRemediation.js +3 -1
  321. package/src/sagas/deleteRule.js +2 -2
  322. package/src/sagas/deleteRuleResult.js +1 -1
  323. package/src/sagas/fetchConceptRules.js +1 -1
  324. package/src/sagas/fetchExecutionGroup.js +1 -1
  325. package/src/sagas/fetchRemediation.js +1 -1
  326. package/src/sagas/fetchRuleImplementations.js +1 -1
  327. package/src/sagas/fetchSegmentResults.js +1 -1
  328. package/src/sagas/updateRemediation.js +3 -1
  329. package/src/sagas/updateRule.js +1 -1
  330. package/src/sagas/updateRuleImplementation.js +1 -1
  331. package/src/selectors/__tests__/getPreviousRuleImplementationQuery.spec.js +2 -2
  332. package/src/selectors/__tests__/getRuleImplementationColumns.spec.js +1 -1
  333. package/src/selectors/__tests__/getRuleImplementationForm.spec.js +16 -16
  334. package/src/selectors/__tests__/getRuleImplementationSelectedFilterActiveValues.spec.js +2 -2
  335. package/src/selectors/getImplementationStructureLinksColumns.js +0 -1
  336. package/src/selectors/getImplementationsExecution.js +2 -2
  337. package/src/selectors/getLinkedImplementationsToRulesColumns.js +0 -1
  338. package/src/selectors/getPreviousRuleImplementationQuery.js +1 -1
  339. package/src/selectors/getRuleImplementationColumns.js +0 -1
  340. package/src/selectors/getRuleImplementationForm.js +5 -5
  341. package/src/selectors/getRuleImplementationSelectedFilters.js +1 -1
  342. package/src/selectors/ruleColumnsSelector.js +0 -1
  343. package/src/styles/ruleSummary.less +21 -21
  344. package/src/components/RuleRangeNumber.js +0 -46
  345. package/src/components/RuleRangePercentage.js +0 -116
  346. package/src/components/__tests__/RuleRangeNumber.spec.js +0 -20
  347. package/src/components/__tests__/RuleRangePercentage.spec.js +0 -34
  348. package/src/components/__tests__/UploadModal.spec.js +0 -158
  349. package/src/components/__tests__/__snapshots__/RuleRangeNumber.spec.js.snap +0 -50
  350. package/src/components/__tests__/__snapshots__/RuleRangePercentage.spec.js.snap +0 -303
@@ -0,0 +1,133 @@
1
+ import React from "react";
2
+ import { render, waitForLoad } from "@truedat/test/render";
3
+ import { ImplementationsRoutes } from "../ImplementationsRoutes";
4
+ import { useAuthorized } from "@truedat/core/hooks/useAuthorized";
5
+ import {
6
+ IMPLEMENTATIONS,
7
+ IMPLEMENTATIONS_PENDING,
8
+ IMPLEMENTATIONS_DEPRECATED,
9
+ IMPLEMENTATION_NEW,
10
+ IMPLEMENTATION_NEW_BASIC,
11
+ IMPLEMENTATION_NEW_RAW,
12
+ IMPLEMENTATION,
13
+ IMPLEMENTATION_EVENTS,
14
+ IMPLEMENTATION_EXECUTIONS,
15
+ IMPLEMENTATION_RESULTS,
16
+ IMPLEMENTATION_HISTORY,
17
+ IMPLEMENTATION_CLONE,
18
+ IMPLEMENTATION_EDIT,
19
+ IMPLEMENTATION_EDIT_AS_DEFAULT,
20
+ IMPLEMENTATION_EDIT_AS_RAW,
21
+ IMPLEMENTATION_MOVE,
22
+ IMPLEMENTATION_CONCEPT_LINKS,
23
+ IMPLEMENTATION_CONCEPT_LINKS_NEW,
24
+ IMPLEMENTATION_STRUCTURES,
25
+ IMPLEMENTATION_STRUCTURES_NEW,
26
+ } from "@truedat/core/routes";
27
+
28
+ jest.mock("@truedat/core/hooks/useAuthorized", () => ({
29
+ useAuthorized: jest.fn(() => true),
30
+ }));
31
+
32
+ // Mock child components
33
+ jest.mock("../ImplementationCrumbs", () => () => (
34
+ <div>ImplementationCrumbs</div>
35
+ ));
36
+ jest.mock("../Implementations", () => () => <div>Implementations</div>);
37
+ jest.mock("../NewRuleImplementation", () => () => (
38
+ <div>NewRuleImplementation</div>
39
+ ));
40
+ jest.mock("../NewBasicRuleImplementation", () => () => (
41
+ <div>NewBasicRuleImplementation</div>
42
+ ));
43
+ jest.mock("../RuleImplementation", () => ({ children }) => (
44
+ <div>RuleImplementation{children}</div>
45
+ ));
46
+ jest.mock("../RuleImplementationProperties", () => () => (
47
+ <div>RuleImplementationProperties</div>
48
+ ));
49
+ jest.mock("../RuleImplementationEvents", () => () => (
50
+ <div>RuleImplementationEvents</div>
51
+ ));
52
+ jest.mock("../ImplementationExecutions", () => () => (
53
+ <div>ImplementationExecutions</div>
54
+ ));
55
+ jest.mock("../RuleImplementationResults", () => () => (
56
+ <div>RuleImplementationResults</div>
57
+ ));
58
+ jest.mock("../RuleImplementationHistory", () => () => (
59
+ <div>RuleImplementationHistory</div>
60
+ ));
61
+ jest.mock("../MoveImplementation", () => () => <div>MoveImplementation</div>);
62
+ jest.mock("../ImplementationStructures", () => () => (
63
+ <div>ImplementationStructures</div>
64
+ ));
65
+ jest.mock("../ImplementationStructuresNew", () => () => (
66
+ <div>ImplementationStructuresNew</div>
67
+ ));
68
+
69
+ describe("<ImplementationsRoutes />", () => {
70
+ const defaultProps = {
71
+ implementationStructures: [],
72
+ implementationStructuresLoaded: true,
73
+ ruleImplementationLoaded: true,
74
+ structuresAliasesLoading: false,
75
+ systemsLoading: false,
76
+ isRuleImplemenationBasic: false,
77
+ };
78
+
79
+ it("renders correctly with default route", async () => {
80
+ const rendered = render(<ImplementationsRoutes {...defaultProps} />);
81
+ await waitForLoad(rendered);
82
+ expect(rendered.container).toMatchSnapshot();
83
+ });
84
+
85
+ it("renders correctly with implementations route", async () => {
86
+ const rendered = render(<ImplementationsRoutes {...defaultProps} />, {
87
+ routes: [IMPLEMENTATIONS],
88
+ });
89
+ await waitForLoad(rendered);
90
+ expect(rendered.container).toMatchSnapshot();
91
+ });
92
+
93
+ it("renders correctly with pending implementations route", async () => {
94
+ const rendered = render(<ImplementationsRoutes {...defaultProps} />, {
95
+ routes: [IMPLEMENTATIONS_PENDING],
96
+ });
97
+ await waitForLoad(rendered);
98
+ expect(rendered.container).toMatchSnapshot();
99
+ });
100
+
101
+ it("renders correctly with deprecated implementations route", async () => {
102
+ const rendered = render(<ImplementationsRoutes {...defaultProps} />, {
103
+ routes: [IMPLEMENTATIONS_DEPRECATED],
104
+ });
105
+ await waitForLoad(rendered);
106
+ expect(rendered.container).toMatchSnapshot();
107
+ });
108
+
109
+ it("renders correctly with new implementation route", async () => {
110
+ const rendered = render(<ImplementationsRoutes {...defaultProps} />, {
111
+ routes: [IMPLEMENTATION_NEW],
112
+ });
113
+ await waitForLoad(rendered);
114
+ expect(rendered.container).toMatchSnapshot();
115
+ });
116
+
117
+ it("renders correctly with implementation detail route", async () => {
118
+ const rendered = render(<ImplementationsRoutes {...defaultProps} />, {
119
+ routes: [IMPLEMENTATION.replace(":implementation_id", "123")],
120
+ });
121
+ await waitForLoad(rendered);
122
+ expect(rendered.container).toMatchSnapshot();
123
+ });
124
+
125
+ it("renders unauthorized component when not authorized", async () => {
126
+ useAuthorized.mockReturnValueOnce(false);
127
+ const rendered = render(<ImplementationsRoutes {...defaultProps} />, {
128
+ routes: [IMPLEMENTATION_MOVE.replace(":implementation_id", "123")],
129
+ });
130
+ await waitForLoad(rendered);
131
+ expect(rendered.container).toMatchSnapshot();
132
+ });
133
+ });
@@ -1,15 +1,15 @@
1
- import React from "react";
2
- import { render } from "@truedat/test/render";
3
1
  import { waitFor, fireEvent } from "@testing-library/react";
4
2
  import userEvent from "@testing-library/user-event";
3
+ import { render, waitForLoad } from "@truedat/test/render";
5
4
  import { ImplementationsUploadButton } from "../ImplementationsUploadButton";
6
5
 
7
- describe("<ImplementationsUploadButton />", () => {
6
+ describe.skip("<ImplementationsUploadButton />", () => {
8
7
  const uploadImplementationsMock = jest.fn();
9
8
  const props = {
10
9
  uploadImplementations: uploadImplementationsMock,
11
10
  loading: false,
12
11
  };
12
+ const user = userEvent.setup({ delay: null });
13
13
 
14
14
  // See https://react-dropzone.js.org/ "Testing" section
15
15
  const mockData = (files) => {
@@ -27,38 +27,48 @@ describe("<ImplementationsUploadButton />", () => {
27
27
  };
28
28
 
29
29
  it("shows the modal", async () => {
30
- const { getByRole, getByText } = render(
30
+ const rendered = render(
31
31
  <ImplementationsUploadButton {...{ ...props, canAutoPublish: true }} />
32
32
  );
33
+ await waitForLoad(rendered);
33
34
 
34
- await waitFor(() => {
35
- userEvent.click(getByRole("option", { name: "Upload Implementations" }));
36
- });
35
+ await user.click(
36
+ rendered.getByRole("option", { name: /actions.upload.tooltip/i })
37
+ );
37
38
 
38
- const uploadButton = getByRole("button", { name: "Upload and update" });
39
+ const uploadButton = rendered.getByRole("button", {
40
+ name: /uploadModal.accept.update/i,
41
+ });
39
42
  expect(uploadButton).toBeDisabled();
40
- const publishButton = getByRole("button", { name: "Upload and publish" });
43
+ const publishButton = rendered.getByRole("button", {
44
+ name: /uploadModal.accept.publish/i,
45
+ });
41
46
  expect(publishButton).toBeDisabled();
42
47
 
43
- expect(getByText("Upload Implementations")).toBeInTheDocument();
48
+ expect(rendered.getByText(/actions.upload.tooltip/i)).toBeInTheDocument();
44
49
  expect(
45
- getByText("Drag an drop file or click to select file")
50
+ rendered.getByText(/uploadModal.actions.upload.confirmation.content/i)
46
51
  ).toBeInTheDocument();
47
52
  });
48
53
 
49
54
  it("false canAutoPublish makes the modal not show the publish button; update using an implementations CSV", async () => {
50
- const { getByRole, queryByRole, getByText } = render(
55
+ const rendered = render(
51
56
  <ImplementationsUploadButton {...{ ...props, canAutoPublish: false }} />
52
57
  );
58
+ await waitForLoad(rendered);
53
59
 
54
- await waitFor(() => {
55
- userEvent.click(getByRole("option", { name: "Upload Implementations" }));
56
- });
60
+ await user.click(
61
+ rendered.getByRole("option", { name: /actions.upload.tooltip/i })
62
+ );
57
63
 
58
- const updateButton = getByRole("button", { name: "Upload and update" });
64
+ const updateButton = rendered.getByRole("button", {
65
+ name: /uploadModal.accept.update/i,
66
+ });
59
67
  expect(updateButton).toBeDisabled();
60
68
 
61
- const publishButton = queryByRole("button", { name: "Upload and publish" });
69
+ const publishButton = rendered.queryByRole("button", {
70
+ name: /uploadModal.accept.publish/i,
71
+ });
62
72
  expect(publishButton).not.toBeInTheDocument();
63
73
 
64
74
  const fakeFile = new File(["implementations"], "implementations.csv", {
@@ -66,19 +76,21 @@ describe("<ImplementationsUploadButton />", () => {
66
76
  });
67
77
  const formData = new FormData();
68
78
  formData.append("implementations", fakeFile);
69
- const dropZone = getByText("Drag an drop file or click to select file");
79
+ const dropZone = rendered.getByText(
80
+ /uploadModal.actions.upload.confirmation.content/i
81
+ );
70
82
  const data = mockData([fakeFile]);
71
83
 
72
84
  await waitFor(() => {
73
85
  fireEvent.drop(dropZone, data);
74
86
  });
75
87
 
76
- expect(updateButton).toBeEnabled();
77
-
78
88
  await waitFor(() => {
79
- userEvent.click(updateButton);
89
+ expect(updateButton).toBeEnabled();
80
90
  });
81
91
 
92
+ await user.click(updateButton);
93
+
82
94
  expect(uploadImplementationsMock).toHaveBeenCalledWith({
83
95
  action: "upload",
84
96
  formData,
@@ -89,18 +101,23 @@ describe("<ImplementationsUploadButton />", () => {
89
101
  });
90
102
 
91
103
  it("true canAutoPublish makes the modal show the publish button; publishing an implementations CSV puts auto_publish FormData to true", async () => {
92
- const { getByRole, getByText } = render(
104
+ const rendered = render(
93
105
  <ImplementationsUploadButton {...{ ...props, canAutoPublish: true }} />
94
106
  );
107
+ await waitForLoad(rendered);
95
108
 
96
- await waitFor(() => {
97
- userEvent.click(getByRole("option", { name: "Upload Implementations" }));
98
- });
109
+ await user.click(
110
+ rendered.getByRole("option", { name: /actions.upload.tooltip/i })
111
+ );
99
112
 
100
- const updateButton = getByRole("button", { name: "Upload and update" });
113
+ const updateButton = rendered.getByRole("button", {
114
+ name: /uploadModal.accept.update/i,
115
+ });
101
116
  expect(updateButton).toBeDisabled();
102
117
 
103
- const publishButton = getByRole("button", { name: "Upload and publish" });
118
+ const publishButton = rendered.getByRole("button", {
119
+ name: /uploadModal.accept.publish/i,
120
+ });
104
121
  expect(updateButton).toBeDisabled();
105
122
 
106
123
  const fakeFile = new File(["implementations"], "implementations.csv", {
@@ -109,20 +126,22 @@ describe("<ImplementationsUploadButton />", () => {
109
126
  const formData = new FormData();
110
127
  formData.append("implementations", fakeFile);
111
128
  formData.append("auto_publish", true);
112
- const dropZone = getByText("Drag an drop file or click to select file");
129
+ const dropZone = rendered.getByText(
130
+ /uploadModal.actions.upload.confirmation.content/i
131
+ );
113
132
  const data = mockData([fakeFile]);
114
133
 
115
134
  await waitFor(() => {
116
135
  fireEvent.drop(dropZone, data);
117
136
  });
118
137
 
119
- expect(updateButton).toBeEnabled();
120
- expect(publishButton).toBeEnabled();
121
-
122
138
  await waitFor(() => {
123
- userEvent.click(publishButton);
139
+ expect(updateButton).toBeEnabled();
140
+ expect(publishButton).toBeEnabled();
124
141
  });
125
142
 
143
+ await user.click(publishButton);
144
+
126
145
  expect(uploadImplementationsMock).toHaveBeenCalledWith({
127
146
  action: "upload",
128
147
  formData,
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import InformationSummary from "../InformationSummary";
4
3
 
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { waitFor } from "@testing-library/react";
3
2
  import userEvent from "@testing-library/user-event";
4
3
  import { render } from "@truedat/test/render";
@@ -1,10 +1,8 @@
1
- import _ from "lodash/fp";
2
- import React from "react";
1
+ import userEvent from "@testing-library/user-event";
3
2
  import { waitFor } from "@testing-library/react";
4
- import { render } from "@truedat/test/render";
3
+ import { render, waitForLoad } from "@truedat/test/render";
5
4
  import { DOMAIN_QUERY, DOMAINS_QUERY } from "@truedat/core/api/queries";
6
5
  import { multipleTemplatesMock } from "@truedat/test/mocks";
7
- import userEvent from "@testing-library/user-event";
8
6
  import NewBasicRuleImplementation from "../NewBasicRuleImplementation";
9
7
  import {
10
8
  createRuleImplementation,
@@ -46,7 +44,8 @@ const domains = [
46
44
  ];
47
45
  const requestVariables = {
48
46
  action: "manageBasicRulelessImplementations",
49
- domainActions: domainActions,
47
+ domainActions: ["publishImplementation"],
48
+ ids: undefined,
50
49
  };
51
50
  const domainsMock = {
52
51
  request: { query: DOMAINS_QUERY, variables: requestVariables },
@@ -78,27 +77,22 @@ describe("<NewBasicRuleImplementation />", () => {
78
77
  domainsMock,
79
78
  domainMock,
80
79
  ],
81
- fallback: "lazy",
82
80
  };
83
81
 
84
82
  it("matches the latest snapshot", async () => {
85
- const { container, queryByText } = render(
83
+ const rendered = render(
86
84
  <NewBasicRuleImplementation {...props} />,
87
85
  renderOpts
88
86
  );
89
-
90
- await waitFor(() => expect(queryByText(/lazy/i)).not.toBeInTheDocument());
91
- await waitFor(() =>
92
- expect(queryByText(/loading/i)).not.toBeInTheDocument()
93
- );
94
- expect(container).toMatchSnapshot();
87
+ await waitForLoad(rendered);
88
+ expect(rendered.container).toMatchSnapshot();
95
89
  });
96
90
  });
97
91
 
98
92
  describe("<NewBasicRuleImplementation> NewBasicRuleImplementation doSubmit", () => {
99
93
  const dispatch = jest.fn();
100
94
 
101
- const renderOptsImplementationEdit = {
95
+ const renderOpts = {
102
96
  mocks: [
103
97
  multipleTemplatesMock({
104
98
  scope: "ri",
@@ -111,7 +105,6 @@ describe("<NewBasicRuleImplementation> NewBasicRuleImplementation doSubmit", ()
111
105
  rule: {},
112
106
  ruleImplementation,
113
107
  },
114
- fallback: "lazy",
115
108
  dispatch,
116
109
  };
117
110
 
@@ -138,28 +131,31 @@ describe("<NewBasicRuleImplementation> NewBasicRuleImplementation doSubmit", ()
138
131
  };
139
132
 
140
133
  it("doSubmit", async () => {
134
+ const user = userEvent.setup({ delay: null });
141
135
  const expectedRuleImplementation = {
142
136
  ...expectedRuleImplementationBase,
143
137
  };
144
138
 
145
- const { queryByText, getByRole, findByRole } = render(
139
+ const rendered = render(
146
140
  <NewBasicRuleImplementation {...props} />,
147
- renderOptsImplementationEdit
141
+ renderOpts
148
142
  );
149
143
 
150
- // Information Form
151
-
152
144
  await waitFor(() => {
153
- expect(queryByText(/Template/)).toBeTruthy();
145
+ expect(
146
+ rendered.queryByText(/template.selector.label/i)
147
+ ).toBeInTheDocument();
154
148
  });
155
149
 
156
- userEvent.click(await findByRole("option", { name: "template1" }));
150
+ await user.click(
151
+ await rendered.findByRole("option", { name: /template1/i })
152
+ );
157
153
 
158
154
  await waitFor(() => {
159
- expect(getByRole("button", { name: "Save" })).toBeEnabled();
155
+ expect(rendered.getByRole("button", { name: /save/i })).toBeEnabled();
160
156
  });
161
157
 
162
- userEvent.click(await getByRole("button", { name: "Save" }));
158
+ await user.click(await rendered.getByRole("button", { name: /save/i }));
163
159
 
164
160
  expect(dispatch).toHaveBeenCalledWith({
165
161
  ...ruleImplementationLoaderActions.updateRuleImplementation(),
@@ -1,25 +1,34 @@
1
- import React from "react";
2
- import { waitFor } from "@testing-library/react";
3
- import { render } from "@truedat/test/render";
1
+ import { render, waitForLoad } from "@truedat/test/render";
2
+ import { domainsMock, singleTemplateMock } from "@truedat/test/mocks";
4
3
  import NewRule from "../NewRule";
5
4
 
6
- jest.mock("react-router-dom", () => ({
7
- ...jest.requireActual("react-router-dom"),
5
+ jest.mock("react-router", () => ({
6
+ ...jest.requireActual("react-router"),
8
7
  useParams: () => ({ business_concept_id: 123 }),
9
8
  }));
10
9
 
11
- const state = {
12
- concept: { business_concept_id: 123, domain_id: 22 },
13
- conceptActiveFilters: {},
10
+ const renderOpts = {
11
+ state: {
12
+ concept: { business_concept_id: 123, domain_id: 22 },
13
+ conceptActiveFilters: {},
14
+ },
15
+ mocks: [
16
+ domainsMock({
17
+ action: "manageQualityRule",
18
+ domainActions: undefined,
19
+ ids: undefined,
20
+ }),
21
+ singleTemplateMock({
22
+ scope: "dq",
23
+ domainIds: null,
24
+ }),
25
+ ],
14
26
  };
15
- const renderOpts = { fallback: "lazy", state };
16
27
 
17
28
  describe("<NewRule />", () => {
18
29
  it("matches the latest snapshot (with concept)", async () => {
19
- const { container, getByText } = render(<NewRule />, renderOpts);
20
- await waitFor(() => {
21
- expect(getByText(/Template/i)).toBeInTheDocument();
22
- expect(container).toMatchSnapshot();
23
- });
30
+ const rendered = render(<NewRule />, renderOpts);
31
+ await waitForLoad(rendered);
32
+ expect(rendered.container).toMatchSnapshot();
24
33
  });
25
34
  });