@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,23 +1,99 @@
1
1
  import React from "react";
2
- import { render } from "@truedat/test/render";
2
+ import { render, waitForLoad } from "@truedat/test/render";
3
3
  import { RuleRoutes } from "../RuleRoutes";
4
+ import { useAuthorized } from "@truedat/core/hooks/useAuthorized";
5
+ import {
6
+ RULE,
7
+ RULE_EDIT,
8
+ RULE_EVENTS,
9
+ RULE_IMPLEMENTATION_NEW,
10
+ RULE_IMPLEMENTATION_NEW_RAW,
11
+ RULE_IMPLEMENTATIONS,
12
+ } from "@truedat/core/routes";
4
13
 
5
- describe("<RuleRoutes>", () => {
6
- const props = {
7
- rule: {},
8
- implementationStructures: [],
14
+ jest.mock("@truedat/core/hooks/useAuthorized", () => ({
15
+ useAuthorized: jest.fn(() => true),
16
+ }));
17
+
18
+ // Mock child components
19
+ jest.mock("../EditRule", () => () => <div>EditRule</div>);
20
+ jest.mock("../NewRuleImplementation", () => () => (
21
+ <div>NewRuleImplementation</div>
22
+ ));
23
+ jest.mock("../Rule", () => () => <div>Rule</div>);
24
+ jest.mock("../RuleCrumbs", () => () => <div>RuleCrumbs</div>);
25
+ jest.mock("../RuleEvents", () => () => <div>RuleEvents</div>);
26
+ jest.mock("../RuleFormImplementations", () => () => (
27
+ <div>RuleFormImplementations</div>
28
+ ));
29
+ jest.mock("../RuleProperties", () => () => <div>RuleProperties</div>);
30
+
31
+ jest.mock("@truedat/df/components/DynamicFormViewer", () => () => (
32
+ <div>DynamicFormViewer</div>
33
+ ));
34
+
35
+ describe("<RuleRoutes />", () => {
36
+ const defaultProps = {
37
+ rule: { name: "Test Rule", df_name: "test" },
9
38
  ruleLoaded: true,
10
- template: {},
11
- ruleImplementation: {},
12
- ruleImplementationLoaded: true,
13
- implementationStructuresLoaded: true,
14
- systemsLoading: true,
39
+ structuresAliasesLoading: false,
40
+ systemsLoading: false,
41
+ template: { name: "test" },
15
42
  templatesLoaded: true,
16
- structuresAliasesLoading: true,
17
43
  };
18
44
 
19
- it("matches the latest snapshot", () => {
20
- const { container } = render(<RuleRoutes {...props} />, {});
21
- expect(container).toMatchSnapshot();
45
+ it("renders correctly with default route", async () => {
46
+ const rendered = render(<RuleRoutes {...defaultProps} />);
47
+ await waitForLoad(rendered);
48
+ expect(rendered.container).toMatchSnapshot();
49
+ });
50
+
51
+ it("renders correctly with edit route", async () => {
52
+ const rendered = render(<RuleRoutes {...defaultProps} />, {
53
+ routes: [RULE_EDIT.replace(":id", "123")],
54
+ });
55
+ await waitForLoad(rendered);
56
+ expect(rendered.container).toMatchSnapshot();
57
+ });
58
+
59
+ it("renders correctly with events route", async () => {
60
+ const rendered = render(<RuleRoutes {...defaultProps} />, {
61
+ routes: [RULE_EVENTS.replace(":id", "123")],
62
+ });
63
+ await waitForLoad(rendered);
64
+ expect(rendered.container).toMatchSnapshot();
65
+ });
66
+
67
+ it("renders correctly with implementations route", async () => {
68
+ const rendered = render(<RuleRoutes {...defaultProps} />, {
69
+ routes: [RULE_IMPLEMENTATIONS.replace(":id", "123")],
70
+ });
71
+ await waitForLoad(rendered);
72
+ expect(rendered.container).toMatchSnapshot();
73
+ });
74
+
75
+ it("renders correctly with new implementation route", async () => {
76
+ const rendered = render(<RuleRoutes {...defaultProps} />, {
77
+ routes: [RULE_IMPLEMENTATION_NEW.replace(":id", "123")],
78
+ });
79
+ await waitForLoad(rendered);
80
+ expect(rendered.container).toMatchSnapshot();
81
+ });
82
+
83
+ it("renders correctly with new raw implementation route", async () => {
84
+ const rendered = render(<RuleRoutes {...defaultProps} />, {
85
+ routes: [RULE_IMPLEMENTATION_NEW_RAW.replace(":id", "123")],
86
+ });
87
+ await waitForLoad(rendered);
88
+ expect(rendered.container).toMatchSnapshot();
89
+ });
90
+
91
+ it("renders unauthorized component when not authorized", async () => {
92
+ useAuthorized.mockReturnValueOnce(false);
93
+ const rendered = render(<RuleRoutes {...defaultProps} />, {
94
+ routes: [RULE_EDIT.replace(":id", "123")],
95
+ });
96
+ await waitForLoad(rendered);
97
+ expect(rendered.container).toMatchSnapshot();
22
98
  });
23
99
  });
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import _ from "lodash/fp";
3
2
  import { render } from "@truedat/test/render";
4
3
  import { RuleRow } from "../RuleRow";
@@ -35,7 +34,6 @@ describe("<RuleRow />", () => {
35
34
  </table>,
36
35
  renderOpts
37
36
  );
38
- // const wrapper = shallow(<RuleRow {...props} />);
39
37
  expect(container).toMatchSnapshot();
40
38
  });
41
39
 
@@ -1,20 +1,15 @@
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 { RulesSearch } from "../RulesSearch";
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("<RulesSearch />", () => {
11
- const loading = false;
12
- const query = "";
13
- const fetchRules = jest.fn();
14
- const props = { loading, query, fetchRules };
15
-
16
- it("matches the latest snapshot", () => {
17
- const wrapper = shallow(<RulesSearch {...props} />);
18
- expect(wrapper).toMatchSnapshot();
5
+ it("matches the latest snapshot", async () => {
6
+ const props = {
7
+ loading: false,
8
+ query: "",
9
+ fetchRules: jest.fn(),
10
+ };
11
+ const rendered = render(<RulesSearch {...props} />);
12
+ await waitForLoad(rendered);
13
+ expect(rendered.container).toMatchSnapshot();
19
14
  });
20
15
  });
@@ -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,23 +1,23 @@
1
- import React from "react";
2
- import { shallow, mount } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { RuleSubscriptionLoader } from "../RuleSubscriptionLoader";
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
 
10
9
  describe("<RuleSubscriptionLoader />", () => {
11
- const searchSubscriptions = jest.fn();
12
- const clearSubscriptionsSearch = jest.fn();
13
-
14
- it("matches the latest snapshot", () => {
15
- const props = { clearSubscriptionsSearch, searchSubscriptions };
16
- const wrapper = shallow(<RuleSubscriptionLoader {...props} />);
17
- expect(wrapper).toMatchSnapshot();
10
+ it("matches the latest snapshot", async () => {
11
+ const props = {
12
+ clearSubscriptionsSearch: jest.fn(),
13
+ searchSubscriptions: jest.fn(),
14
+ };
15
+ const rendered = render(<RuleSubscriptionLoader {...props} />);
16
+ await waitForLoad(rendered);
17
+ expect(rendered.container).toMatchSnapshot();
18
18
  });
19
19
 
20
- it("calls searchSubscriptions when component mounts, clearSubscriptionsSearch when component unmounts", () => {
20
+ it("calls searchSubscriptions when component mounts, clearSubscriptionsSearch when component unmounts", async () => {
21
21
  const searchSubscriptions = jest.fn();
22
22
  const clearSubscriptionsSearch = jest.fn();
23
23
 
@@ -26,11 +26,12 @@ describe("<RuleSubscriptionLoader />", () => {
26
26
  clearSubscriptionsSearch,
27
27
  ruleImplementation: { implementation_ref: 1 },
28
28
  };
29
- const wrapper = mount(<RuleSubscriptionLoader {...props} />);
30
- expect(clearSubscriptionsSearch.mock.calls.length).toBe(0);
31
- expect(searchSubscriptions.mock.calls.length).toBe(1);
32
- wrapper.unmount();
33
- expect(clearSubscriptionsSearch.mock.calls.length).toBe(1);
34
- expect(searchSubscriptions.mock.calls.length).toBe(1);
29
+ const rendered = render(<RuleSubscriptionLoader {...props} />);
30
+ await waitForLoad(rendered);
31
+ expect(clearSubscriptionsSearch).toHaveBeenCalledTimes(0);
32
+ expect(searchSubscriptions).toHaveBeenCalledTimes(1);
33
+ rendered.unmount();
34
+ expect(clearSubscriptionsSearch).toHaveBeenCalledTimes(1);
35
+ expect(searchSubscriptions).toHaveBeenCalledTimes(1);
35
36
  });
36
37
  });
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { fireEvent } from "@testing-library/react";
3
2
  import { render } from "@truedat/test/render";
4
3
  import { RuleSummary } from "../RuleSummary";
@@ -1,8 +1,42 @@
1
- import React from "react";
2
- import { shallow } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { Rules } from "../Rules";
4
3
  import { ruleColumnsSelector } from "../../selectors";
5
4
 
5
+ jest.mock("../RuleSelectedFilters", () => ({
6
+ __esModule: true,
7
+ default: () => (
8
+ <div data-testid="mock-rule-selected-filters">
9
+ Mocked Rule Selected Filters
10
+ </div>
11
+ ),
12
+ }));
13
+
14
+ jest.mock("../RulesActions", () => ({
15
+ __esModule: true,
16
+ default: () => (
17
+ <div data-testid="mock-rules-actions">Mocked Rules Actions</div>
18
+ ),
19
+ }));
20
+
21
+ jest.mock("../RulesLabelResults", () => ({
22
+ __esModule: true,
23
+ default: () => (
24
+ <div data-testid="mock-rules-label-results">Mocked Rules Label Results</div>
25
+ ),
26
+ }));
27
+
28
+ jest.mock("../RulesPagination", () => ({
29
+ __esModule: true,
30
+ default: () => (
31
+ <div data-testid="mock-rules-pagination">Mocked Rules Pagination</div>
32
+ ),
33
+ }));
34
+
35
+ jest.mock("../RulesSearch", () => ({
36
+ __esModule: true,
37
+ default: () => <div data-testid="mock-rules-search">Mocked Rules Search</div>,
38
+ }));
39
+
6
40
  describe("<Rules />", () => {
7
41
  const rules = [
8
42
  {
@@ -26,39 +60,39 @@ describe("<Rules />", () => {
26
60
  const rulesSort = [{ "name.raw": "desc" }];
27
61
  const sortRules = jest.fn();
28
62
 
29
- it("matches the latest snapshot", () => {
63
+ it("matches the latest snapshot", async () => {
30
64
  const props = { rules, columns, rulesExecution: true };
31
- const wrapper = shallow(<Rules {...props} />);
32
- expect(wrapper).toMatchSnapshot();
65
+ const rendered = render(<Rules {...props} />);
66
+ await waitForLoad(rendered);
67
+ expect(rendered.container).toMatchSnapshot();
33
68
  });
34
69
 
35
- it("returns null if no columns", () => {
70
+ it("returns null if no columns", async () => {
36
71
  const props = { rules };
37
- const wrapper = shallow(<Rules {...props} />);
38
- expect(wrapper).toMatchSnapshot();
72
+ const rendered = render(<Rules {...props} />);
73
+ await waitForLoad(rendered);
74
+ expect(rendered.container).toMatchSnapshot();
39
75
  });
40
76
 
41
- it("sorts column in the direction set", () => {
77
+ it("sorts column in the direction set", async () => {
42
78
  const props = { rules, columns, rulesSort };
43
- const wrapper = shallow(<Rules {...props} />);
44
- expect(wrapper.find("TableHeaderCell").at(0).props().sorted).toEqual(
45
- "descending"
46
- );
79
+ const rendered = render(<Rules {...props} />);
80
+ await waitForLoad(rendered);
47
81
 
48
- expect(wrapper.find("TableHeaderCell").at(1).props().sorted).toEqual(null);
82
+ const headerCells = rendered.container.querySelectorAll("th");
83
+ expect(headerCells[0].getAttribute("class")).toContain(
84
+ "three wide descending sorted"
85
+ );
86
+ expect(headerCells[1].getAttribute("class")).not.toContain("sorted");
49
87
  });
50
88
 
51
- it("handles sort when column header is clicked", () => {
89
+ it("handles sort when column header is clicked", async () => {
52
90
  const props = { rules, columns, sortRules };
53
- const wrapper = shallow(<Rules {...props} />);
54
- wrapper.find("TableHeaderCell").at(0).simulate("click");
55
- expect(wrapper.find("TableHeaderCell").at(0).props().sorted).toEqual(
56
- "ascending"
57
- );
91
+ const rendered = render(<Rules {...props} />);
92
+ await waitForLoad(rendered);
58
93
 
59
- wrapper.find("TableHeaderCell").at(0).simulate("click");
60
- expect(wrapper.find("TableHeaderCell").at(0).props().sorted).toEqual(
61
- "descending"
62
- );
94
+ const headerCells = rendered.container.querySelectorAll("th");
95
+ headerCells[0].click();
96
+ expect(sortRules).toHaveBeenCalled();
63
97
  });
64
98
  });
@@ -1,31 +1,35 @@
1
- import React from "react";
2
- import { shallow } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { RulesActions } from "../RulesActions";
4
3
 
5
4
  describe("<RulesActions />", () => {
6
- it("matches the latest snapshot", () => {
5
+ it("matches the latest snapshot", async () => {
7
6
  const props = { userRulesPermissions: {} };
8
- const wrapper = shallow(<RulesActions {...props} />);
9
- expect(wrapper).toMatchSnapshot();
7
+ const rendered = render(<RulesActions {...props} />);
8
+ await waitForLoad(rendered);
9
+ expect(rendered.container).toMatchSnapshot();
10
10
  });
11
11
 
12
- it("as user with permissions I can see the new rule button", () => {
12
+ it("as user with permissions I can see the new rule button", async () => {
13
13
  const props = {
14
14
  role: "admin",
15
15
  rulesExecution: true,
16
- userRulesPermissions: { manage_quality_rules: true }
16
+ userRulesPermissions: { manage_quality_rules: true },
17
17
  };
18
- const wrapper = shallow(<RulesActions {...props} />);
19
- expect(wrapper.find("Button").length).toBe(1);
18
+ const rendered = render(<RulesActions {...props} />);
19
+ await waitForLoad(rendered);
20
+ expect(rendered.getByText(/quality.actions.create/i)).toBeInTheDocument();
20
21
  });
21
22
 
22
- it("as user without permissions I can't see the new rule button", () => {
23
+ it("as user without permissions I can't see the new rule button", async () => {
23
24
  const props = {
24
25
  role: "admin",
25
26
  rulesExecution: true,
26
- userRulesPermissions: { manage_quality_rules: false }
27
+ userRulesPermissions: { manage_quality_rules: false },
27
28
  };
28
- const wrapper = shallow(<RulesActions {...props} />);
29
- expect(wrapper.find("Button").length).toBe(0);
29
+ const rendered = render(<RulesActions {...props} />);
30
+ await waitForLoad(rendered);
31
+ expect(
32
+ rendered.queryByText(/quality.actions.create/i)
33
+ ).not.toBeInTheDocument();
30
34
  });
31
35
  });
@@ -1,19 +1,19 @@
1
- import React from "react";
2
- import { mount } from "enzyme";
1
+ import { render, waitForLoad } from "@truedat/test/render";
3
2
  import { RulesLoader } from "../RulesLoader";
4
3
 
5
4
  describe("<RulesLoader />", () => {
6
5
  const payload = {};
7
6
 
8
- it("calls fetchRules when component mounts, clearRules when component unmounts", () => {
7
+ it("calls fetchRules when component mounts, clearRules when component unmounts", async () => {
9
8
  const clearRules = jest.fn();
10
9
  const fetchRules = jest.fn();
11
10
  const props = { fetchRules, payload, clearRules };
12
- const wrapper = mount(<RulesLoader {...props} />);
13
- expect(clearRules.mock.calls.length).toBe(0);
14
- expect(fetchRules.mock.calls.length).toBe(1);
15
- wrapper.unmount();
16
- expect(clearRules.mock.calls.length).toBe(1);
17
- expect(fetchRules.mock.calls.length).toBe(1);
11
+ const rendered = render(<RulesLoader {...props} />);
12
+ await waitForLoad(rendered);
13
+ expect(clearRules).toHaveBeenCalledTimes(0);
14
+ expect(fetchRules).toHaveBeenCalledTimes(1);
15
+ rendered.unmount();
16
+ expect(clearRules).toHaveBeenCalledTimes(1);
17
+ expect(fetchRules).toHaveBeenCalledTimes(1);
18
18
  });
19
19
  });
@@ -0,0 +1,51 @@
1
+ import React from "react";
2
+ import { render, waitForLoad } from "@truedat/test/render";
3
+ import RulesRoutes from "../RulesRoutes";
4
+ import { useAuthorized } from "@truedat/core/hooks/useAuthorized";
5
+ import { RULES } from "@truedat/core/routes";
6
+
7
+ jest.mock("@truedat/core/hooks/useAuthorized", () => ({
8
+ useAuthorized: jest.fn(() => true),
9
+ }));
10
+
11
+ // Mock all child components
12
+ jest.mock("../NewRule", () => () => <div>NewRule</div>);
13
+ jest.mock("../RuleFiltersLoader", () => () => <div>RuleFiltersLoader</div>);
14
+ jest.mock("../RuleRoutes", () => () => <div>RuleRoutes</div>);
15
+ jest.mock("../Rules", () => () => <div>Rules</div>);
16
+ jest.mock("../RulesLoader", () => () => <div>RulesLoader</div>);
17
+ jest.mock("@truedat/dd/components/UserSearchFiltersLoader", () => () => (
18
+ <div>UserSearchFiltersLoader</div>
19
+ ));
20
+
21
+ describe("<RulesRoutes />", () => {
22
+ it("renders correctly with default route", async () => {
23
+ const rendered = render(<RulesRoutes />);
24
+ await waitForLoad(rendered);
25
+ expect(rendered.container).toMatchSnapshot();
26
+ });
27
+
28
+ it("renders correctly with rules route", async () => {
29
+ const rendered = render(<RulesRoutes />, {
30
+ routes: [RULES],
31
+ });
32
+ await waitForLoad(rendered);
33
+ expect(rendered.container).toMatchSnapshot();
34
+ });
35
+
36
+ it("renders correctly with new rule route", async () => {
37
+ const rendered = render(<RulesRoutes />, {
38
+ routes: [`${RULES}/new`],
39
+ });
40
+ await waitForLoad(rendered);
41
+ expect(rendered.container).toMatchSnapshot();
42
+ });
43
+
44
+ it("renders correctly with rule detail route", async () => {
45
+ const rendered = render(<RulesRoutes />, {
46
+ routes: [`${RULES}/123`],
47
+ });
48
+ await waitForLoad(rendered);
49
+ expect(rendered.container).toMatchSnapshot();
50
+ });
51
+ });
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import { RulesUploadButton } from "../RulesUploadButton";
4
3
 
@@ -1,12 +1,8 @@
1
- import React from "react";
2
- import { intl } from "@truedat/test/intl-stub";
3
- import { shallow } from "enzyme";
1
+ import userEvent from "@testing-library/user-event";
2
+ import { waitFor } from "@testing-library/react";
3
+ import { render, waitForLoad } from "@truedat/test/render";
4
4
  import { Subscription, SubscriptionContent } from "../Subscription";
5
5
 
6
- // workaround for enzyme issue with React.useContext
7
- // see https://github.com/airbnb/enzyme/issues/2176#issuecomment-532361526
8
- jest.spyOn(React, "useContext").mockImplementation(() => intl);
9
-
10
6
  describe("<SubscriptionContent />", () => {
11
7
  const subscription = {
12
8
  id: 2,
@@ -25,25 +21,27 @@ describe("<SubscriptionContent />", () => {
25
21
  };
26
22
  const setSubscription = jest.fn();
27
23
 
28
- it("matches the latest snapshot", () => {
24
+ it("matches the latest snapshot", async () => {
29
25
  const props = {
30
26
  subscription,
31
27
  setSubscription,
32
28
  };
33
- const wrapper = shallow(<SubscriptionContent {...props} />);
34
- expect(wrapper).toMatchSnapshot();
29
+ const rendered = render(<SubscriptionContent {...props} />);
30
+ await waitForLoad(rendered);
31
+ expect(rendered.container).toMatchSnapshot();
35
32
  });
36
33
 
37
- it("calls setSubscription on handleEventTypeChange", () => {
38
- const e = { preventDefault: jest.fn() };
39
- const name = "success";
34
+ it("calls setSubscription on event type change", async () => {
40
35
  const props = {
41
36
  subscription,
42
37
  setSubscription,
43
38
  };
44
- const wrapper = shallow(<SubscriptionContent {...props} />);
45
- wrapper.find("FormCheckbox").at(0).simulate("change", e, { name });
46
- expect(setSubscription.mock.calls.length).toBe(1);
39
+ const rendered = render(<SubscriptionContent {...props} />);
40
+ await waitForLoad(rendered);
41
+
42
+ const user = userEvent.setup({ delay: null });
43
+ await user.click(rendered.getByText(/subscriptions.status.success/i));
44
+ expect(setSubscription).toHaveBeenCalled();
47
45
  });
48
46
  });
49
47
 
@@ -73,8 +71,9 @@ describe("<Subscription />", () => {
73
71
  subscriptionUpdating,
74
72
  };
75
73
 
76
- it("matches the latest snapshot", () => {
77
- const wrapper = shallow(<Subscription {...props} />);
78
- expect(wrapper).toMatchSnapshot();
74
+ it("matches the latest snapshot", async () => {
75
+ const rendered = render(<Subscription {...props} />);
76
+ await waitForLoad(rendered);
77
+ expect(rendered.container).toMatchSnapshot();
79
78
  });
80
79
  });
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { render } from "@truedat/test/render";
3
2
  import messages from "@truedat/dq/messages";
4
3
  import TaxonomySummary from "../TaxonomySummary";
@@ -37,6 +37,7 @@ exports[`<ConceptRules /> matches the latest snapshot 1`] = `
37
37
  class=""
38
38
  >
39
39
  <a
40
+ data-discover="true"
40
41
  href="/rules/1"
41
42
  >
42
43
  foo
@@ -55,6 +56,7 @@ exports[`<ConceptRules /> matches the latest snapshot 1`] = `
55
56
  class=""
56
57
  >
57
58
  <a
59
+ data-discover="true"
58
60
  href="/rules/2"
59
61
  >
60
62
  bar
@@ -73,6 +75,7 @@ exports[`<ConceptRules /> matches the latest snapshot 1`] = `
73
75
  class=""
74
76
  >
75
77
  <a
78
+ data-discover="true"
76
79
  href="/rules/3"
77
80
  >
78
81
  baz
@@ -54,6 +54,7 @@ exports[`<ConditionSummary /> matches the latest snapshot 1`] = `
54
54
  class="five wide"
55
55
  >
56
56
  <a
57
+ data-discover="true"
57
58
  href="/structures/2598"
58
59
  >
59
60
  <div