@ukhomeoffice/cop-react-form-renderer 6.5.1-peter → 6.7.0-alpha

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 (390) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  5. package/dist/components/CollectionPage/CollectionPage.js +73 -63
  6. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
  9. package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
  11. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  12. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  13. package/dist/components/CollectionSummary/RenderListView.js +45 -51
  14. package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
  15. package/dist/components/CollectionSummary/SummaryCard.js +104 -135
  16. package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
  17. package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
  18. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
  19. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
  20. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
  21. package/dist/components/FormComponent/Collection.js +74 -108
  22. package/dist/components/FormComponent/Collection.test.js +909 -1081
  23. package/dist/components/FormComponent/Container.js +40 -38
  24. package/dist/components/FormComponent/Container.test.js +314 -345
  25. package/dist/components/FormComponent/FormComponent.js +69 -72
  26. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  27. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  28. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  29. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  30. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  31. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  32. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  33. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  34. package/dist/components/FormComponent/helpers/index.js +4 -4
  35. package/dist/components/FormPage/FormPage.js +65 -80
  36. package/dist/components/FormPage/FormPage.test.js +127 -163
  37. package/dist/components/FormRenderer/FormRenderer.js +143 -179
  38. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  39. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  40. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  41. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  42. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  43. package/dist/components/FormRenderer/handlers/index.js +1 -1
  44. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  45. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  46. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  47. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  48. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  49. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  50. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  51. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  52. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  53. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  54. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  55. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  56. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  57. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  58. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  59. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  60. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  61. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  62. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  63. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  64. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  65. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  66. package/dist/components/FormRenderer/helpers/index.js +2 -4
  67. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  68. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  69. package/dist/components/FormRenderer/onPageAction.js +44 -47
  70. package/dist/components/FormRenderer/onPageAction.test.js +223 -213
  71. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  72. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  73. package/dist/components/PageActions/ActionButton.js +12 -15
  74. package/dist/components/PageActions/ActionButton.test.js +56 -78
  75. package/dist/components/PageActions/PageActions.js +10 -10
  76. package/dist/components/PageActions/PageActions.test.js +86 -115
  77. package/dist/components/SummaryList/GroupAction.js +9 -17
  78. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  79. package/dist/components/SummaryList/RowAction.js +11 -16
  80. package/dist/components/SummaryList/RowAction.test.js +37 -33
  81. package/dist/components/SummaryList/SummaryList.js +21 -26
  82. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  83. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  84. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  85. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  86. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  87. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  88. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  89. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  90. package/dist/components/SummaryList/helpers/index.js +1 -1
  91. package/dist/components/TaskList/Task.js +19 -29
  92. package/dist/components/TaskList/Task.test.js +83 -76
  93. package/dist/components/TaskList/TaskList.js +45 -71
  94. package/dist/components/TaskList/TaskList.test.js +113 -111
  95. package/dist/components/TaskList/TaskState.js +7 -5
  96. package/dist/components/TaskList/TaskState.test.js +52 -45
  97. package/dist/components/index.js +7 -7
  98. package/dist/context/HooksContext/HooksContext.js +57 -80
  99. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  100. package/dist/context/HooksContext/index.js +3 -4
  101. package/dist/context/ValidationContext/ValidationContext.js +43 -94
  102. package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
  103. package/dist/context/ValidationContext/index.js +3 -4
  104. package/dist/context/index.js +2 -2
  105. package/dist/hooks/index.js +9 -10
  106. package/dist/hooks/useAxios.js +14 -40
  107. package/dist/hooks/useGetRequest.js +61 -97
  108. package/dist/hooks/useHooks.js +1 -3
  109. package/dist/hooks/useRefData.js +26 -39
  110. package/dist/hooks/useValidation.js +1 -3
  111. package/dist/index.js +13 -14
  112. package/dist/models/CollectionLabels.js +1 -1
  113. package/dist/models/ComponentTypes.js +25 -25
  114. package/dist/models/EventTypes.js +4 -4
  115. package/dist/models/FormPages.js +4 -4
  116. package/dist/models/FormTypes.js +8 -8
  117. package/dist/models/HubFormats.js +3 -3
  118. package/dist/models/PageAction.js +44 -38
  119. package/dist/models/TaskStates.js +29 -28
  120. package/dist/models/index.js +9 -9
  121. package/dist/setupTests.js +30 -31
  122. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  123. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  124. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  125. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  126. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  127. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  128. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  129. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  130. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  131. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  132. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  133. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  134. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  135. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  136. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  137. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  138. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  139. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  140. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  141. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  142. package/dist/utils/CheckYourAnswers/index.js +1 -1
  143. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  144. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  145. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  146. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  147. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  148. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  149. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
  150. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
  151. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  152. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  153. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  154. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  155. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  156. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  157. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  158. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
  159. package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
  160. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  161. package/dist/utils/CollectionPage/index.js +1 -1
  162. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  163. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  164. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  165. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  166. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  167. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  168. package/dist/utils/Component/addShowWhen.js +4 -8
  169. package/dist/utils/Component/addShowWhen.test.js +37 -37
  170. package/dist/utils/Component/applyToComponentTree.js +18 -18
  171. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  172. package/dist/utils/Component/cleanAttributes.js +10 -13
  173. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  174. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  175. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  176. package/dist/utils/Component/getComponent.js +88 -94
  177. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  178. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  179. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  180. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  181. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  182. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  183. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  184. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  185. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  186. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  187. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  188. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  189. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  190. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  191. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  192. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  193. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  196. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  197. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  198. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  199. package/dist/utils/Component/getDefaultValue.js +6 -8
  200. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  201. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  202. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  203. package/dist/utils/Component/index.js +1 -1
  204. package/dist/utils/Component/isEditable.js +2 -4
  205. package/dist/utils/Component/isEditable.test.js +14 -15
  206. package/dist/utils/Component/optionIsSelected.js +1 -1
  207. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  208. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  209. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  210. package/dist/utils/Component/showComponent.js +1 -1
  211. package/dist/utils/Component/showComponent.test.js +28 -28
  212. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  213. package/dist/utils/Condition/index.js +1 -1
  214. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  215. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  216. package/dist/utils/Condition/meetsCondition.js +16 -25
  217. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  218. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  219. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  220. package/dist/utils/Condition/setupConditions.js +13 -18
  221. package/dist/utils/Condition/setupConditions.test.js +7 -7
  222. package/dist/utils/Container/getEditableComponents.js +3 -5
  223. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  224. package/dist/utils/Container/index.js +1 -1
  225. package/dist/utils/Container/setupNesting.js +16 -20
  226. package/dist/utils/Container/setupNesting.test.js +27 -30
  227. package/dist/utils/Container/showContainer.js +3 -7
  228. package/dist/utils/Container/showContainer.test.js +30 -30
  229. package/dist/utils/Data/applyFormula.js +38 -48
  230. package/dist/utils/Data/applyFormula.test.js +20 -20
  231. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  232. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  233. package/dist/utils/Data/getDataPath.js +18 -28
  234. package/dist/utils/Data/getDataPath.test.js +12 -12
  235. package/dist/utils/Data/getOptions.js +24 -30
  236. package/dist/utils/Data/getOptions.test.js +27 -27
  237. package/dist/utils/Data/getSourceData.js +6 -19
  238. package/dist/utils/Data/getSourceData.test.js +84 -80
  239. package/dist/utils/Data/index.js +1 -1
  240. package/dist/utils/Data/nestInRefdataOptions.js +9 -16
  241. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  242. package/dist/utils/Data/refDataToOptions.js +10 -13
  243. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  244. package/dist/utils/Data/setDataItem.js +7 -8
  245. package/dist/utils/Data/setDataItem.test.js +37 -37
  246. package/dist/utils/Data/setupFormData.js +13 -21
  247. package/dist/utils/Data/setupFormData.test.js +51 -50
  248. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  249. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  250. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  251. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  252. package/dist/utils/FormPage/getConditionalText.js +3 -3
  253. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  254. package/dist/utils/FormPage/getFormPage.js +15 -16
  255. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  256. package/dist/utils/FormPage/getFormPages.js +7 -12
  257. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  258. package/dist/utils/FormPage/getPageActions.js +9 -15
  259. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  260. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  261. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  262. package/dist/utils/FormPage/index.js +2 -4
  263. package/dist/utils/FormPage/showFormPage.js +3 -7
  264. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  265. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  266. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  267. package/dist/utils/FormPage/useComponent.js +21 -28
  268. package/dist/utils/FormPage/useComponent.test.js +77 -79
  269. package/dist/utils/Format/formatData.js +1 -1
  270. package/dist/utils/Format/formatData.test.js +18 -18
  271. package/dist/utils/Format/formatDataForComponent.js +5 -6
  272. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  273. package/dist/utils/Format/formatDataForForm.js +6 -8
  274. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  275. package/dist/utils/Format/formatDataForPage.js +4 -5
  276. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  277. package/dist/utils/Format/index.js +1 -1
  278. package/dist/utils/Hub/getFormHub.js +1 -1
  279. package/dist/utils/Hub/getFormHub.test.js +28 -31
  280. package/dist/utils/Hub/index.js +1 -1
  281. package/dist/utils/Meta/constants.js +2 -2
  282. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  283. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  284. package/dist/utils/Meta/documents/index.js +1 -1
  285. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  286. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  287. package/dist/utils/Meta/index.js +1 -1
  288. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  289. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  290. package/dist/utils/Operate/getFirstOf.js +5 -5
  291. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  292. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  293. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  294. package/dist/utils/Operate/index.js +1 -1
  295. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  296. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  297. package/dist/utils/Operate/runPageOperations.js +7 -7
  298. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  299. package/dist/utils/Operate/setValueInFormData.js +2 -2
  300. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  301. package/dist/utils/Operate/shouldRun.js +6 -6
  302. package/dist/utils/Operate/shouldRun.test.js +21 -27
  303. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  304. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  305. package/dist/utils/Validate/additional/index.js +6 -6
  306. package/dist/utils/Validate/additional/index.test.js +12 -12
  307. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  308. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  309. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  310. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  311. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  312. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  313. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  314. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  315. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  317. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  318. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  319. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  320. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  321. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  322. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  323. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  325. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  326. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  327. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  328. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  329. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  330. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  331. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  332. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  333. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  334. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  335. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  336. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  337. package/dist/utils/Validate/additional/utils.js +9 -22
  338. package/dist/utils/Validate/index.js +1 -1
  339. package/dist/utils/Validate/validateCollection.js +19 -25
  340. package/dist/utils/Validate/validateCollection.test.js +74 -66
  341. package/dist/utils/Validate/validateComponent.js +17 -15
  342. package/dist/utils/Validate/validateComponent.test.js +167 -146
  343. package/dist/utils/Validate/validateContainer.js +15 -20
  344. package/dist/utils/Validate/validateContainer.test.js +58 -52
  345. package/dist/utils/Validate/validateDate.js +15 -21
  346. package/dist/utils/Validate/validateDate.test.js +31 -32
  347. package/dist/utils/Validate/validateEmail.js +6 -8
  348. package/dist/utils/Validate/validateEmail.test.js +25 -25
  349. package/dist/utils/Validate/validateMultifile.js +5 -7
  350. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  351. package/dist/utils/Validate/validatePage.js +19 -22
  352. package/dist/utils/Validate/validatePage.test.js +215 -203
  353. package/dist/utils/Validate/validateRegex.js +3 -5
  354. package/dist/utils/Validate/validateRegex.test.js +14 -14
  355. package/dist/utils/Validate/validateRequired.js +4 -6
  356. package/dist/utils/Validate/validateRequired.test.js +18 -18
  357. package/dist/utils/Validate/validateTextArea.js +4 -6
  358. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  359. package/dist/utils/Validate/validateTime.js +11 -18
  360. package/dist/utils/Validate/validateTime.test.js +16 -16
  361. package/dist/utils/index.js +7 -9
  362. package/package.json +2 -2
  363. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  364. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  365. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
  366. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
  367. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
  368. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
  369. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
  370. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
  371. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
  372. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
  373. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -8,23 +8,17 @@ var _setupTests = require("../../setupTests");
8
8
  var _SummaryCard = _interopRequireWildcard(require("./SummaryCard"));
9
9
  var _BannerStrip = require("./BannerStrip");
