@truedat/dq 7.5.9 → 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
@@ -1,8 +1,8 @@
1
1
  import _ from "lodash/fp";
2
- import React, { Fragment, useEffect, useState } from "react";
2
+ import { Fragment, useEffect, useState } from "react";
3
3
  import PropTypes from "prop-types";
4
4
  import { connect } from "react-redux";
5
- import { useHistory } from "react-router-dom";
5
+ import { useNavigate } from "react-router";
6
6
  import { FormattedMessage, useIntl } from "react-intl";
7
7
  import {
8
8
  Button,
@@ -63,7 +63,7 @@ export const RuleImplementationForm = ({
63
63
  setValidations,
64
64
  }) => {
65
65
  const { formatMessage } = useIntl();
66
- const history = useHistory();
66
+ const navigate = useNavigate();
67
67
 
68
68
  const [steps, setSteps] = useState([]);
69
69
  const [activeStep, setActiveStep] = useState("information");
@@ -287,8 +287,8 @@ export const RuleImplementationForm = ({
287
287
  return _.isEmpty(nextStep)
288
288
  ? null
289
289
  : nextStep?.disabled
290
- ? getNextStep(nextStep.name)
291
- : _.prop("name")(nextStep);
290
+ ? getNextStep(nextStep.name)
291
+ : _.prop("name")(nextStep);
292
292
  };
293
293
 
294
294
  const setPreviousStep = (stepName) => {
@@ -307,8 +307,8 @@ export const RuleImplementationForm = ({
307
307
  return _.isEmpty(prevStep)
308
308
  ? null
309
309
  : prevStep?.disabled
310
- ? getPreviousStep(prevStep.name)
311
- : _.prop("name")(prevStep);
310
+ ? getPreviousStep(prevStep.name)
311
+ : _.prop("name")(prevStep);
312
312
  };
313
313
 
314
314
  const isButtonDisabled = (currentStep) =>
@@ -332,7 +332,7 @@ export const RuleImplementationForm = ({
332
332
  }
333
333
  };
334
334
 
335
- const doCancel = () => history.goBack();
335
+ const doCancel = () => navigate(-1);
336
336
 
337
337
  const {
338
338
  dataset: structures,
@@ -1,8 +1,9 @@
1
1
  import _ from "lodash/fp";
2
- import React, { useState, useEffect } from "react";
2
+ import { lazy, useState, useEffect } from "react";
3
3
  import PropTypes from "prop-types";
4
4
  import { connect } from "react-redux";
5
- import { useHistory, useLocation } from "react-router-dom";
5
+ import { useLocation } from "react-router";
6
+ import { useNavigate } from "react-router";
6
7
  import { FormattedMessage, useIntl } from "react-intl";
7
8
  import { gql, useQuery } from "@apollo/client";
8
9
  import { Loading } from "@truedat/core/components";
@@ -13,8 +14,8 @@ import { DOMAIN_QUERY } from "@truedat/core/api/queries";
13
14
  import LimitsForm from "./LimitsForm";
14
15
  import { areLimitsValid } from "./limitsValidation";
15
16
 
16
- const SelectableDynamicForm = React.lazy(() =>
17
- import("@truedat/df/components/SelectableDynamicForm")
17
+ const SelectableDynamicForm = lazy(
18
+ () => import("@truedat/df/components/SelectableDynamicForm")
18
19
  );
19
20
 
20
21
  const DomainActionsLoader = ({ id, actions, onLoad }) => {
@@ -67,7 +68,7 @@ export const RuleImplementationRawForm = ({
67
68
  sourcesLoading,
68
69
  }) => {
69
70
  const { formatMessage } = useIntl();
70
- const history = useHistory();
71
+ const navigate = useNavigate();
71
72
 
72
73
  const domainActions = ["publishImplementation"];
73
74
 
@@ -181,7 +182,7 @@ export const RuleImplementationRawForm = ({
181
182
  validations: validateContent("validations"),
182
183
  });
183
184
 
184
- const doCancel = () => history.goBack();
185
+ const doCancel = () => navigate(-1);
185
186
  const errors = getErrors();
186
187
  const domainId =
187
188
  conceptDomainId || ruleImplementation?.domain_id || rule?.domain_id;
@@ -293,7 +294,7 @@ export const RuleImplementationRawForm = ({
293
294
  label={
294
295
  <label htmlFor="dataset">
295
296
  <FormattedMessage id="ruleImplementationRawForm.props.dataset" />
296
- <Help message="ruleImplementationRawForm.props.dataset.help"></Help>
297
+ <Help message="ruleImplementationRawForm.props.dataset.help" />
297
298
  </label>
298
299
  }
299
300
  id="dataset"
@@ -317,7 +318,7 @@ export const RuleImplementationRawForm = ({
317
318
  label={
318
319
  <label>
319
320
  <FormattedMessage id="ruleImplementationRawForm.props.population" />
320
- <Help message="ruleImplementationRawForm.props.population.help"></Help>
321
+ <Help message="ruleImplementationRawForm.props.population.help" />
321
322
  </label>
322
323
  }
323
324
  name="population"
@@ -339,7 +340,7 @@ export const RuleImplementationRawForm = ({
339
340
  label={
340
341
  <label>
341
342
  <FormattedMessage id="ruleImplementationRawForm.props.validations" />
342
- <Help message="ruleImplementationRawForm.props.validations.help"></Help>
343
+ <Help message="ruleImplementationRawForm.props.validations.help" />
343
344
  </label>
344
345
  }
345
346
  name="validations"
@@ -1,5 +1,4 @@
1
1
  import _ from "lodash/fp";
2
- import React from "react";
3
2
  import PropTypes from "prop-types";
4
3
  import { dropAt, replaceAt } from "@truedat/core/services/arrays";
5
4
  import { FieldsGrid } from "./FieldsGrid";
@@ -1,6 +1,5 @@
1
1
  import _ from "lodash/fp";
2
2
  import PropTypes from "prop-types";
3
- import React from "react";
4
3
  import { Form } from "semantic-ui-react";
5
4
 
6
5
  export const StringField = ({ name, label, value, onChange }) => {
@@ -10,7 +9,7 @@ export const StringField = ({ name, label, value, onChange }) => {
10
9
  label={label ? label : ""}
11
10
  value={_.isEmpty(raw) ? "" : raw}
12
11
  name={name}
13
- onChange={e => onChange(e, _.path("target.value", e))}
12
+ onChange={(e) => onChange(e, _.path("target.value", e))}
14
13
  />
15
14
  );
16
15
  };
@@ -19,7 +18,7 @@ StringField.propTypes = {
19
18
  name: PropTypes.string,
20
19
  label: PropTypes.string,
21
20
  value: PropTypes.string,
22
- onChange: PropTypes.func
21
+ onChange: PropTypes.func,
23
22
  };
24
23
 
25
24
  export default StringField;
@@ -1,6 +1,5 @@
1
1
  import _ from "lodash/fp";
2
2
  import PropTypes from "prop-types";
3
- import React from "react";
4
3
  import { Form } from "semantic-ui-react";
5
4
 
6
5
  export const StringListField = ({ name, label, value, onChange }) => {
@@ -18,7 +17,7 @@ export const StringListField = ({ name, label, value, onChange }) => {
18
17
  options={["", ...raw].map((o, i) => ({
19
18
  key: i,
20
19
  value: o,
21
- text: o
20
+ text: o,
22
21
  }))}
23
22
  />
24
23
  );
@@ -27,7 +26,7 @@ export const StringListField = ({ name, label, value, onChange }) => {
27
26
  StringListField.propTypes = {
28
27
  name: PropTypes.string,
29
28
  label: PropTypes.string,
30
- onChange: PropTypes.func
29
+ onChange: PropTypes.func,
31
30
  };
32
31
 
33
32
  export default StringListField;
@@ -1,5 +1,4 @@
1
1
  import _ from "lodash/fp";
2
- import React from "react";
3
2
  import PropTypes from "prop-types";
4
3
  import { dropAt, replaceAt } from "@truedat/core/services/arrays";
5
4
  import { FiltersGrid } from "./FiltersGrid";
@@ -1,5 +1,5 @@
1
1
  import _ from "lodash/fp";
2
- import React from "react";
2
+ import { Fragment } from "react";
3
3
  import PropTypes from "prop-types";
4
4
  import { Button, Grid, Icon } from "semantic-ui-react";
5
5
  import { dropAt, replaceAt } from "@truedat/core/services/arrays";
@@ -75,7 +75,7 @@ export const ValueConditions = ({
75
75
  };
76
76
 
77
77
  return population.map((clause, index) => (
78
- <React.Fragment key={index}>
78
+ <Fragment key={index}>
79
79
  <Grid.Row>
80
80
  <Grid.Column width={14}>
81
81
  <FiltersFormGroup
@@ -107,7 +107,7 @@ export const ValueConditions = ({
107
107
  />
108
108
  </Grid.Column>
109
109
  </Grid.Row>
110
- </React.Fragment>
110
+ </Fragment>
111
111
  ));
112
112
  };
113
113
 
@@ -1,9 +1,6 @@
1
- import React from "react";
2
- import { render } from "@truedat/test/render";
3
- import { waitFor } from "@testing-library/react";
1
+ import { render, waitForLoad } from "@truedat/test/render";
4
2
  import { REFERENCE_DATASETS_HEADERS_QUERY } from "@truedat/dd/api/queries";
5
3
  import DatasetForm from "../DatasetForm";
6
- import en from "../../../messages/en";
7
4
 
8
5
  const referenceDatasetsMock = {
9
6
  request: { query: REFERENCE_DATASETS_HEADERS_QUERY },
@@ -21,12 +18,10 @@ const referenceDatasetsMock = {
21
18
  },
22
19
  },
23
20
  };
24
- const messages = { en };
25
21
 
26
22
  const renderOpts = {
27
23
  mocks: [referenceDatasetsMock],
28
- messages,
29
- fallback: "lazy",
24
+ state: {},
30
25
  };
31
26
 
32
27
  describe("<DatasetForm />", () => {
@@ -47,16 +42,8 @@ describe("<DatasetForm />", () => {
47
42
  };
48
43
 
49
44
  it("matches the latest snapshot", async () => {
50
- const { container, queryByText } = render(
51
- <DatasetForm {...props} />,
52
- renderOpts
53
- );
54
-
55
- await waitFor(() => {
56
- expect(queryByText(/lazy/i)).not.toBeInTheDocument();
57
- expect(container.querySelector(".loader")).not.toBeInTheDocument();
58
- });
59
-
60
- expect(container).toMatchSnapshot();
45
+ const rendered = render(<DatasetForm {...props} />, renderOpts);
46
+ await waitForLoad(rendered);
47
+ expect(rendered.container).toMatchSnapshot();
61
48
  });
62
49
  });
@@ -1,12 +1,6 @@
1
- import React from "react";
2
- import { intl } from "@truedat/test/intl-stub";
3
- import { shallow } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
4
2
  import { FiltersField } from "../FiltersField";
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("<FiltersField />", () => {
11
5
  const onChange = jest.fn();
12
6
  const fieldType = "string";
@@ -37,8 +31,9 @@ describe("<FiltersField />", () => {
37
31
  value,
38
32
  };
39
33
 
40
- it("matches the latest snapshot", () => {
41
- const wrapper = shallow(<FiltersField {...props} />);
42
- expect(wrapper).toMatchSnapshot();
34
+ it("matches the latest snapshot", async () => {
35
+ const rendered = render(<FiltersField {...props} />);
36
+ await waitForLoad(rendered);
37
+ expect(rendered.container).toMatchSnapshot();
43
38
  });
44
39
  });
@@ -1,7 +1,6 @@
1
- import React, { Suspense } from "react";
2
- import { render } from "@truedat/test/render";
3
1
  import { createStore } from "redux";
4
2
  import { Provider } from "react-redux";
3
+ import { render, waitForLoad } from "@truedat/test/render";
5
4
  import { FiltersFormGroup } from "../FiltersFormGroup";
6
5
 
7
6
  describe("<FiltersFormGroup />", () => {
@@ -41,27 +40,14 @@ describe("<FiltersFormGroup />", () => {
41
40
  scope,
42
41
  };
43
42
 
44
- const messages = {
45
- en: {
46
- "filtersGrid.field.label": "Field",
47
- "filtersGrid.field.operator": "Operator",
48
- "operator.dropdown.placeholder": "Operator Dropdown",
49
- "filtersGrid.field.value": "Value",
50
- },
51
- };
52
-
53
- it("matches the latest snapshot", () => {
43
+ it("matches the latest snapshot", async () => {
54
44
  const store = createStore(() => ({ structuresSiblings }));
55
- const { container } = render(
45
+ const rendered = render(
56
46
  <Provider store={store}>
57
- <Suspense fallback={null}>
58
- <FiltersFormGroup {...props} />
59
- </Suspense>
60
- </Provider>,
61
- {
62
- messages,
63
- }
47
+ <FiltersFormGroup {...props} />
48
+ </Provider>
64
49
  );
65
- expect(container).toMatchSnapshot();
50
+ await waitForLoad(rendered);
51
+ expect(rendered.container).toMatchSnapshot();
66
52
  });
67
53
  });
@@ -1,5 +1,5 @@
1
- import React, { Suspense } from "react";
2
- import { render } from "@truedat/test/render";
1
+ import userEvent from "@testing-library/user-event";
2
+ import { render, waitForLoad } from "@truedat/test/render";
3
3
  import { createStore } from "redux";
4
4
  import { Provider } from "react-redux";
5
5
  import { FiltersGroup } from "../FiltersGroup";
@@ -63,29 +63,20 @@ describe("<FiltersGroup />", () => {
63
63
  setRowValue,
64
64
  };
65
65
 
66
- const messages = {
67
- en: {
68
- "filtersGrid.field.filters.popup": "Filters",
69
- "filtersGrid.field.filters.deletion.popup": "Delete Filters",
70
- "operator.dropdown.placeholder": "Operator Dropdown",
71
- "filtersGrid.field.label": "Field",
72
- "filtersGrid.field.operator": "Operator",
73
- "filtersGrid.field.value": "Value",
66
+ const renderOpts = {
67
+ state: {
68
+ structuresSiblings,
74
69
  },
75
70
  };
76
71
 
77
- it("matches the latest snapshot when siblings provided", () => {
78
- const store = createStore(() => ({ structuresSiblings }));
79
- const { container } = render(
80
- <Provider store={store}>
81
- <Suspense fallback={null}>
82
- <FiltersGroup {...props} />
83
- </Suspense>
72
+ it("matches the latest snapshot when siblings provided", async () => {
73
+ const rendered = render(
74
+ <Provider store={createStore(() => ({ structuresSiblings }))}>
75
+ <FiltersGroup {...props} />
84
76
  </Provider>,
85
- {
86
- messages,
87
- }
77
+ renderOpts
88
78
  );
89
- expect(container).toMatchSnapshot();
79
+ await waitForLoad(rendered);
80
+ expect(rendered.container).toMatchSnapshot();
90
81
  });
91
82
  });
@@ -1,6 +1,7 @@
1
- import React from "react";
2
1
  import { waitFor } from "@testing-library/react";
3
2
  import { render } from "@truedat/test/render";
3
+ import { multipleTemplatesMock } from "@truedat/test/mocks";
4
+
4
5
  import { DOMAINS_QUERY } from "@truedat/core/api/queries";
5
6
  import InformationForm from "../InformationForm";
6
7
 
@@ -22,12 +23,17 @@ const domainsMock = {
22
23
  result: { data: { domains: domains } },
23
24
  };
24
25
  const renderOpts = {
25
- mocks: [domainsMock],
26
+ mocks: [
27
+ domainsMock,
28
+ multipleTemplatesMock({
29
+ scope: "ri",
30
+ domainIds: null,
31
+ }),
32
+ ],
26
33
  state: {
27
34
  rule: {},
28
35
  ruleImplementationCreating: true,
29
36
  },
30
- fallback: "lazy",
31
37
  };
32
38
 
33
39
  describe("<RuleImplementationForm />", () => {
@@ -1,10 +1,9 @@
1
- import React from "react";
2
1
  import { fireEvent } from "@testing-library/react";
3
- import { render } from "@truedat/test/render";
2
+ import { render, waitForLoad } from "@truedat/test/render";
4
3
  import LimitsForm from "../LimitsForm";
5
4
 
6
5
  describe("<LimitsForm />", () => {
7
- it("input changes calls onChange prop", () => {
6
+ it("input changes calls onChange prop", async () => {
8
7
  const onChange = jest.fn();
9
8
  const props = {
10
9
  ruleImplementation: {
@@ -15,16 +14,17 @@ describe("<LimitsForm />", () => {
15
14
  onChange,
16
15
  };
17
16
 
18
- const { container } = render(<LimitsForm {...props} />);
17
+ const rendered = render(<LimitsForm {...props} />);
18
+ await waitForLoad(rendered);
19
19
 
20
- fireEvent.change(container.querySelector("input[name=goal]"), {
20
+ fireEvent.change(rendered.container.querySelector("input[name=goal]"), {
21
21
  target: { name: "goal", value: "5" },
22
22
  });
23
23
 
24
24
  expect(onChange).toBeCalledWith("goal", "5");
25
25
  });
26
26
 
27
- it("shows required label", () => {
27
+ it("shows required label", async () => {
28
28
  const props = {
29
29
  ruleImplementation: {
30
30
  goal: null,
@@ -34,15 +34,20 @@ describe("<LimitsForm />", () => {
34
34
  onChange: jest.fn(),
35
35
  };
36
36
 
37
- const { container, getByText } = render(<LimitsForm {...props} />);
38
- expect(container).toMatchSnapshot();
39
-
40
- const errorText = "Required field is empty";
41
- expect(getByText("Goal")).toHaveTextContent(errorText);
42
- expect(getByText("Threshold")).toHaveTextContent(errorText);
37
+ const rendered = render(<LimitsForm {...props} />);
38
+ await waitForLoad(rendered);
39
+ expect(rendered.container).toMatchSnapshot();
40
+
41
+ const errorText = /empty_required/i;
42
+ expect(
43
+ rendered.getByText(/ruleImplementations.props.goal/i)
44
+ ).toHaveTextContent(errorText);
45
+ expect(
46
+ rendered.getByText(/ruleImplementations.props.minimum/i)
47
+ ).toHaveTextContent(errorText);
43
48
  });
44
49
 
45
- it("shows invalid number label", () => {
50
+ it("shows invalid number label", async () => {
46
51
  const props = {
47
52
  ruleImplementation: {
48
53
  goal: "text",
@@ -52,15 +57,20 @@ describe("<LimitsForm />", () => {
52
57
  onChange: jest.fn(),
53
58
  };
54
59
 
55
- const { container, getByText } = render(<LimitsForm {...props} />);
56
- expect(container).toMatchSnapshot();
57
-
58
- const errorText = "Invalid number format";
59
- expect(getByText("Goal")).toHaveTextContent(errorText);
60
- expect(getByText("Threshold")).toHaveTextContent(errorText);
60
+ const rendered = render(<LimitsForm {...props} />);
61
+ await waitForLoad(rendered);
62
+ expect(rendered.container).toMatchSnapshot();
63
+
64
+ const errorText = /invalid_number_format/i;
65
+ expect(
66
+ rendered.getByText(/ruleImplementations.props.goal/i)
67
+ ).toHaveTextContent(errorText);
68
+ expect(
69
+ rendered.getByText(/ruleImplementations.props.minimum/i)
70
+ ).toHaveTextContent(errorText);
61
71
  });
62
72
 
63
- it("shows label for percentage goal over 100", () => {
73
+ it("shows label for percentage goal over 100", async () => {
64
74
  const props = {
65
75
  ruleImplementation: {
66
76
  goal: "200",
@@ -70,14 +80,17 @@ describe("<LimitsForm />", () => {
70
80
  onChange: jest.fn(),
71
81
  };
72
82
 
73
- const { container, getByText } = render(<LimitsForm {...props} />);
74
- expect(container).toMatchSnapshot();
83
+ const rendered = render(<LimitsForm {...props} />);
84
+ await waitForLoad(rendered);
85
+ expect(rendered.container).toMatchSnapshot();
75
86
 
76
- const errorText = "Goal percentage cannot be greater than 100";
77
- expect(getByText("Goal")).toHaveTextContent(errorText);
87
+ const errorText = /form.validation.max_goal/i;
88
+ expect(
89
+ rendered.getByText(/ruleImplementations.props.goal/i)
90
+ ).toHaveTextContent(errorText);
78
91
  });
79
92
 
80
- it("shows label for percentage goal greater than minimum", () => {
93
+ it("shows label for percentage goal greater than minimum", async () => {
81
94
  const props = {
82
95
  ruleImplementation: {
83
96
  goal: 20,
@@ -87,18 +100,19 @@ describe("<LimitsForm />", () => {
87
100
  onChange: jest.fn(),
88
101
  };
89
102
 
90
- const { container, getByText } = render(<LimitsForm {...props} />);
91
- expect(container).toMatchSnapshot();
103
+ const rendered = render(<LimitsForm {...props} />);
104
+ await waitForLoad(rendered);
105
+ expect(rendered.container).toMatchSnapshot();
92
106
 
93
- expect(getByText("Goal")).toHaveTextContent(
94
- "Goal must be greater than (or equal to) the threshold (higher goal is better)."
95
- );
96
- expect(getByText("Threshold")).toHaveTextContent(
97
- "Threshold must be lower than (or equal to) the goal"
98
- );
107
+ expect(
108
+ rendered.getByText(/ruleImplementations.props.goal/i)
109
+ ).toHaveTextContent(/form.validation.goal_less/i);
110
+ expect(
111
+ rendered.getByText(/ruleImplementations.props.minimum/i)
112
+ ).toHaveTextContent(/form.validation.minimum_greater/i);
99
113
  });
100
114
 
101
- it("shows label for deviation minimum greater than 100", () => {
115
+ it("shows label for deviation minimum greater than 100", async () => {
102
116
  const props = {
103
117
  ruleImplementation: {
104
118
  goal: "1",
@@ -108,15 +122,16 @@ describe("<LimitsForm />", () => {
108
122
  onChange: jest.fn(),
109
123
  };
110
124
 
111
- const { container, getByText } = render(<LimitsForm {...props} />);
112
- expect(container).toMatchSnapshot();
125
+ const rendered = render(<LimitsForm {...props} />);
126
+ await waitForLoad(rendered);
127
+ expect(rendered.container).toMatchSnapshot();
113
128
 
114
- expect(getByText("Threshold")).toHaveTextContent(
115
- "Threshold percentage cannot be greater than 100"
116
- );
129
+ expect(
130
+ rendered.getByText(/ruleImplementations.props.minimum/i)
131
+ ).toHaveTextContent(/form.validation.max_minimum/i);
117
132
  });
118
133
 
119
- it("shows label for deviation minimum greater than goal", () => {
134
+ it("shows label for deviation minimum greater than goal", async () => {
120
135
  const props = {
121
136
  ruleImplementation: {
122
137
  goal: "50",
@@ -126,18 +141,19 @@ describe("<LimitsForm />", () => {
126
141
  onChange: jest.fn(),
127
142
  };
128
143
 
129
- const { container, getByText } = render(<LimitsForm {...props} />);
130
- expect(container).toMatchSnapshot();
144
+ const rendered = render(<LimitsForm {...props} />);
145
+ await waitForLoad(rendered);
146
+ expect(rendered.container).toMatchSnapshot();
131
147
 
132
- expect(getByText("Goal")).toHaveTextContent(
133
- "Goal must be less than (or equal to) the threshold (lower goal is better)"
134
- );
135
- expect(getByText("Threshold")).toHaveTextContent(
136
- "Threshold must greater than (or equal to) the goal"
137
- );
148
+ expect(
149
+ rendered.getByText(/ruleImplementations.props.goal/i)
150
+ ).toHaveTextContent(/form.validation.goal.less_eq.minimum/i);
151
+ expect(
152
+ rendered.getByText(/ruleImplementations.props.minimum/i)
153
+ ).toHaveTextContent(/form.validation.minimum.greater_eq.goal/i);
138
154
  });
139
155
 
140
- it("shows label for errors_number minimum greater than goal", () => {
156
+ it("shows label for errors_number minimum greater than goal", async () => {
141
157
  const props = {
142
158
  ruleImplementation: {
143
159
  goal: "200",
@@ -147,14 +163,15 @@ describe("<LimitsForm />", () => {
147
163
  onChange: jest.fn(),
148
164
  };
149
165
 
150
- const { container, getByText } = render(<LimitsForm {...props} />);
151
- expect(container).toMatchSnapshot();
166
+ const rendered = render(<LimitsForm {...props} />);
167
+ await waitForLoad(rendered);
168
+ expect(rendered.container).toMatchSnapshot();
152
169
 
153
- expect(getByText("Goal")).toHaveTextContent(
154
- "Goal must be less than (or equal to) the threshold (lower goal is better)"
155
- );
156
- expect(getByText("Threshold")).toHaveTextContent(
157
- "Threshold must greater than (or equal to) the goal"
158
- );
170
+ expect(
171
+ rendered.getByText(/ruleImplementations.props.goal/i)
172
+ ).toHaveTextContent(/form.validation.goal.less_eq.minimum/i);
173
+ expect(
174
+ rendered.getByText(/ruleImplementations.props.minimum/i)
175
+ ).toHaveTextContent(/form.validation.minimum.greater_eq.goal/i);
159
176
  });
160
177
  });