10
10
  var _SummaryCardValidationContext = _interopRequireDefault(require("./SummaryCardValidationContext"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
15
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
16
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
17
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
18
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Global imports.
14
+ // Global imports.
15
+
23
16
  // Local imports.
24
- describe('components.CollectionSummary.SummaryCard', function () {
25
- var classes = _copReactComponents.Utils.classBuilder(_SummaryCard.DEFAULT_CLASS, [], '');
26
- var ID = 'summaryCardId';
27
- var ENTRY = {
17
+
18
+ describe('components.CollectionSummary.SummaryCard', () => {
19
+ const classes = _copReactComponents.Utils.classBuilder(_SummaryCard.DEFAULT_CLASS, [], '');
20
+ const ID = 'summaryCardId';
21
+ const ENTRY = {
28
22
  id: '001',
29
23
  bannerText: 'A banner',
30
24
  titleText: 'A title',
@@ -32,150 +26,158 @@ describe('components.CollectionSummary.SummaryCard', function () {
32
26
  index: 0,
33
27
  summaryText: 'Full details'
34
28
  };
35
- var checkSetup = function checkSetup(container) {
36
- var cardDiv = container.children[0];
29
+ const checkSetup = container => {
30
+ const cardDiv = container.children[0];
37
31
  expect(cardDiv.tagName).toEqual('DIV');
38
32
  expect(cardDiv.classList).toContain(_SummaryCard.DEFAULT_CLASS);
39
- var headerDiv = cardDiv.children[0];
33
+ const headerDiv = cardDiv.children[0];
40
34
  expect(headerDiv.tagName).toEqual('DIV');
41
35
  expect(headerDiv.classList).toContain(classes('header'));
42
- var headerContentDiv = headerDiv.children[0];
36
+ const headerContentDiv = headerDiv.children[0];
43
37
  expect(headerContentDiv.tagName).toEqual('DIV');
44
38
  expect(headerContentDiv.classList).toContain(classes('header-content'));
45
- var headerActionDiv = headerDiv.children[1];
39
+ const headerActionDiv = headerDiv.children[1];
46
40
  expect(headerActionDiv.tagName).toEqual('DIV');
47
41
  expect(headerActionDiv.className).toContain(classes('header-actions'));
48
- var bodyDiv = cardDiv.children[1];
42
+ const bodyDiv = cardDiv.children[1];
49
43
  expect(bodyDiv.tagName).toEqual('DIV');
50
44
  expect(bodyDiv.classList).toContain(classes('body'));
51
45
  return {
52
- cardDiv: cardDiv,
53
- headerDiv: headerDiv,
54
- headerContentDiv: headerContentDiv,
55
- headerActionDiv: headerActionDiv,
56
- bodyDiv: bodyDiv
46
+ cardDiv,
47
+ headerDiv,
48
+ headerContentDiv,
49
+ headerActionDiv,
50
+ bodyDiv
57
51
  };
58
52
  };
59
- it('should correctly render a SummaryCard component', function () {
60
- var CONFIG = {
53
+ it('should correctly render a SummaryCard component', () => {
54
+ const CONFIG = {
61
55
  banners: ['Alpha', 'Bravo'],
62
56
  title: 'Title text',
63
57
  details: 'Detail text'
64
58
  };
65
- var _renderWithValidation = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
66
- id: ID,
67
- entryData: ENTRY,
68
- config: CONFIG,
69
- parentCollectionName: "parent",
70
- formData: {},
71
- masterPage: {
72
- childPages: []
73
- }
74
- })),
75
- container = _renderWithValidation.container;
76
- var _checkSetup = checkSetup(container),
77
- headerContentDiv = _checkSetup.headerContentDiv;
59
+ const {
60
+ container
61
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
62
+ id: ID,
63
+ entryData: ENTRY,
64
+ config: CONFIG,
65
+ parentCollectionName: "parent",
66
+ formData: {},
67
+ masterPage: {
68
+ childPages: []
69
+ }
70
+ }));
71
+ const {
72
+ headerContentDiv
73
+ } = checkSetup(container);
78
74
  expect(headerContentDiv.children.length).toEqual(3);
79
- var headerBanners = headerContentDiv.children[0];
75
+ const headerBanners = headerContentDiv.children[0];
80
76
  expect(headerBanners.tagName).toEqual('DIV');
81
77
  expect(headerBanners.classList).toContain(_BannerStrip.DEFAULT_CLASS);
82
- var headerTitle = headerContentDiv.children[1];
78
+ const headerTitle = headerContentDiv.children[1];
83
79
  expect(headerTitle.tagName).toEqual('DIV');
84
80
  expect(headerTitle.classList).toContain(classes('header-content-title'));
85
81
  expect(headerTitle.textContent).toEqual(CONFIG.title);
86
- var headerDetails = headerContentDiv.children[2];
82
+ const headerDetails = headerContentDiv.children[2];
87
83
  expect(headerDetails.tagName).toEqual('DIV');
88
84
  expect(headerDetails.classList).toContain(classes('header-content-detail'));
89
85
  expect(headerDetails.textContent).toEqual(CONFIG.details);
90
86
  });
91
- it('should not render a banner if none are supplied', function () {
92
- var CONFIG = {
87
+ it('should not render a banner if none are supplied', () => {
88
+ const CONFIG = {
93
89
  title: 'Title text',
94
90
  details: 'Detail text'
95
91
  };
96
- var _renderWithValidation2 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
97
- id: ID,
98
- entryData: ENTRY,
99
- config: CONFIG,
100
- parentCollectionName: "parent",
101
- formData: {},
102
- masterPage: {
103
- childPages: []
104
- }
105
- })),
106
- container = _renderWithValidation2.container;
107
- var _checkSetup2 = checkSetup(container),
108
- headerContentDiv = _checkSetup2.headerContentDiv;
92
+ const {
93
+ container
94
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
95
+ id: ID,
96
+ entryData: ENTRY,
97
+ config: CONFIG,
98
+ parentCollectionName: "parent",
99
+ formData: {},
100
+ masterPage: {
101
+ childPages: []
102
+ }
103
+ }));
104
+ const {
105
+ headerContentDiv
106
+ } = checkSetup(container);
109
107
  expect(headerContentDiv.children.length).toEqual(2);
110
108
 
111
109
  // The only two children of the content div should be the title
112
110
  // and the details.
113
111
 
114
- var headerTitle = headerContentDiv.children[0];
112
+ const headerTitle = headerContentDiv.children[0];
115
113
  expect(headerTitle.tagName).toEqual('DIV');
116
114
  expect(headerTitle.classList).toContain(classes('header-content-title'));
117
115
  expect(headerTitle.textContent).toEqual(CONFIG.title);
118
- var headerDetails = headerContentDiv.children[1];
116
+ const headerDetails = headerContentDiv.children[1];
119
117
  expect(headerDetails.tagName).toEqual('DIV');
120
118
  expect(headerDetails.classList).toContain(classes('header-content-detail'));
121
119
  expect(headerDetails.textContent).toEqual(CONFIG.details);
122
120
  });
123
- it('should not render details if none are supplied', function () {
124
- var CONFIG = {
121
+ it('should not render details if none are supplied', () => {
122
+ const CONFIG = {
125
123
  banners: ['Alpha', 'Bravo'],
126
124
  title: 'Title text'
127
125
  };
128
- var _renderWithValidation3 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
129
- id: ID,
130
- entryData: ENTRY,
131
- config: CONFIG,
132
- parentCollectionName: "parent",
133
- formData: {},
134
- masterPage: {
135
- childPages: []
136
- }
137
- })),
138
- container = _renderWithValidation3.container;
139
- var _checkSetup3 = checkSetup(container),
140
- headerContentDiv = _checkSetup3.headerContentDiv;
126
+ const {
127
+ container
128
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
129
+ id: ID,
130
+ entryData: ENTRY,
131
+ config: CONFIG,
132
+ parentCollectionName: "parent",
133
+ formData: {},
134
+ masterPage: {
135
+ childPages: []
136
+ }
137
+ }));
138
+ const {
139
+ headerContentDiv
140
+ } = checkSetup(container);
141
141
  expect(headerContentDiv.children.length).toEqual(2);
142
- var headerBanners = headerContentDiv.children[0];
142
+ const headerBanners = headerContentDiv.children[0];
143
143
  expect(headerBanners.tagName).toEqual('DIV');
144
144
  expect(headerBanners.classList).toContain(_BannerStrip.DEFAULT_CLASS);
145
145
 
146
146
  // The only two children of the content div should be the banner and
147
147
  // the title.
148
148
 
149
- var headerTitle = headerContentDiv.children[1];
149
+ const headerTitle = headerContentDiv.children[1];
150
150
  expect(headerTitle.tagName).toEqual('DIV');
151
151
  expect(headerTitle.classList).toContain(classes('header-content-title'));
152
152
  expect(headerTitle.textContent).toEqual(CONFIG.title);
153
153
  });
154
- it('should correctly interpolate the title', function () {
155
- var CONFIG = {
154
+ it('should correctly interpolate the title', () => {
155
+ const CONFIG = {
156
156
  // eslint-disable-next-line no-template-curly-in-string
157
157
  title: '${titleText} that is interpolated'
158
158
  };
159
- var _renderWithValidation4 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
160
- id: ID,
161
- entryData: ENTRY,
162
- config: CONFIG,
163
- parentCollectionName: "parent",
164
- formData: {},
165
- masterPage: {
166
- childPages: []
167
- }
168
- })),
169
- container = _renderWithValidation4.container;
170
- var _checkSetup4 = checkSetup(container),
171
- headerContentDiv = _checkSetup4.headerContentDiv;
172
- var headerTitle = headerContentDiv.children[0];
159
+ const {
160
+ container
161
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
162
+ id: ID,
163
+ entryData: ENTRY,
164
+ config: CONFIG,
165
+ parentCollectionName: "parent",
166
+ formData: {},
167
+ masterPage: {
168
+ childPages: []
169
+ }
170
+ }));
171
+ const {
172
+ headerContentDiv
173
+ } = checkSetup(container);
174
+ const headerTitle = headerContentDiv.children[0];
173
175
  expect(headerTitle.tagName).toEqual('DIV');
174
176
  expect(headerTitle.classList).toContain(classes('header-content-title'));
175
177
  expect(headerTitle.textContent).toEqual("".concat(ENTRY.titleText, " that is interpolated"));
176
178
  });
177
- it('should show the correct conditional title', function () {
178
- var CONFIG = {
179
+ it('should show the correct conditional title', () => {
180
+ const CONFIG = {
179
181
  title: [{
180
182
  title: 'Title A',
181
183
  show_when: {
@@ -193,67 +195,72 @@ describe('components.CollectionSummary.SummaryCard', function () {
193
195
  }
194
196
  }]
195
197
  };
196
- var CUSTOM_ENTRY = _objectSpread(_objectSpread({}, ENTRY), {}, {
198
+ const CUSTOM_ENTRY = {
199
+ ...ENTRY,
197
200
  testField: '456'
198
- });
199
- var _renderWithValidation5 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
200
- id: ID,
201
- entryData: CUSTOM_ENTRY,
202
- config: CONFIG,
203
- parentCollectionName: "parent",
204
- formData: {},
205
- masterPage: {
206
- childPages: []
207
- }
208
- })),
209
- container = _renderWithValidation5.container;
210
- var _checkSetup5 = checkSetup(container),
211
- headerContentDiv = _checkSetup5.headerContentDiv;
212
- var headerTitle = headerContentDiv.children[0];
201
+ };
202
+ const {
203
+ container
204
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
205
+ id: ID,
206
+ entryData: CUSTOM_ENTRY,
207
+ config: CONFIG,
208
+ parentCollectionName: "parent",
209
+ formData: {},
210
+ masterPage: {
211
+ childPages: []
212
+ }
213
+ }));
214
+ const {
215
+ headerContentDiv
216
+ } = checkSetup(container);
217
+ const headerTitle = headerContentDiv.children[0];
213
218
  expect(headerTitle.tagName).toEqual('DIV');
214
219
  expect(headerTitle.classList).toContain(classes('header-content-title'));
215
220
  expect(headerTitle.textContent).toEqual("".concat(ENTRY.titleText, " that is interpolated"));
216
221
  });
217
- it('should correctly interpolate the details', function () {
218
- var CONFIG = {
222
+ it('should correctly interpolate the details', () => {
223
+ const CONFIG = {
219
224
  title: 'Title',
220
225
  // eslint-disable-next-line no-template-curly-in-string
221
226
  details: '${detailsText} that are interpolated'
222
227
  };
223
- var _renderWithValidation6 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
224
- id: ID,
225
- entryData: ENTRY,
226
- config: CONFIG,
227
- parentCollectionName: "parent",
228
- formData: {},
229
- masterPage: {
230
- childPages: []
231
- }
232
- })),
233
- container = _renderWithValidation6.container;
234
- var _checkSetup6 = checkSetup(container),
235
- headerContentDiv = _checkSetup6.headerContentDiv;
236
- var headerDetails = headerContentDiv.children[1];
228
+ const {
229
+ container
230
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
231
+ id: ID,
232
+ entryData: ENTRY,
233
+ config: CONFIG,
234
+ parentCollectionName: "parent",
235
+ formData: {},
236
+ masterPage: {
237
+ childPages: []
238
+ }
239
+ }));
240
+ const {
241
+ headerContentDiv
242
+ } = checkSetup(container);
243
+ const headerDetails = headerContentDiv.children[1];
237
244
  expect(headerDetails.tagName).toEqual('DIV');
238
245
  expect(headerDetails.classList).toContain(classes('header-content-detail'));
239
246
  expect(headerDetails.textContent).toEqual("".concat(ENTRY.detailsText, " that are interpolated"));
240
247
  });
241
- describe('Change action button', function () {
242
- var onChangeArgs = [];
243
- var onChangeCalls = 0;
244
- var ON_CHANGE = function ON_CHANGE(page, id) {
248
+ describe('Change action button', () => {
249
+ let onChangeArgs = [];
250
+ let onChangeCalls = 0;
251
+ const ON_CHANGE = (page, id) => {
245
252
  onChangeArgs.push({
246
- page: page,
247
- id: id
253
+ page,
254
+ id
248
255
  });
249
256
  onChangeCalls += 1;
250
257
  };
251
- beforeEach(function () {
258
+ beforeEach(() => {
252
259
  onChangeArgs = [];
253
260
  onChangeCalls = 0;
254
261
  });
255
- it('should render correctly', function () {
256
- var CONFIG = {
262
+ it('should render correctly', () => {
263
+ const CONFIG = {
257
264
  changeAction: {
258
265
  label: 'Change label',
259
266
  page: 'testPage',
@@ -262,22 +269,24 @@ describe('components.CollectionSummary.SummaryCard', function () {
262
269
  }]
263
270
  }
264
271
  };
265
- var _renderWithValidation7 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
266
- id: ID,
267
- entryData: ENTRY,
268
- config: CONFIG,
269
- onFullEdit: ON_CHANGE,
270
- parentCollectionName: "parent",
271
- formData: {},
272
- masterPage: {
273
- childPages: []
274
- }
275
- })),
276
- container = _renderWithValidation7.container;
277
- var _checkSetup7 = checkSetup(container),
278
- headerActionDiv = _checkSetup7.headerActionDiv;
272
+ const {
273
+ container
274
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
275
+ id: ID,
276
+ entryData: ENTRY,
277
+ config: CONFIG,
278
+ onFullEdit: ON_CHANGE,
279
+ parentCollectionName: "parent",
280
+ formData: {},
281
+ masterPage: {
282
+ childPages: []
283
+ }
284
+ }));
285
+ const {
286
+ headerActionDiv
287
+ } = checkSetup(container);
279
288
  expect(headerActionDiv.children.length).toEqual(1);
280
- var changeButton = headerActionDiv.children[0];
289
+ const changeButton = headerActionDiv.children[0];
281
290
  expect(changeButton.name).toEqual('Change');
282
291
  expect(changeButton.tagName).toEqual('BUTTON');
283
292
  expect(changeButton.textContent).toEqual(CONFIG.changeAction.label);
@@ -289,84 +298,90 @@ describe('components.CollectionSummary.SummaryCard', function () {
289
298
  id: ENTRY.id
290
299
  });
291
300
  });
292
- it('should use the default label when one is not provided', function () {
293
- var CONFIG = {
301
+ it('should use the default label when one is not provided', () => {
302
+ const CONFIG = {
294
303
  changeAction: {
295
304
  page: 'testPage'
296
305
  }
297
306
  };
298
- var _renderWithValidation8 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
299
- id: ID,
300
- entryData: ENTRY,
301
- config: CONFIG,
302
- onFullEdit: ON_CHANGE,
303
- parentCollectionName: "parent",
304
- formData: {},
305
- masterPage: {
306
- childPages: []
307
- }
308
- })),
309
- container = _renderWithValidation8.container;
310
- var _checkSetup8 = checkSetup(container),
311
- headerActionDiv = _checkSetup8.headerActionDiv;
307
+ const {
308
+ container
309
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
310
+ id: ID,
311
+ entryData: ENTRY,
312
+ config: CONFIG,
313
+ onFullEdit: ON_CHANGE,
314
+ parentCollectionName: "parent",
315
+ formData: {},
316
+ masterPage: {
317
+ childPages: []
318
+ }
319
+ }));
320
+ const {
321
+ headerActionDiv
322
+ } = checkSetup(container);
312
323
  expect(headerActionDiv.children.length).toEqual(1);
313
- var changeButton = headerActionDiv.children[0];
324
+ const changeButton = headerActionDiv.children[0];
314
325
  expect(changeButton.tagName).toEqual('BUTTON');
315
326
  expect(changeButton.textContent).toEqual(_SummaryCard.DEFAULT_CHANGE_BUTTON_LABEL);
316
327
  });
317
- it('should not render when no config is provided for it', function () {
318
- var _renderWithValidation9 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
319
- id: ID,
320
- entryData: ENTRY,
321
- config: {},
322
- onChange: ON_CHANGE,
323
- parentCollectionName: "parent",
324
- formData: {},
325
- masterPage: {
326
- childPages: []
327
- }
328
- })),
329
- container = _renderWithValidation9.container;
330
- var _checkSetup9 = checkSetup(container),
331
- headerActionDiv = _checkSetup9.headerActionDiv;
328
+ it('should not render when no config is provided for it', () => {
329
+ const {
330
+ container
331
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
332
+ id: ID,
333
+ entryData: ENTRY,
334
+ config: {},
335
+ onChange: ON_CHANGE,
336
+ parentCollectionName: "parent",
337
+ formData: {},
338
+ masterPage: {
339
+ childPages: []
340
+ }
341
+ }));
342
+ const {
343
+ headerActionDiv
344
+ } = checkSetup(container);
332
345
  expect(headerActionDiv.children.length).toEqual(0);
333
346
  });
334
- it('should not render when onChange is not supplied', function () {
335
- var CONFIG = {
347
+ it('should not render when onChange is not supplied', () => {
348
+ const CONFIG = {
336
349
  changeAction: {
337
350
  label: 'Change label',
338
351
  page: 'testPage'
339
352
  }
340
353
  };
341
- var _renderWithValidation10 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
342
- id: ID,
343
- entryData: ENTRY,
344
- config: CONFIG,
345
- parentCollectionName: "parent",
346
- formData: {},
347
- masterPage: {
348
- childPages: []
349
- }
350
- })),
351
- container = _renderWithValidation10.container;
352
- var _checkSetup10 = checkSetup(container),
353
- headerActionDiv = _checkSetup10.headerActionDiv;
354
+ const {
355
+ container
356
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
357
+ id: ID,
358
+ entryData: ENTRY,
359
+ config: CONFIG,
360
+ parentCollectionName: "parent",
361
+ formData: {},
362
+ masterPage: {
363
+ childPages: []
364
+ }
365
+ }));
366
+ const {
367
+ headerActionDiv
368
+ } = checkSetup(container);
354
369
  expect(headerActionDiv.children.length).toEqual(0);
355
370
  });
356
371
  });
357
- describe('Delete action button', function () {
358
- var onDeleteArgs = [];
359
- var onDeleteCalls = 0;
360
- var ON_DELETE = function ON_DELETE(entry) {
372
+ describe('Delete action button', () => {
373
+ let onDeleteArgs = [];
374
+ let onDeleteCalls = 0;
375
+ const ON_DELETE = entry => {
361
376
  onDeleteArgs.push(entry);
362
377
  onDeleteCalls += 1;
363
378
  };
364
- beforeEach(function () {
379
+ beforeEach(() => {
365
380
  onDeleteArgs = [];
366
381
  onDeleteCalls = 0;
367
382
  });
368
- it('should render correctly', function () {
369
- var CONFIG = {
383
+ it('should render correctly', () => {
384
+ const CONFIG = {
370
385
  deleteAction: {
371
386
  label: 'Delete label',
372
387
  aria_label: [{
@@ -374,22 +389,24 @@ describe('components.CollectionSummary.SummaryCard', function () {
374
389
  }]
375
390
  }
376
391
  };
377
- var _renderWithValidation11 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
378
- id: ID,
379
- entryData: ENTRY,
380
- config: CONFIG,
381
- onDelete: ON_DELETE,
382
- parentCollectionName: "parent",
383
- formData: {},
384
- masterPage: {
385
- childPages: []
386
- }
387
- })),
388
- container = _renderWithValidation11.container;
389
- var _checkSetup11 = checkSetup(container),
390
- headerActionDiv = _checkSetup11.headerActionDiv;
392
+ const {
393
+ container
394
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
395
+ id: ID,
396
+ entryData: ENTRY,
397
+ config: CONFIG,
398
+ onDelete: ON_DELETE,
399
+ parentCollectionName: "parent",
400
+ formData: {},
401
+ masterPage: {
402
+ childPages: []
403
+ }
404
+ }));
405
+ const {
406
+ headerActionDiv
407
+ } = checkSetup(container);
391
408
  expect(headerActionDiv.children.length).toEqual(1);
392
- var deleteButton = headerActionDiv.children[0];
409
+ const deleteButton = headerActionDiv.children[0];
393
410
  expect(deleteButton.name).toEqual('Delete');
394
411
  expect(deleteButton.tagName).toEqual('BUTTON');
395
412
  expect(deleteButton.textContent).toEqual(CONFIG.deleteAction.label);
@@ -398,122 +415,131 @@ describe('components.CollectionSummary.SummaryCard', function () {
398
415
  expect(onDeleteCalls).toEqual(1);
399
416
  expect(onDeleteArgs[0]).toMatchObject(ENTRY);
400
417
  });
401
- it('should use the default label when one is not provided', function () {
402
- var CONFIG = {
418
+ it('should use the default label when one is not provided', () => {
419
+ const CONFIG = {
403
420
  deleteAction: {}
404
421
  };
405
- var _renderWithValidation12 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
406
- id: ID,
407
- entryData: ENTRY,
408
- config: CONFIG,
409
- onDelete: ON_DELETE,
410
- parentCollectionName: "parent",
411
- formData: {},
412
- masterPage: {
413
- childPages: []
414
- }
415
- })),
416
- container = _renderWithValidation12.container;
417
- var _checkSetup12 = checkSetup(container),
418
- headerActionDiv = _checkSetup12.headerActionDiv;
422
+ const {
423
+ container
424
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
425
+ id: ID,
426
+ entryData: ENTRY,
427
+ config: CONFIG,
428
+ onDelete: ON_DELETE,
429
+ parentCollectionName: "parent",
430
+ formData: {},
431
+ masterPage: {
432
+ childPages: []
433
+ }
434
+ }));
435
+ const {
436
+ headerActionDiv
437
+ } = checkSetup(container);
419
438
  expect(headerActionDiv.children.length).toEqual(1);
420
- var deleteButton = headerActionDiv.children[0];
439
+ const deleteButton = headerActionDiv.children[0];
421
440
  expect(deleteButton.tagName).toEqual('BUTTON');
422
441
  expect(deleteButton.textContent).toEqual(_SummaryCard.DEFAULT_DELETE_BUTTON_LABEL);
423
442
  });
424
- it('should not render when no config is provided for it', function () {
425
- var _renderWithValidation13 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
426
- id: ID,
427
- entryData: ENTRY,
428
- config: {},
429
- onDelete: ON_DELETE,
430
- parentCollectionName: "parent",
431
- formData: {},
432
- masterPage: {
433
- childPages: []
434
- }
435
- })),
436
- container = _renderWithValidation13.container;
437
- var _checkSetup13 = checkSetup(container),
438
- headerActionDiv = _checkSetup13.headerActionDiv;
443
+ it('should not render when no config is provided for it', () => {
444
+ const {
445
+ container
446
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
447
+ id: ID,
448
+ entryData: ENTRY,
449
+ config: {},
450
+ onDelete: ON_DELETE,
451
+ parentCollectionName: "parent",
452
+ formData: {},
453
+ masterPage: {
454
+ childPages: []
455
+ }
456
+ }));
457
+ const {
458
+ headerActionDiv
459
+ } = checkSetup(container);
439
460
  expect(headerActionDiv.children.length).toEqual(0);
440
461
  });
441
- it('should not render when onDelete is not supplied', function () {
442
- var CONFIG = {
462
+ it('should not render when onDelete is not supplied', () => {
463
+ const CONFIG = {
443
464
  deleteAction: {
444
465
  label: 'Delete label'
445
466
  }
446
467
  };
447
- var _renderWithValidation14 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
448
- id: ID,
449
- entryData: ENTRY,
450
- config: CONFIG,
451
- parentCollectionName: "parent",
452
- formData: {},
453
- masterPage: {
454
- childPages: []
455
- }
456
- })),
457
- container = _renderWithValidation14.container;
458
- var _checkSetup14 = checkSetup(container),
459
- headerActionDiv = _checkSetup14.headerActionDiv;
468
+ const {
469
+ container
470
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
471
+ id: ID,
472
+ entryData: ENTRY,
473
+ config: CONFIG,
474
+ parentCollectionName: "parent",
475
+ formData: {},
476
+ masterPage: {
477
+ childPages: []
478
+ }
479
+ }));
480
+ const {
481
+ headerActionDiv
482
+ } = checkSetup(container);
460
483
  expect(headerActionDiv.children.length).toEqual(0);
461
484
  });
462
- it('should correctly render the Details section with entry data', function () {
463
- var CONFIG = {
485
+ it('should correctly render the Details section with entry data', () => {
486
+ const CONFIG = {
464
487
  deleteAction: {
465
488
  label: 'Delete label'
466
489
  }
467
490
  };
468
- var _renderWithValidation15 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
469
- id: ID,
470
- entryData: ENTRY,
471
- config: CONFIG,
472
- parentCollectionName: "parent",
473
- formData: {},
474
- masterPage: {
475
- childPages: []
476
- }
477
- })),
478
- container = _renderWithValidation15.container;
479
- var detailsSection = container.querySelector('.details');
491
+ const {
492
+ container
493
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
494
+ id: ID,
495
+ entryData: ENTRY,
496
+ config: CONFIG,
497
+ parentCollectionName: "parent",
498
+ formData: {},
499
+ masterPage: {
500
+ childPages: []
501
+ }
502
+ }));
503
+ const detailsSection = container.querySelector('.details');
480
504
  expect(detailsSection).not.toBeNull();
481
505
  expect(detailsSection.textContent).toContain(ENTRY.summaryText);
482
506
  });
483
507
  });
484
- describe('Duplicate action button', function () {
485
- var onDuplicateArgs = [];
486
- var onDuplicateCalls = 0;
487
- var ON_DUPLICATE = function ON_DUPLICATE(entry) {
508
+ describe('Duplicate action button', () => {
509
+ let onDuplicateArgs = [];
510
+ let onDuplicateCalls = 0;
511
+ const ON_DUPLICATE = entry => {
488
512
  onDuplicateArgs.push(entry);
489
513
  onDuplicateCalls += 1;
490
514
  };
491
- beforeEach(function () {
515
+ beforeEach(() => {
492
516
  onDuplicateArgs = [];
493
517
  onDuplicateCalls = 0;
494
518
  });
495
- it('should render correctly', function () {
496
- var CONFIG = {
519
+ it('should render correctly', () => {
520
+ const CONFIG = {
497
521
  duplicateAction: {
498
522
  label: 'Duplicate label'
499
523
  }
500
524
  };
501
- var _renderWithValidation16 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
502
- id: ID,
503
- entryData: ENTRY,
504
- config: CONFIG,
505
- onDuplicate: ON_DUPLICATE,
506
- parentCollectionName: "parent",
507
- formData: {},
508
- masterPage: {
509
- childPages: []
510
- }
511
- })),
512
- container = _renderWithValidation16.container;
513
- var _checkSetup15 = checkSetup(container),
514
- headerActionDiv = _checkSetup15.headerActionDiv;
525
+ const {
526
+ container
527
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
528
+ id: ID,
529
+ entryData: ENTRY,
530
+ config: CONFIG,
531
+ onDuplicate: ON_DUPLICATE,
532
+ parentCollectionName: "parent",
533
+ formData: {},
534
+ masterPage: {
535
+ childPages: []
536
+ }
537
+ }));
538
+ const {
539
+ headerActionDiv
540
+ } = checkSetup(container);
515
541
  expect(headerActionDiv.children.length).toEqual(1);
516
- var duplicateButton = headerActionDiv.children[0];
542
+ const duplicateButton = headerActionDiv.children[0];
517
543
  expect(duplicateButton.name).toEqual('Duplicate');
518
544
  expect(duplicateButton.tagName).toEqual('BUTTON');
519
545
  expect(duplicateButton.textContent).toEqual(CONFIG.duplicateAction.label);
@@ -521,73 +547,79 @@ describe('components.CollectionSummary.SummaryCard', function () {
521
547
  expect(onDuplicateCalls).toEqual(1);
522
548
  expect(onDuplicateArgs[0]).toMatchObject(ENTRY);
523
549
  });
524
- it('should use the default label when one is not provided', function () {
525
- var CONFIG = {
550
+ it('should use the default label when one is not provided', () => {
551
+ const CONFIG = {
526
552
  duplicateAction: {}
527
553
  };
528
- var _renderWithValidation17 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
529
- id: ID,
530
- entryData: ENTRY,
531
- config: CONFIG,
532
- onDuplicate: ON_DUPLICATE,
533
- parentCollectionName: "parent",
534
- formData: {},
535
- masterPage: {
536
- childPages: []
537
- }
538
- })),
539
- container = _renderWithValidation17.container;
540
- var _checkSetup16 = checkSetup(container),
541
- headerActionDiv = _checkSetup16.headerActionDiv;
554
+ const {
555
+ container
556
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
557
+ id: ID,
558
+ entryData: ENTRY,
559
+ config: CONFIG,
560
+ onDuplicate: ON_DUPLICATE,
561
+ parentCollectionName: "parent",
562
+ formData: {},
563
+ masterPage: {
564
+ childPages: []
565
+ }
566
+ }));
567
+ const {
568
+ headerActionDiv
569
+ } = checkSetup(container);
542
570
  expect(headerActionDiv.children.length).toEqual(1);
543
- var duplicateButton = headerActionDiv.children[0];
571
+ const duplicateButton = headerActionDiv.children[0];
544
572
  expect(duplicateButton.tagName).toEqual('BUTTON');
545
573
  expect(duplicateButton.textContent).toEqual(_SummaryCard.DEFAULT_DUPLICATE_BUTTON_LABEL);
546
574
  });
547
- it('should not render when no config is provided for it', function () {
548
- var _renderWithValidation18 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
549
- id: ID,
550
- entryData: ENTRY,
551
- config: {},
552
- onDuplicate: ON_DUPLICATE,
553
- parentCollectionName: "parent",
554
- formData: {},
555
- masterPage: {
556
- childPages: []
557
- }
558
- })),
559
- container = _renderWithValidation18.container;
560
- var _checkSetup17 = checkSetup(container),
561
- headerActionDiv = _checkSetup17.headerActionDiv;
575
+ it('should not render when no config is provided for it', () => {
576
+ const {
577
+ container
578
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
579
+ id: ID,
580
+ entryData: ENTRY,
581
+ config: {},
582
+ onDuplicate: ON_DUPLICATE,
583
+ parentCollectionName: "parent",
584
+ formData: {},
585
+ masterPage: {
586
+ childPages: []
587
+ }
588
+ }));
589
+ const {
590
+ headerActionDiv
591
+ } = checkSetup(container);
562
592
  expect(headerActionDiv.children.length).toEqual(0);
563
593
  });
564
- it('should not render when onDuplicate is not supplied', function () {
565
- var CONFIG = {
594
+ it('should not render when onDuplicate is not supplied', () => {
595
+ const CONFIG = {
566
596
  duplicateAction: {
567
597
  label: 'Duplicate label'
568
598
  }
569
599
  };
570
- var _renderWithValidation19 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
571
- id: ID,
572
- entryData: ENTRY,
573
- config: CONFIG,
574
- parentCollectionName: "parent",
575
- formData: {},
576
- masterPage: {
577
- childPages: []
578
- }
579
- })),
580
- container = _renderWithValidation19.container;
581
- var _checkSetup18 = checkSetup(container),
582
- headerActionDiv = _checkSetup18.headerActionDiv;
600
+ const {
601
+ container
602
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
603
+ id: ID,
604
+ entryData: ENTRY,
605
+ config: CONFIG,
606
+ parentCollectionName: "parent",
607
+ formData: {},
608
+ masterPage: {
609
+ childPages: []
610
+ }
611
+ }));
612
+ const {
613
+ headerActionDiv
614
+ } = checkSetup(container);
583
615
  expect(headerActionDiv.children.length).toEqual(0);
584
616
  });
585
617
  });
586
- describe('Quick Edit action button', function () {
587
- var CONFIG = {
618
+ describe('Quick Edit action button', () => {
619
+ const CONFIG = {
588
620
  quickEdit: {}
589
621
  };
590
- var PAGES = [{
622
+ const PAGES = [{
591
623
  id: 'parentPage',
592
624
  name: 'parentPage',
593
625
  components: [{
@@ -610,24 +642,26 @@ describe('components.CollectionSummary.SummaryCard', function () {
610
642
  }]
611
643
  }
612
644
  }];
613
- it('should render correctly', function () {
614
- var _renderWithValidation20 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
615
- id: ID,
616
- entryData: ENTRY,
617
- config: CONFIG,
618
- parentCollectionName: "parent",
619
- formData: {},
620
- masterPage: {
621
- childPages: PAGES
622
- }
623
- })),
624
- container = _renderWithValidation20.container;
625
- var _checkSetup19 = checkSetup(container),
626
- headerActionDiv = _checkSetup19.headerActionDiv;
645
+ it('should render correctly', () => {
646
+ const {
647
+ container
648
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
649
+ id: ID,
650
+ entryData: ENTRY,
651
+ config: CONFIG,
652
+ parentCollectionName: "parent",
653
+ formData: {},
654
+ masterPage: {
655
+ childPages: PAGES
656
+ }
657
+ }));
658
+ const {
659
+ headerActionDiv
660
+ } = checkSetup(container);
627
661
  expect(headerActionDiv.children.length).toEqual(1);
628
662
 
629
663
  // Shows edit button but no quick edit
630
- var editButton = headerActionDiv.children[0];
664
+ const editButton = headerActionDiv.children[0];
631
665
  expect(editButton.name).toEqual('QuickEdit');
632
666
  expect(editButton.tagName).toEqual('BUTTON');
633
667
  expect(editButton.textContent).toEqual('Quick Edit');
@@ -636,13 +670,13 @@ describe('components.CollectionSummary.SummaryCard', function () {
636
670
  // shows quickedit once clicked
637
671
  _react.fireEvent.click(editButton, {});
638
672
  expect(container.childNodes[0].childNodes.length).toEqual(3); // Quick edit shown
639
- var quickEdit = container.childNodes[0].childNodes[1];
673
+ const quickEdit = container.childNodes[0].childNodes[1];
640
674
  expect(quickEdit.textContent).toContain('Test text');
641
675
 
642
676
  // quick edit has proper buttons
643
- var quickEditButtons = quickEdit.childNodes[2];
644
- var saveButton = quickEditButtons.childNodes[0];
645
- var cancelButton = quickEditButtons.childNodes[1];
677
+ const quickEditButtons = quickEdit.childNodes[2];
678
+ const saveButton = quickEditButtons.childNodes[0];
679
+ const cancelButton = quickEditButtons.childNodes[1];
646
680
  expect(saveButton.textContent).toContain('Save');
647
681
  expect(cancelButton.textContent).toContain('Cancel');
648
682
 
@@ -650,33 +684,34 @@ describe('components.CollectionSummary.SummaryCard', function () {
650
684
  _react.fireEvent.click(cancelButton, {});
651
685
  expect(container.childNodes[0].childNodes.length).toEqual(2); // Quick edit hidden
652
686
  });
653
-
654
- it('should not render when no config is provided for it', function () {
655
- var _renderWithValidation21 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
656
- id: ID,
657
- entryData: ENTRY,
658
- config: {},
659
- parentCollectionName: "parent",
660
- formData: {},
661
- masterPage: {
662
- childPages: PAGES
663
- }
664
- })),
665
- container = _renderWithValidation21.container;
666
- var _checkSetup20 = checkSetup(container),
667
- headerActionDiv = _checkSetup20.headerActionDiv;
687
+ it('should not render when no config is provided for it', () => {
688
+ const {
689
+ container
690
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
691
+ id: ID,
692
+ entryData: ENTRY,
693
+ config: {},
694
+ parentCollectionName: "parent",
695
+ formData: {},
696
+ masterPage: {
697
+ childPages: PAGES
698
+ }
699
+ }));
700
+ const {
701
+ headerActionDiv
702
+ } = checkSetup(container);
668
703
  expect(headerActionDiv.children.length).toEqual(0);
669
704
  });
670
705
  });
671
- describe('Quick Edit errors', function () {
672
- var CUSTOM_ENTRY = {
706
+ describe('Quick Edit errors', () => {
707
+ const CUSTOM_ENTRY = {
673
708
  id: '123',
674
709
  testText: 'value'
675
710
  };
676
- var CONFIG = {
711
+ const CONFIG = {
677
712
  quickEdit: {}
678
713
  };
679
- var PAGES = [{
714
+ const PAGES = [{
680
715
  id: 'parentPage',
681
716
  name: 'parentPage',
682
717
  components: [{
@@ -701,32 +736,34 @@ describe('components.CollectionSummary.SummaryCard', function () {
701
736
  }]
702
737
  }
703
738
  }];
704
- it('should initally show errors passed in from top-level', function () {
705
- var TOP_LEVEL_ERRORS = [{
739
+ it('should initally show errors passed in from top-level', () => {
740
+ const TOP_LEVEL_ERRORS = [{
706
741
  id: 'testText',
707
742
  entryId: '123',
708
743
  error: 'top-level error message'
709
744
  }];
710
- var _renderWithValidation22 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCardValidationContext.default, {
711
- entryId: CUSTOM_ENTRY.id,
712
- topLevelErrors: TOP_LEVEL_ERRORS
713
- }, /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
714
- id: ID,
715
- entryData: CUSTOM_ENTRY,
716
- config: CONFIG,
717
- parentCollectionName: "parent",
718
- formData: {},
719
- masterPage: {
720
- childPages: PAGES
721
- }
722
- }))),
723
- container = _renderWithValidation22.container;
724
- var _checkSetup21 = checkSetup(container),
725
- headerActionDiv = _checkSetup21.headerActionDiv;
745
+ const {
746
+ container
747
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCardValidationContext.default, {
748
+ entryId: CUSTOM_ENTRY.id,
749
+ topLevelErrors: TOP_LEVEL_ERRORS
750
+ }, /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
751
+ id: ID,
752
+ entryData: CUSTOM_ENTRY,
753
+ config: CONFIG,
754
+ parentCollectionName: "parent",
755
+ formData: {},
756
+ masterPage: {
757
+ childPages: PAGES
758
+ }
759
+ })));
760
+ const {
761
+ headerActionDiv
762
+ } = checkSetup(container);
726
763
  expect(headerActionDiv.children.length).toEqual(1);
727
764
 
728
765
  // Shows edit button but no quick edit
729
- var editButton = headerActionDiv.children[0];
766
+ const editButton = headerActionDiv.children[0];
730
767
  expect(editButton.tagName).toEqual('BUTTON');
731
768
  expect(editButton.textContent).toEqual('Quick Edit');
732
769
  expect(container.childNodes[0].childNodes.length).toEqual(2); // Quick edit hidden
@@ -734,108 +771,85 @@ describe('components.CollectionSummary.SummaryCard', function () {
734
771
  // shows quickedit once clicked
735
772
  _react.fireEvent.click(editButton, {});
736
773
  expect(container.childNodes[0].childNodes.length).toEqual(3); // Quick edit shown
737
- var quickEdit = container.childNodes[0].childNodes[1];
774
+ const quickEdit = container.childNodes[0].childNodes[1];
738
775
  expect(quickEdit.textContent).toContain('Test text');
739
776
 
740
777
  // quick edit is showing top-level error
741
- var errorSummary = quickEdit.childNodes[0];
778
+ const errorSummary = quickEdit.childNodes[0];
742
779
  expect(errorSummary.textContent).toContain(TOP_LEVEL_ERRORS[0].error);
743
780
  });
744
- it('should only show errors from validation when it happens, ignoring top-level errors', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
745
- var TOP_LEVEL_ERRORS, _renderWithValidation23, container, _checkSetup22, headerActionDiv, editButton, quickEdit, errorSummary, component, componentInput, quickEditButtons, saveButton;
746
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
747
- while (1) switch (_context3.prev = _context3.next) {
748
- case 0:
749
- TOP_LEVEL_ERRORS = [{
750
- id: 'testText',
751
- entryId: '123',
752
- error: 'top-level error message'
753
- }];
754
- _renderWithValidation23 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCardValidationContext.default, {
755
- entryId: CUSTOM_ENTRY.id,
756
- topLevelErrors: TOP_LEVEL_ERRORS
757
- }, /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
758
- id: ID,
759
- entryData: CUSTOM_ENTRY,
760
- config: CONFIG,
761
- parentCollectionName: "parent",
762
- formData: {},
763
- masterPage: {
764
- childPages: PAGES
765
- },
766
- onQuickEdit: function onQuickEdit() {}
767
- }))), container = _renderWithValidation23.container;
768
- _checkSetup22 = checkSetup(container), headerActionDiv = _checkSetup22.headerActionDiv;
769
- expect(headerActionDiv.children.length).toEqual(1);
781
+ it('should only show errors from validation when it happens, ignoring top-level errors', async () => {
782
+ const TOP_LEVEL_ERRORS = [{
783
+ id: 'testText',
784
+ entryId: '123',
785
+ error: 'top-level error message'
786
+ }];
787
+ const {
788
+ container
789
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCardValidationContext.default, {
790
+ entryId: CUSTOM_ENTRY.id,
791
+ topLevelErrors: TOP_LEVEL_ERRORS
792
+ }, /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
793
+ id: ID,
794
+ entryData: CUSTOM_ENTRY,
795
+ config: CONFIG,
796
+ parentCollectionName: "parent",
797
+ formData: {},
798
+ masterPage: {
799
+ childPages: PAGES
800
+ },
801
+ onQuickEdit: () => {}
802
+ })));
803
+ const {
804
+ headerActionDiv
805
+ } = checkSetup(container);
806
+ expect(headerActionDiv.children.length).toEqual(1);
807
+
808
+ // Shows edit button but no quick edit
809
+ const editButton = headerActionDiv.children[0];
810
+ expect(editButton.tagName).toEqual('BUTTON');
811
+ expect(editButton.textContent).toEqual('Quick Edit');
812
+ expect(container.childNodes[0].childNodes.length).toEqual(2); // Quick edit hidden
770
813
 
771
- // Shows edit button but no quick edit
772
- editButton = headerActionDiv.children[0];
773
- expect(editButton.tagName).toEqual('BUTTON');
774
- expect(editButton.textContent).toEqual('Quick Edit');
775
- expect(container.childNodes[0].childNodes.length).toEqual(2); // Quick edit hidden
814
+ // shows quickedit once clicked
815
+ _react.fireEvent.click(editButton, {});
816
+ expect(container.childNodes[0].childNodes.length).toEqual(3); // Quick edit shown
817
+ const quickEdit = container.childNodes[0].childNodes[1];
818
+ expect(quickEdit.textContent).toContain('Test text');
776
819
 
777
- // shows quickedit once clicked
778
- _react.fireEvent.click(editButton, {});
779
- expect(container.childNodes[0].childNodes.length).toEqual(3); // Quick edit shown
780
- quickEdit = container.childNodes[0].childNodes[1];
781
- expect(quickEdit.textContent).toContain('Test text');
820
+ // quick edit is initially showing top-level error
821
+ const errorSummary = quickEdit.childNodes[0];
822
+ expect(errorSummary.textContent).toContain(TOP_LEVEL_ERRORS[0].error);
782
823
 
783
- // quick edit is initially showing top-level error
784
- errorSummary = quickEdit.childNodes[0];
785
- expect(errorSummary.textContent).toContain(TOP_LEVEL_ERRORS[0].error);
824
+ // remove value from required text component
825
+ const component = quickEdit.childNodes[2];
826
+ const componentInput = component.childNodes[3];
827
+ await (0, _testUtils.act)(async () => {
828
+ _react.fireEvent.change(componentInput, {
829
+ target: {
830
+ value: ''
831
+ }
832
+ });
833
+ });
786
834
 
787
- // remove value from required text component
788
- component = quickEdit.childNodes[2];
789
- componentInput = component.childNodes[3];
790
- _context3.next = 18;
791
- return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
792
- return _regeneratorRuntime().wrap(function _callee$(_context) {
793
- while (1) switch (_context.prev = _context.next) {
794
- case 0:
795
- _react.fireEvent.change(componentInput, {
796
- target: {
797
- value: ''
798
- }
799
- });
800
- case 1:
801
- case "end":
802
- return _context.stop();
803
- }
804
- }, _callee);
805
- })));
806
- case 18:
807
- // click 'save' to trigger validation, which will fail as the component
808
- // cleared above is marked as 'required'.
809
- quickEditButtons = quickEdit.childNodes[3];
810
- saveButton = quickEditButtons.childNodes[0];
811
- expect(saveButton.textContent).toContain('Save');
812
- _context3.next = 23;
813
- return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
814
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
815
- while (1) switch (_context2.prev = _context2.next) {
816
- case 0:
817
- _react.fireEvent.click(saveButton, {});
818
- case 1:
819
- case "end":
820
- return _context2.stop();
821
- }
822
- }, _callee2);
823
- })));
824
- case 23:
825
- // quick edit should now be showing the errors from validation
826
- expect(errorSummary.textContent).toContain('Custom error message');
827
- case 24:
828
- case "end":
829
- return _context3.stop();
830
- }
831
- }, _callee3);
832
- })));
835
+ // click 'save' to trigger validation, which will fail as the component
836
+ // cleared above is marked as 'required'.
837
+ const quickEditButtons = quickEdit.childNodes[3];
838
+ const saveButton = quickEditButtons.childNodes[0];
839
+ expect(saveButton.textContent).toContain('Save');
840
+ await (0, _testUtils.act)(async () => {
841
+ _react.fireEvent.click(saveButton, {});
842
+ });
843
+
844
+ // quick edit should now be showing the errors from validation
845
+ expect(errorSummary.textContent).toContain('Custom error message');
846
+ });
833
847
  });
834
- describe('Quick Edit save changes', function () {
835
- var CONFIG = {
848
+ describe('Quick Edit save changes', () => {
849
+ const CONFIG = {
836
850
  quickEdit: {}
837
851
  };
838
- var PAGES = [{
852
+ const PAGES = [{
839
853
  id: 'parentPage',
840
854
  name: 'parentPage',
841
855
  components: [{
@@ -863,24 +877,26 @@ describe('components.CollectionSummary.SummaryCard', function () {
863
877
  }]
864
878
  }
865
879
  }];
866
- it('should render correctly', function () {
867
- var _renderWithValidation24 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
868
- id: ID,
869
- entryData: ENTRY,
870
- config: CONFIG,
871
- parentCollectionName: "parent",
872
- formData: {},
873
- masterPage: {
874
- childPages: PAGES
875
- }
876
- })),
877
- container = _renderWithValidation24.container;
878
- var _checkSetup23 = checkSetup(container),
879
- headerActionDiv = _checkSetup23.headerActionDiv;
880
+ it('should render correctly', () => {
881
+ const {
882
+ container
883
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
884
+ id: ID,
885
+ entryData: ENTRY,
886
+ config: CONFIG,
887
+ parentCollectionName: "parent",
888
+ formData: {},
889
+ masterPage: {
890
+ childPages: PAGES
891
+ }
892
+ }));
893
+ const {
894
+ headerActionDiv
895
+ } = checkSetup(container);
880
896
  expect(headerActionDiv.children.length).toEqual(1);
881
897
 
882
898
  // Shows edit button but no quick edit
883
- var editButton = headerActionDiv.children[0];
899
+ const editButton = headerActionDiv.children[0];
884
900
  expect(editButton.tagName).toEqual('BUTTON');
885
901
  expect(editButton.textContent).toEqual('Quick Edit');
886
902
  expect(container.childNodes[0].childNodes.length).toEqual(2); // Quick edit hidden
@@ -888,13 +904,13 @@ describe('components.CollectionSummary.SummaryCard', function () {
888
904
  // shows quickedit once clicked
889
905
  _react.fireEvent.click(editButton, {});
890
906
  expect(container.childNodes[0].childNodes.length).toEqual(3); // Quick edit shown
891
- var quickEdit = container.childNodes[0].childNodes[1];
907
+ const quickEdit = container.childNodes[0].childNodes[1];
892
908
  expect(quickEdit.textContent).toContain('Test text');
893
909
 
894
910
  // quick edit has proper buttons
895
- var quickEditButtons = quickEdit.childNodes[2];
896
- var saveButton = quickEditButtons.childNodes[0];
897
- var cancelButton = quickEditButtons.childNodes[1];
911
+ const quickEditButtons = quickEdit.childNodes[2];
912
+ const saveButton = quickEditButtons.childNodes[0];
913
+ const cancelButton = quickEditButtons.childNodes[1];
898
914
  expect(saveButton.textContent).toContain('Save');
899
915
  expect(cancelButton.textContent).toContain('Cancel');
900
916
 
@@ -902,380 +918,321 @@ describe('components.CollectionSummary.SummaryCard', function () {
902
918
  _react.fireEvent.click(cancelButton, {});
903
919
  expect(container.childNodes[0].childNodes.length).toEqual(2); // Quick edit hidden
904
920
  });
905
-
906
- it('should not validate or save if nothing has changed', function () {
907
- var ON_SUBMIT_CALLS = [];
908
- var hooks = {
909
- onSubmit: function onSubmit(type, patch) {
910
- return ON_SUBMIT_CALLS.push(patch);
911
- }
921
+ it('should not validate or save if nothing has changed', () => {
922
+ const ON_SUBMIT_CALLS = [];
923
+ const hooks = {
924
+ onSubmit: (type, patch) => ON_SUBMIT_CALLS.push(patch)
912
925
  };
913
- var _renderWithValidation25 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
914
- id: ID,
915
- entryData: ENTRY,
916
- config: CONFIG,
917
- parentCollectionName: "parents",
918
- formData: {},
919
- masterPage: {
920
- childPages: PAGES
921
- }
922
- }), {
923
- hooks: hooks
924
- }),
925
- container = _renderWithValidation25.container;
926
- var _checkSetup24 = checkSetup(container),
927
- headerActionDiv = _checkSetup24.headerActionDiv;
926
+ const {
927
+ container
928
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
929
+ id: ID,
930
+ entryData: ENTRY,
931
+ config: CONFIG,
932
+ parentCollectionName: "parents",
933
+ formData: {},
934
+ masterPage: {
935
+ childPages: PAGES
936
+ }
937
+ }), {
938
+ hooks
939
+ });
940
+ const {
941
+ headerActionDiv
942
+ } = checkSetup(container);
928
943
 
929
944
  // Shows edit button but no quick edit
930
- var editButton = headerActionDiv.children[0];
945
+ const editButton = headerActionDiv.children[0];
931
946
 
932
947
  // shows quickedit once clicked
933
948
  _react.fireEvent.click(editButton, {});
934
- var quickEdit = container.childNodes[0].childNodes[1];
935
- var quickEditButtons = quickEdit.childNodes[2];
936
- var saveButton = quickEditButtons.childNodes[0];
949
+ const quickEdit = container.childNodes[0].childNodes[1];
950
+ const quickEditButtons = quickEdit.childNodes[2];
951
+ const saveButton = quickEditButtons.childNodes[0];
937
952
  _react.fireEvent.click(saveButton, {});
938
953
  expect(ON_SUBMIT_CALLS.length).toEqual(0);
939
954
  });
940
- it('should return after local validation if errors are present', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
941
- var ON_SUBMIT_CALLS, hooks, ON_QUICK_EDIT_CALLS, ON_QUICK_EDIT, _renderWithValidation26, container, _checkSetup25, headerActionDiv, editButton, quickEdit, component, componentInput, quickEditButtons, saveButton;
942
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
943
- while (1) switch (_context6.prev = _context6.next) {
944
- case 0:
945
- ON_SUBMIT_CALLS = [];
946
- hooks = {
947
- onSubmit: function onSubmit(type, patch) {
948
- return ON_SUBMIT_CALLS.push(patch);
949
- }
950
- };
951
- ON_QUICK_EDIT_CALLS = [];
952
- ON_QUICK_EDIT = function ON_QUICK_EDIT(_ref5) {
953
- var target = _ref5.target;
954
- ON_QUICK_EDIT_CALLS.push(target);
955
- };
956
- _renderWithValidation26 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
957
- id: ID,
958
- entryData: _objectSpread(_objectSpread({}, ENTRY), {}, {
959
- index: 0
960
- }),
961
- config: CONFIG,
962
- parentCollectionName: "parents",
963
- onQuickEdit: ON_QUICK_EDIT,
964
- formData: {
965
- parents: [{
966
- testText: 'hello'
967
- }]
968
- },
969
- masterPage: {
970
- childPages: PAGES
971
- }
972
- }), {
973
- hooks: hooks
974
- }), container = _renderWithValidation26.container;
975
- _checkSetup25 = checkSetup(container), headerActionDiv = _checkSetup25.headerActionDiv;
976
- editButton = headerActionDiv.children[0];
977
- _react.fireEvent.click(editButton, {});
978
- quickEdit = container.childNodes[0].childNodes[1];
979
- component = quickEdit.childNodes[1];
980
- componentInput = component.childNodes[2];
981
- quickEditButtons = quickEdit.childNodes[2];
982
- saveButton = quickEditButtons.childNodes[0]; // Field has validation to force the length of this field to be greater than 2 so this should fail
983
- _context6.next = 15;
984
- return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
985
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
986
- while (1) switch (_context4.prev = _context4.next) {
987
- case 0:
988
- _react.fireEvent.change(componentInput, {
989
- target: {
990
- value: 'a'
991
- }
992
- });
993
- case 1:
994
- case "end":
995
- return _context4.stop();
996
- }
997
- }, _callee4);
998
- })));
999
- case 15:
1000
- _context6.next = 17;
1001
- return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
1002
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
1003
- while (1) switch (_context5.prev = _context5.next) {
1004
- case 0:
1005
- _react.fireEvent.click(saveButton, {});
1006
- case 1:
1007
- case "end":
1008
- return _context5.stop();
1009
- }
1010
- }, _callee5);
1011
- })));
1012
- case 17:
1013
- expect(ON_SUBMIT_CALLS.length).toEqual(0);
1014
- expect(ON_QUICK_EDIT_CALLS.length).toEqual(0);
1015
- case 19:
1016
- case "end":
1017
- return _context6.stop();
955
+ it('should return after local validation if errors are present', async () => {
956
+ const ON_SUBMIT_CALLS = [];
957
+ const hooks = {
958
+ onSubmit: (type, patch) => ON_SUBMIT_CALLS.push(patch)
959
+ };
960
+ const ON_QUICK_EDIT_CALLS = [];
961
+ const ON_QUICK_EDIT = _ref => {
962
+ let {
963
+ target
964
+ } = _ref;
965
+ ON_QUICK_EDIT_CALLS.push(target);
966
+ };
967
+ const {
968
+ container
969
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
970
+ id: ID,
971
+ entryData: {
972
+ ...ENTRY,
973
+ index: 0
974
+ },
975
+ config: CONFIG,
976
+ parentCollectionName: "parents",
977
+ onQuickEdit: ON_QUICK_EDIT,
978
+ formData: {
979
+ parents: [{
980
+ testText: 'hello'
981
+ }]
982
+ },
983
+ masterPage: {
984
+ childPages: PAGES
1018
985
  }
1019
- }, _callee6);
1020
- })));
1021
- it('should run hook validation when local validation is passed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
1022
- var ON_SUBMIT_CALLS, hooks, ON_QUICK_EDIT_CALLS, ON_QUICK_EDIT, _renderWithValidation27, container, _checkSetup26, headerActionDiv, editButton, quickEdit, component, componentInput, quickEditButtons, saveButton;
1023
- return _regeneratorRuntime().wrap(function _callee8$(_context8) {
1024
- while (1) switch (_context8.prev = _context8.next) {
1025
- case 0:
1026
- ON_SUBMIT_CALLS = [];
1027
- hooks = {
1028
- onSubmit: function onSubmit(type, patch, notRequired, onError) {
1029
- ON_SUBMIT_CALLS.push(patch);
1030
- onError([{
1031
- error: 'message',
1032
- id: '0'
1033
- }]);
1034
- }
1035
- };
1036
- ON_QUICK_EDIT_CALLS = [];
1037
- ON_QUICK_EDIT = function ON_QUICK_EDIT(_ref9) {
1038
- var target = _ref9.target;
1039
- ON_QUICK_EDIT_CALLS.push(target);
1040
- };
1041
- _renderWithValidation27 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1042
- id: ID,
1043
- entryData: ENTRY,
1044
- config: CONFIG,
1045
- parentCollectionName: "parents",
1046
- onQuickEdit: ON_QUICK_EDIT,
1047
- formData: {
1048
- parents: [{
1049
- alreadyProvidedField: 'hello'
1050
- }]
1051
- },
1052
- masterPage: {
1053
- childPages: PAGES
1054
- }
1055
- }), {
1056
- hooks: hooks
1057
- }), container = _renderWithValidation27.container;
1058
- _checkSetup26 = checkSetup(container), headerActionDiv = _checkSetup26.headerActionDiv;
1059
- editButton = headerActionDiv.children[0];
1060
- _react.fireEvent.click(editButton, {});
1061
- quickEdit = container.childNodes[0].childNodes[1]; // Make a change
1062
- component = quickEdit.childNodes[1];
1063
- componentInput = component.childNodes[2];
1064
- _react.fireEvent.change(componentInput, {
1065
- target: {
1066
- value: 'new value'
1067
- }
1068
- });
1069
- quickEditButtons = quickEdit.childNodes[2];
1070
- saveButton = quickEditButtons.childNodes[0];
1071
- _context8.next = 16;
1072
- return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
1073
- return _regeneratorRuntime().wrap(function _callee7$(_context7) {
1074
- while (1) switch (_context7.prev = _context7.next) {
1075
- case 0:
1076
- _react.fireEvent.click(saveButton, {});
1077
- case 1:
1078
- case "end":
1079
- return _context7.stop();
1080
- }
1081
- }, _callee7);
1082
- })));
1083
- case 16:
1084
- expect(ON_SUBMIT_CALLS[0]).toMatchObject({
1085
- testText: 'new value'
1086
- });
1087
- expect(ON_QUICK_EDIT_CALLS.length).toEqual(0);
1088
- case 18:
1089
- case "end":
1090
- return _context8.stop();
986
+ }), {
987
+ hooks
988
+ });
989
+ const {
990
+ headerActionDiv
991
+ } = checkSetup(container);
992
+ const editButton = headerActionDiv.children[0];
993
+ _react.fireEvent.click(editButton, {});
994
+ const quickEdit = container.childNodes[0].childNodes[1];
995
+ const component = quickEdit.childNodes[1];
996
+ const componentInput = component.childNodes[2];
997
+ const quickEditButtons = quickEdit.childNodes[2];
998
+ const saveButton = quickEditButtons.childNodes[0];
999
+ // Field has validation to force the length of this field to be greater than 2 so this should fail
1000
+ await (0, _testUtils.act)(async () => {
1001
+ _react.fireEvent.change(componentInput, {
1002
+ target: {
1003
+ value: 'a'
1004
+ }
1005
+ });
1006
+ });
1007
+ await (0, _testUtils.act)(async () => {
1008
+ _react.fireEvent.click(saveButton, {});
1009
+ });
1010
+ expect(ON_SUBMIT_CALLS.length).toEqual(0);
1011
+ expect(ON_QUICK_EDIT_CALLS.length).toEqual(0);
1012
+ });
1013
+ it('should run hook validation when local validation is passed', async () => {
1014
+ const ON_SUBMIT_CALLS = [];
1015
+ const hooks = {
1016
+ onSubmit: (type, patch, notRequired, onError) => {
1017
+ ON_SUBMIT_CALLS.push(patch);
1018
+ onError([{
1019
+ error: 'message',
1020
+ id: '0'
1021
+ }]);
1091
1022
  }
1092
- }, _callee8);
1093
- })));
1094
- it('should apply changes if no errors are present', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
1095
- var ON_SUBMIT_CALLS, hooks, ON_QUICK_EDIT_CALLS, ON_QUICK_EDIT, _renderWithValidation28, container, _checkSetup27, headerActionDiv, editButton, quickEdit, component, componentInput, quickEditButtons, saveButton;
1096
- return _regeneratorRuntime().wrap(function _callee10$(_context10) {
1097
- while (1) switch (_context10.prev = _context10.next) {
1098
- case 0:
1099
- ON_SUBMIT_CALLS = [];
1100
- hooks = {
1101
- onSubmit: function onSubmit(type, patch) {
1102
- return ON_SUBMIT_CALLS.push(patch);
1103
- }
1104
- };
1105
- ON_QUICK_EDIT_CALLS = [];
1106
- ON_QUICK_EDIT = function ON_QUICK_EDIT(_ref12) {
1107
- var target = _ref12.target;
1108
- ON_QUICK_EDIT_CALLS.push(target);
1109
- };
1110
- _renderWithValidation28 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCardValidationContext.default, {
1111
- entryId: "id",
1112
- topLevelErrors: [],
1113
- clearTopLevelErrorsForCard: function clearTopLevelErrorsForCard() {}
1114
- }, /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1115
- id: ID,
1116
- entryData: {
1117
- index: 0,
1118
- id: '0'
1119
- },
1120
- config: CONFIG,
1121
- parentCollectionName: "parents",
1122
- onQuickEdit: ON_QUICK_EDIT,
1123
- formData: {
1124
- parents: [{
1125
- alreadyProvidedField: 'hello'
1126
- }]
1127
- },
1128
- masterPage: {
1129
- childPages: PAGES
1130
- }
1131
- })), {
1132
- hooks: hooks
1133
- }), container = _renderWithValidation28.container;
1134
- _checkSetup27 = checkSetup(container), headerActionDiv = _checkSetup27.headerActionDiv;
1135
- editButton = headerActionDiv.children[0];
1136
- _react.fireEvent.click(editButton, {});
1137
- quickEdit = container.childNodes[0].childNodes[1]; // Make a change that will be accepted
1138
- component = quickEdit.childNodes[1];
1139
- componentInput = component.childNodes[2];
1140
- _react.fireEvent.change(componentInput, {
1141
- target: {
1142
- value: 'new value'
1143
- }
1144
- });
1145
- quickEditButtons = quickEdit.childNodes[2];
1146
- saveButton = quickEditButtons.childNodes[0];
1147
- _context10.next = 16;
1148
- return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
1149
- return _regeneratorRuntime().wrap(function _callee9$(_context9) {
1150
- while (1) switch (_context9.prev = _context9.next) {
1151
- case 0:
1152
- _react.fireEvent.click(saveButton, {});
1153
- case 1:
1154
- case "end":
1155
- return _context9.stop();
1156
- }
1157
- }, _callee9);
1158
- })));
1159
- case 16:
1160
- expect(ON_QUICK_EDIT_CALLS.length).toEqual(1);
1161
- expect(ON_QUICK_EDIT_CALLS[0].value[0]).toEqual({
1162
- alreadyProvidedField: 'hello',
1163
- testText: 'new value'
1164
- });
1165
- case 18:
1166
- case "end":
1167
- return _context10.stop();
1023
+ };
1024
+ const ON_QUICK_EDIT_CALLS = [];
1025
+ const ON_QUICK_EDIT = _ref2 => {
1026
+ let {
1027
+ target
1028
+ } = _ref2;
1029
+ ON_QUICK_EDIT_CALLS.push(target);
1030
+ };
1031
+ const {
1032
+ container
1033
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1034
+ id: ID,
1035
+ entryData: ENTRY,
1036
+ config: CONFIG,
1037
+ parentCollectionName: "parents",
1038
+ onQuickEdit: ON_QUICK_EDIT,
1039
+ formData: {
1040
+ parents: [{
1041
+ alreadyProvidedField: 'hello'
1042
+ }]
1043
+ },
1044
+ masterPage: {
1045
+ childPages: PAGES
1168
1046
  }
1169
- }, _callee10);
1170
- })));
1171
- it('should remove the isDuplicate flag on a sucessful quick edit', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12() {
1172
- var ON_SUBMIT_CALLS, hooks, ON_QUICK_EDIT_CALLS, ON_QUICK_EDIT, _renderWithValidation29, container, _checkSetup28, headerActionDiv, editButton, quickEdit, component, componentInput, quickEditButtons, saveButton;
1173
- return _regeneratorRuntime().wrap(function _callee12$(_context12) {
1174
- while (1) switch (_context12.prev = _context12.next) {
1175
- case 0:
1176
- ON_SUBMIT_CALLS = [];
1177
- hooks = {
1178
- onSubmit: function onSubmit(type, patch) {
1179
- return ON_SUBMIT_CALLS.push(patch);
1180
- }
1181
- };
1182
- ON_QUICK_EDIT_CALLS = [];
1183
- ON_QUICK_EDIT = function ON_QUICK_EDIT(_ref15) {
1184
- var target = _ref15.target;
1185
- ON_QUICK_EDIT_CALLS.push(target);
1186
- };
1187
- _renderWithValidation29 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCardValidationContext.default, {
1188
- entryId: "id",
1189
- topLevelErrors: [],
1190
- clearTopLevelErrorsForCard: function clearTopLevelErrorsForCard() {}
1191
- }, /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1192
- id: ID,
1193
- entryData: {
1194
- index: 0,
1195
- id: '0',
1196
- isDuplicate: true
1197
- },
1198
- config: CONFIG,
1199
- parentCollectionName: "parents",
1200
- onQuickEdit: ON_QUICK_EDIT,
1201
- formData: {
1202
- parents: [{
1203
- alreadyProvidedField: 'hello'
1204
- }]
1205
- },
1206
- masterPage: {
1207
- childPages: PAGES
1208
- }
1209
- })), {
1210
- hooks: hooks
1211
- }), container = _renderWithValidation29.container;
1212
- _checkSetup28 = checkSetup(container), headerActionDiv = _checkSetup28.headerActionDiv;
1213
- editButton = headerActionDiv.children[0];
1214
- _react.fireEvent.click(editButton, {});
1215
- quickEdit = container.childNodes[0].childNodes[1]; // Make a change that will be accepted
1216
- component = quickEdit.childNodes[1];
1217
- componentInput = component.childNodes[2];
1218
- _react.fireEvent.change(componentInput, {
1219
- target: {
1220
- value: 'new value'
1221
- }
1222
- });
1223
- quickEditButtons = quickEdit.childNodes[2];
1224
- saveButton = quickEditButtons.childNodes[0];
1225
- _context12.next = 16;
1226
- return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11() {
1227
- return _regeneratorRuntime().wrap(function _callee11$(_context11) {
1228
- while (1) switch (_context11.prev = _context11.next) {
1229
- case 0:
1230
- _react.fireEvent.click(saveButton, {});
1231
- case 1:
1232
- case "end":
1233
- return _context11.stop();
1234
- }
1235
- }, _callee11);
1236
- })));
1237
- case 16:
1238
- expect(ON_QUICK_EDIT_CALLS.length).toEqual(1);
1239
- // isDuplicate flag should not be present.
1240
- expect(ON_QUICK_EDIT_CALLS[0].value[0]).toEqual({
1241
- alreadyProvidedField: 'hello',
1242
- testText: 'new value'
1243
- });
1244
- case 18:
1245
- case "end":
1246
- return _context12.stop();
1047
+ }), {
1048
+ hooks
1049
+ });
1050
+ const {
1051
+ headerActionDiv
1052
+ } = checkSetup(container);
1053
+ const editButton = headerActionDiv.children[0];
1054
+ _react.fireEvent.click(editButton, {});
1055
+ const quickEdit = container.childNodes[0].childNodes[1];
1056
+
1057
+ // Make a change
1058
+ const component = quickEdit.childNodes[1];
1059
+ const componentInput = component.childNodes[2];
1060
+ _react.fireEvent.change(componentInput, {
1061
+ target: {
1062
+ value: 'new value'
1247
1063
  }
1248
- }, _callee12);
1249
- })));
1064
+ });
1065
+ const quickEditButtons = quickEdit.childNodes[2];
1066
+ const saveButton = quickEditButtons.childNodes[0];
1067
+ await (0, _testUtils.act)(async () => {
1068
+ _react.fireEvent.click(saveButton, {});
1069
+ });
1070
+ expect(ON_SUBMIT_CALLS[0]).toMatchObject({
1071
+ testText: 'new value'
1072
+ });
1073
+ expect(ON_QUICK_EDIT_CALLS.length).toEqual(0);
1074
+ });
1075
+ it('should apply changes if no errors are present', async () => {
1076
+ const ON_SUBMIT_CALLS = [];
1077
+ const hooks = {
1078
+ onSubmit: (type, patch) => ON_SUBMIT_CALLS.push(patch)
1079
+ };
1080
+ const ON_QUICK_EDIT_CALLS = [];
1081
+ const ON_QUICK_EDIT = _ref3 => {
1082
+ let {
1083
+ target
1084
+ } = _ref3;
1085
+ ON_QUICK_EDIT_CALLS.push(target);
1086
+ };
1087
+ const {
1088
+ container
1089
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCardValidationContext.default, {
1090
+ entryId: "id",
1091
+ topLevelErrors: [],
1092
+ clearTopLevelErrorsForCard: () => {}
1093
+ }, /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1094
+ id: ID,
1095
+ entryData: {
1096
+ index: 0,
1097
+ id: '0'
1098
+ },
1099
+ config: CONFIG,
1100
+ parentCollectionName: "parents",
1101
+ onQuickEdit: ON_QUICK_EDIT,
1102
+ formData: {
1103
+ parents: [{
1104
+ alreadyProvidedField: 'hello'
1105
+ }]
1106
+ },
1107
+ masterPage: {
1108
+ childPages: PAGES
1109
+ }
1110
+ })), {
1111
+ hooks
1112
+ });
1113
+ const {
1114
+ headerActionDiv
1115
+ } = checkSetup(container);
1116
+ const editButton = headerActionDiv.children[0];
1117
+ _react.fireEvent.click(editButton, {});
1118
+ const quickEdit = container.childNodes[0].childNodes[1];
1119
+
1120
+ // Make a change that will be accepted
1121
+ const component = quickEdit.childNodes[1];
1122
+ const componentInput = component.childNodes[2];
1123
+ _react.fireEvent.change(componentInput, {
1124
+ target: {
1125
+ value: 'new value'
1126
+ }
1127
+ });
1128
+ const quickEditButtons = quickEdit.childNodes[2];
1129
+ const saveButton = quickEditButtons.childNodes[0];
1130
+ await (0, _testUtils.act)(async () => {
1131
+ _react.fireEvent.click(saveButton, {});
1132
+ });
1133
+ expect(ON_QUICK_EDIT_CALLS.length).toEqual(1);
1134
+ expect(ON_QUICK_EDIT_CALLS[0].value[0]).toEqual({
1135
+ alreadyProvidedField: 'hello',
1136
+ testText: 'new value'
1137
+ });
1138
+ });
1139
+ it('should remove the isDuplicate flag on a sucessful quick edit', async () => {
1140
+ const ON_SUBMIT_CALLS = [];
1141
+ const hooks = {
1142
+ onSubmit: (type, patch) => ON_SUBMIT_CALLS.push(patch)
1143
+ };
1144
+ const ON_QUICK_EDIT_CALLS = [];
1145
+ const ON_QUICK_EDIT = _ref4 => {
1146
+ let {
1147
+ target
1148
+ } = _ref4;
1149
+ ON_QUICK_EDIT_CALLS.push(target);
1150
+ };
1151
+ const {
1152
+ container
1153
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCardValidationContext.default, {
1154
+ entryId: "id",
1155
+ topLevelErrors: [],
1156
+ clearTopLevelErrorsForCard: () => {}
1157
+ }, /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1158
+ id: ID,
1159
+ entryData: {
1160
+ index: 0,
1161
+ id: '0',
1162
+ isDuplicate: true
1163
+ },
1164
+ config: CONFIG,
1165
+ parentCollectionName: "parents",
1166
+ onQuickEdit: ON_QUICK_EDIT,
1167
+ formData: {
1168
+ parents: [{
1169
+ alreadyProvidedField: 'hello'
1170
+ }]
1171
+ },
1172
+ masterPage: {
1173
+ childPages: PAGES
1174
+ }
1175
+ })), {
1176
+ hooks
1177
+ });
1178
+ const {
1179
+ headerActionDiv
1180
+ } = checkSetup(container);
1181
+ const editButton = headerActionDiv.children[0];
1182
+ _react.fireEvent.click(editButton, {});
1183
+ const quickEdit = container.childNodes[0].childNodes[1];
1184
+
1185
+ // Make a change that will be accepted
1186
+ const component = quickEdit.childNodes[1];
1187
+ const componentInput = component.childNodes[2];
1188
+ _react.fireEvent.change(componentInput, {
1189
+ target: {
1190
+ value: 'new value'
1191
+ }
1192
+ });
1193
+ const quickEditButtons = quickEdit.childNodes[2];
1194
+ const saveButton = quickEditButtons.childNodes[0];
1195
+ await (0, _testUtils.act)(async () => {
1196
+ _react.fireEvent.click(saveButton, {});
1197
+ });
1198
+ expect(ON_QUICK_EDIT_CALLS.length).toEqual(1);
1199
+ // isDuplicate flag should not be present.
1200
+ expect(ON_QUICK_EDIT_CALLS[0].value[0]).toEqual({
1201
+ alreadyProvidedField: 'hello',
1202
+ testText: 'new value'
1203
+ });
1204
+ });
1250
1205
  });
1251
- describe('Details prop behavior', function () {
1252
- it('should render the provided details', function () {
1253
- var DETAILS = 'Sample details';
1254
- var CONFIG = {
1206
+ describe('Details prop behavior', () => {
1207
+ it('should render the provided details', () => {
1208
+ const DETAILS = 'Sample details';
1209
+ const CONFIG = {
1255
1210
  title: 'Title',
1256
1211
  details: DETAILS
1257
1212
  };
1258
- var _renderWithValidation30 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1259
- id: ID,
1260
- entryData: ENTRY,
1261
- config: CONFIG,
1262
- parentCollectionName: "parent",
1263
- pages: [],
1264
- formData: {},
1265
- masterPage: {
1266
- childPages: []
1267
- }
1268
- })),
1269
- container = _renderWithValidation30.container;
1270
- var _checkSetup29 = checkSetup(container),
1271
- headerContentDiv = _checkSetup29.headerContentDiv;
1272
- var headerDetails = headerContentDiv.children[1];
1213
+ const {
1214
+ container
1215
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1216
+ id: ID,
1217
+ entryData: ENTRY,
1218
+ config: CONFIG,
1219
+ parentCollectionName: "parent",
1220
+ pages: [],
1221
+ formData: {},
1222
+ masterPage: {
1223
+ childPages: []
1224
+ }
1225
+ }));
1226
+ const {
1227
+ headerContentDiv
1228
+ } = checkSetup(container);
1229
+ const headerDetails = headerContentDiv.children[1];
1273
1230
  expect(headerDetails.tagName).toEqual('DIV');
1274
1231
  expect(headerDetails.classList).toContain(classes('header-content-detail'));
1275
1232
  expect(headerDetails.textContent).toEqual(DETAILS);
1276
1233
  });
1277
- it('should render conditional details', function () {
1278
- var CONFIG = {
1234
+ it('should render conditional details', () => {
1235
+ const CONFIG = {
1279
1236
  title: 'Title',
1280
1237
  details: [{
1281
1238
  text: 'Details A',
@@ -1293,119 +1250,130 @@ describe('components.CollectionSummary.SummaryCard', function () {
1293
1250
  }]
1294
1251
  }]
1295
1252
  };
1296
- var _renderWithValidation31 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1297
- id: ID,
1298
- entryData: _objectSpread(_objectSpread({}, ENTRY), {}, {
1299
- field: true
1300
- }),
1301
- config: CONFIG,
1302
- parentCollectionName: "parent",
1303
- pages: [],
1304
- formData: {},
1305
- masterPage: {
1306
- childPages: []
1307
- }
1308
- })),
1309
- container = _renderWithValidation31.container;
1310
- var _checkSetup30 = checkSetup(container),
1311
- headerContentDiv = _checkSetup30.headerContentDiv;
1312
- var headerDetails = headerContentDiv.children[1];
1253
+ const {
1254
+ container
1255
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1256
+ id: ID,
1257
+ entryData: {
1258
+ ...ENTRY,
1259
+ field: true
1260
+ },
1261
+ config: CONFIG,
1262
+ parentCollectionName: "parent",
1263
+ pages: [],
1264
+ formData: {},
1265
+ masterPage: {
1266
+ childPages: []
1267
+ }
1268
+ }));
1269
+ const {
1270
+ headerContentDiv
1271
+ } = checkSetup(container);
1272
+ const headerDetails = headerContentDiv.children[1];
1313
1273
  expect(headerDetails.tagName).toEqual('DIV');
1314
1274
  expect(headerDetails.classList).toContain(classes('header-content-detail'));
1315
1275
  expect(headerDetails.textContent).toEqual('Details B');
1316
1276
  });
1317
- it('should not render details when they are empty', function () {
1318
- var CONFIG = {
1277
+ it('should not render details when they are empty', () => {
1278
+ const CONFIG = {
1319
1279
  title: 'Title',
1320
1280
  details: ''
1321
1281
  };
1322
- var _renderWithValidation32 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1323
- id: ID,
1324
- entryData: ENTRY,
1325
- config: CONFIG,
1326
- parentCollectionName: "parent",
1327
- pages: [],
1328
- formData: {},
1329
- masterPage: {
1330
- childPages: []
1331
- }
1332
- })),
1333
- container = _renderWithValidation32.container;
1334
- var _checkSetup31 = checkSetup(container),
1335
- headerContentDiv = _checkSetup31.headerContentDiv;
1282
+ const {
1283
+ container
1284
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1285
+ id: ID,
1286
+ entryData: ENTRY,
1287
+ config: CONFIG,
1288
+ parentCollectionName: "parent",
1289
+ pages: [],
1290
+ formData: {},
1291
+ masterPage: {
1292
+ childPages: []
1293
+ }
1294
+ }));
1295
+ const {
1296
+ headerContentDiv
1297
+ } = checkSetup(container);
1336
1298
  // If no details are provided, we expect only the header title to be rendered.
1337
1299
  expect(headerContentDiv.children.length).toEqual(1);
1338
- var headerTitle = headerContentDiv.children[0];
1300
+ const headerTitle = headerContentDiv.children[0];
1339
1301
  expect(headerTitle.classList).toContain(classes('header-content-title'));
1340
1302
  });
1341
- it('should render the interpolated details', function () {
1342
- var DETAILS = 'Full {label}';
1343
- var INTERPOLATED_ENTRY = _objectSpread(_objectSpread({}, ENTRY), {}, {
1303
+ it('should render the interpolated details', () => {
1304
+ const DETAILS = 'Full {label}';
1305
+ const INTERPOLATED_ENTRY = {
1306
+ ...ENTRY,
1344
1307
  label: 'Details'
1345
- });
1346
- var CONFIG = {
1308
+ };
1309
+ const CONFIG = {
1347
1310
  title: 'Title',
1348
1311
  details: DETAILS
1349
1312
  };
1350
- var _renderWithValidation33 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1351
- id: ID,
1352
- entryData: INTERPOLATED_ENTRY,
1353
- config: CONFIG,
1354
- parentCollectionName: "parent",
1355
- pages: [],
1356
- formData: {},
1357
- masterPage: {
1358
- childPages: []
1359
- }
1360
- })),
1361
- container = _renderWithValidation33.container;
1362
- var _checkSetup32 = checkSetup(container),
1363
- headerContentDiv = _checkSetup32.headerContentDiv;
1364
- var headerDetails = headerContentDiv.children[1];
1365
- var expectedInterpolatedString = _copReactComponents.Utils.interpolateString(DETAILS, INTERPOLATED_ENTRY);
1313
+ const {
1314
+ container
1315
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1316
+ id: ID,
1317
+ entryData: INTERPOLATED_ENTRY,
1318
+ config: CONFIG,
1319
+ parentCollectionName: "parent",
1320
+ pages: [],
1321
+ formData: {},
1322
+ masterPage: {
1323
+ childPages: []
1324
+ }
1325
+ }));
1326
+ const {
1327
+ headerContentDiv
1328
+ } = checkSetup(container);
1329
+ const headerDetails = headerContentDiv.children[1];
1330
+ const expectedInterpolatedString = _copReactComponents.Utils.interpolateString(DETAILS, INTERPOLATED_ENTRY);
1366
1331
  expect(headerDetails.textContent).toEqual(expectedInterpolatedString);
1367
1332
  });
1368
- it('should not render the details div if config.details is not provided', function () {
1369
- var CONFIG = {
1333
+ it('should not render the details div if config.details is not provided', () => {
1334
+ const CONFIG = {
1370
1335
  title: 'Title'
1371
1336
  };
1372
- var _renderWithValidation34 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1373
- id: ID,
1374
- entryData: ENTRY,
1375
- config: CONFIG,
1376
- parentCollectionName: "parent",
1377
- pages: [],
1378
- formData: {},
1379
- masterPage: {
1380
- childPages: []
1381
- }
1382
- })),
1383
- container = _renderWithValidation34.container;
1384
- var _checkSetup33 = checkSetup(container),
1385
- headerContentDiv = _checkSetup33.headerContentDiv;
1386
- var headerDetails = headerContentDiv.querySelector("#".concat(ID, ".titleDetail"));
1337
+ const {
1338
+ container
1339
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1340
+ id: ID,
1341
+ entryData: ENTRY,
1342
+ config: CONFIG,
1343
+ parentCollectionName: "parent",
1344
+ pages: [],
1345
+ formData: {},
1346
+ masterPage: {
1347
+ childPages: []
1348
+ }
1349
+ }));
1350
+ const {
1351
+ headerContentDiv
1352
+ } = checkSetup(container);
1353
+ const headerDetails = headerContentDiv.querySelector("#".concat(ID, ".titleDetail"));
1387
1354
  expect(headerDetails).toBeNull();
1388
1355
  });
1389
- it('should not render the entire details section when hideDetails prop is true', function () {
1390
- var DETAILS = 'Sample details that should not be displayed';
1391
- var CONFIG = {
1356
+ it('should not render the entire details section when hideDetails prop is true', () => {
1357
+ const DETAILS = 'Sample details that should not be displayed';
1358
+ const CONFIG = {
1392
1359
  title: 'Title',
1393
1360
  details: DETAILS
1394
1361
  };
1395
- var _renderWithValidation35 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1396
- id: ID,
1397
- entryData: ENTRY,
1398
- config: CONFIG,
1399
- parentCollectionName: "parent",
1400
- pages: [],
1401
- formData: {},
1402
- hideDetails: true,
1403
- masterPage: {
1404
- childPages: []
1405
- }
1406
- })),
1407
- container = _renderWithValidation35.container;
1408
- var detailsComponent = container.querySelector('.details');
1362
+ const {
1363
+ container
1364
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_SummaryCard.default, {
1365
+ id: ID,
1366
+ entryData: ENTRY,
1367
+ config: CONFIG,
1368
+ parentCollectionName: "parent",
1369
+ pages: [],
1370
+ formData: {},
1371
+ hideDetails: true,
1372
+ masterPage: {
1373
+ childPages: []
1374
+ }
1375
+ }));
1376
+ const detailsComponent = container.querySelector('.details');
1409
1377
  expect(detailsComponent).toBeNull();
1410
1378
  });
1411
1379
  });