@ukhomeoffice/cop-react-form-renderer 4.18.0 → 5.0.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 (307) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +1 -14
  2. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +19 -57
  3. package/dist/components/CheckYourAnswers/index.js +0 -3
  4. package/dist/components/CollectionPage/CollectionPage.js +8 -38
  5. package/dist/components/CollectionPage/index.js +0 -3
  6. package/dist/components/FormComponent/Collection.js +13 -54
  7. package/dist/components/FormComponent/Container.js +6 -30
  8. package/dist/components/FormComponent/FormComponent.js +14 -57
  9. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  10. package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -4
  11. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -2
  12. package/dist/components/FormComponent/helpers/getComponentError.js +0 -6
  13. package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -2
  14. package/dist/components/FormComponent/helpers/index.js +0 -4
  15. package/dist/components/FormComponent/index.js +0 -3
  16. package/dist/components/FormPage/FormPage.js +14 -45
  17. package/dist/components/FormPage/index.js +0 -3
  18. package/dist/components/FormRenderer/FormRenderer.js +106 -189
  19. package/dist/components/FormRenderer/handlers/cyaAction.js +0 -5
  20. package/dist/components/FormRenderer/handlers/getPageId.js +0 -2
  21. package/dist/components/FormRenderer/handlers/getPageId.test.js +1 -2
  22. package/dist/components/FormRenderer/handlers/handlers.test.js +1 -18
  23. package/dist/components/FormRenderer/handlers/index.js +0 -5
  24. package/dist/components/FormRenderer/handlers/navigate.js +0 -5
  25. package/dist/components/FormRenderer/handlers/submissionError.js +0 -2
  26. package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -3
  27. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +1 -3
  28. package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -2
  29. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +1 -5
  30. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +0 -5
  31. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +1 -2
  32. package/dist/components/FormRenderer/helpers/getCYA.js +0 -6
  33. package/dist/components/FormRenderer/helpers/getCYA.test.js +1 -3
  34. package/dist/components/FormRenderer/helpers/getFormState.js +0 -5
  35. package/dist/components/FormRenderer/helpers/getFormState.test.js +1 -3
  36. package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -25
  37. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +1 -4
  38. package/dist/components/FormRenderer/helpers/getPage.js +0 -5
  39. package/dist/components/FormRenderer/helpers/getPage.test.js +1 -3
  40. package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -6
  41. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +1 -3
  42. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -10
  43. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +0 -6
  44. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +6 -20
  45. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +3 -8
  46. package/dist/components/FormRenderer/helpers/index.js +1 -11
  47. package/dist/components/FormRenderer/index.js +0 -3
  48. package/dist/components/PageActions/ActionButton.js +2 -17
  49. package/dist/components/PageActions/PageActions.js +3 -10
  50. package/dist/components/PageActions/index.js +0 -3
  51. package/dist/components/SummaryList/GroupAction.js +3 -24
  52. package/dist/components/SummaryList/RowAction.js +3 -23
  53. package/dist/components/SummaryList/SummaryList.js +6 -28
  54. package/dist/components/SummaryList/SummaryListRow.js +4 -8
  55. package/dist/components/SummaryList/SummaryListTitleRow.js +2 -7
  56. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -3
  57. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -6
  58. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -3
  59. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -6
  60. package/dist/components/SummaryList/helpers/index.js +0 -2
  61. package/dist/components/SummaryList/index.js +0 -3
  62. package/dist/components/TaskList/Task.js +7 -29
  63. package/dist/components/TaskList/TaskList.js +12 -33
  64. package/dist/components/TaskList/TaskState.js +2 -10
  65. package/dist/components/TaskList/index.js +0 -3
  66. package/dist/components/index.js +0 -6
  67. package/dist/context/HooksContext/HooksContext.js +14 -34
  68. package/dist/context/HooksContext/index.js +0 -5
  69. package/dist/context/ValidationContext/ValidationContext.js +8 -34
  70. package/dist/context/ValidationContext/index.js +0 -5
  71. package/dist/context/index.js +0 -3
  72. package/dist/hooks/index.js +0 -9
  73. package/dist/hooks/useAxios.js +8 -25
  74. package/dist/hooks/useGetRequest.js +13 -47
  75. package/dist/hooks/useHooks.js +2 -4
  76. package/dist/hooks/useRefData.js +8 -37
  77. package/dist/hooks/useValidation.js +2 -4
  78. package/dist/index.js +0 -6
  79. package/dist/models/PageAction.js +0 -3
  80. package/dist/models/TaskStates.js +0 -3
  81. package/dist/models/index.js +0 -9
  82. package/dist/utils/CheckYourAnswers/getCYAAction.js +1 -9
  83. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +0 -10
  84. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +0 -8
  85. package/dist/utils/CheckYourAnswers/getCYARow.js +1 -10
  86. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +2 -20
  87. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +0 -18
  88. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +0 -20
  89. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +0 -13
  90. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +2 -22
  91. package/dist/utils/CheckYourAnswers/index.js +1 -3
  92. package/dist/utils/CheckYourAnswers/showComponentCYA.js +2 -11
  93. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +0 -11
  94. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -6
  95. package/dist/utils/CollectionPage/index.js +1 -5
  96. package/dist/utils/CollectionPage/mergeCollectionPages.js +1 -12
  97. package/dist/utils/Component/cleanAttributes.js +1 -8
  98. package/dist/utils/Component/elevateNestedComponents.js +0 -3
  99. package/dist/utils/Component/getComponent.js +4 -68
  100. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +6 -10
  101. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +10 -28
  102. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +6 -33
  103. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +10 -27
  104. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +4 -10
  105. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +4 -21
  106. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +4 -22
  107. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +3 -7
  108. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +4 -10
  109. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +3 -7
  110. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +6 -15
  111. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +4 -21
  112. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +6 -33
  113. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +4 -21
  114. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +4 -21
  115. package/dist/utils/Component/getComponentTests/getComponent.textarea.test.js +4 -21
  116. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +10 -29
  117. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +1 -2
  118. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +3 -7
  119. package/dist/utils/Component/getDefaultValue.js +0 -7
  120. package/dist/utils/Component/index.js +0 -9
  121. package/dist/utils/Component/isEditable.js +1 -4
  122. package/dist/utils/Component/showComponent.js +1 -8
  123. package/dist/utils/Component/wrapInFormGroup.js +0 -7
  124. package/dist/utils/Condition/index.js +0 -5
  125. package/dist/utils/Condition/meetsAllConditions.js +0 -9
  126. package/dist/utils/Condition/meetsCondition.js +7 -19
  127. package/dist/utils/Condition/meetsOneCondition.js +1 -9
  128. package/dist/utils/Condition/setupConditions.js +0 -12
  129. package/dist/utils/Container/getEditableComponents.js +0 -7
  130. package/dist/utils/Container/index.js +0 -5
  131. package/dist/utils/Container/setupNesting.js +0 -11
  132. package/dist/utils/Container/showContainer.js +9 -18
  133. package/dist/utils/Data/applyFormula.js +2 -28
  134. package/dist/utils/Data/getAutocompleteSource.js +1 -4
  135. package/dist/utils/Data/getDataPath.js +3 -17
  136. package/dist/utils/Data/getOptions.js +0 -9
  137. package/dist/utils/Data/getSourceData.js +4 -19
  138. package/dist/utils/Data/index.js +1 -11
  139. package/dist/utils/Data/refDataToOptions.js +1 -12
  140. package/dist/utils/Data/setDataItem.js +0 -5
  141. package/dist/utils/Data/setupFormData.js +2 -20
  142. package/dist/utils/Data/setupRefDataUrlForComponent.js +0 -14
  143. package/dist/utils/FormPage/getFormPage.js +0 -15
  144. package/dist/utils/FormPage/getFormPages.js +0 -8
  145. package/dist/utils/FormPage/getPageActions.js +3 -18
  146. package/dist/utils/FormPage/getParagraphFromText.js +0 -3
  147. package/dist/utils/FormPage/index.js +0 -6
  148. package/dist/utils/FormPage/showFormPage.js +9 -18
  149. package/dist/utils/FormPage/showFormPageCYA.js +0 -5
  150. package/dist/utils/FormPage/useComponent.js +3 -18
  151. package/dist/utils/Format/formatData.js +0 -5
  152. package/dist/utils/Format/formatDataForComponent.js +1 -6
  153. package/dist/utils/Format/formatDataForForm.js +0 -8
  154. package/dist/utils/Format/formatDataForPage.js +1 -5
  155. package/dist/utils/Format/index.js +1 -6
  156. package/dist/utils/Hub/getFormHub.js +0 -8
  157. package/dist/utils/Hub/index.js +1 -3
  158. package/dist/utils/Meta/documents/getDocuments.js +1 -4
  159. package/dist/utils/Meta/documents/getDocuments.test.js +0 -9
  160. package/dist/utils/Meta/documents/index.js +1 -5
  161. package/dist/utils/Meta/documents/setDocumentForField.js +0 -11
  162. package/dist/utils/Meta/documents/setDocumentForField.test.js +0 -11
  163. package/dist/utils/Meta/index.js +2 -6
  164. package/dist/utils/Operate/checkValueIsTruthy.js +1 -7
  165. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +7 -21
  166. package/dist/utils/Operate/index.js +0 -3
  167. package/dist/utils/Operate/persistValueInFormData.js +1 -8
  168. package/dist/utils/Operate/runPageOperations.js +3 -18
  169. package/dist/utils/Operate/setValueInFormData.js +2 -7
  170. package/dist/utils/Operate/shouldRun.js +1 -14
  171. package/dist/utils/Validate/additional/index.js +1 -18
  172. package/dist/utils/Validate/additional/index.test.js +0 -6
  173. package/dist/utils/Validate/additional/mustBeAfter.js +3 -8
  174. package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -4
  175. package/dist/utils/Validate/additional/mustBeBefore.js +3 -8
  176. package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -4
  177. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +5 -16
  178. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +0 -7
  179. package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -12
  180. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -3
  181. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -13
  182. package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -3
  183. package/dist/utils/Validate/additional/mustBeLessThan.js +0 -3
  184. package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -2
  185. package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -3
  186. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -2
  187. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -4
  188. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -2
  189. package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -3
  190. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -2
  191. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -5
  192. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +0 -4
  193. package/dist/utils/Validate/additional/utils.js +8 -24
  194. package/dist/utils/Validate/index.js +1 -9
  195. package/dist/utils/Validate/validateCollection.js +0 -9
  196. package/dist/utils/Validate/validateComponent.js +2 -35
  197. package/dist/utils/Validate/validateContainer.js +0 -13
  198. package/dist/utils/Validate/validateDate.js +4 -36
  199. package/dist/utils/Validate/validateEmail.js +1 -7
  200. package/dist/utils/Validate/validatePage.js +0 -15
  201. package/dist/utils/Validate/validateRegex.js +0 -10
  202. package/dist/utils/Validate/validateRequired.js +0 -8
  203. package/dist/utils/Validate/validateTime.js +3 -20
  204. package/dist/utils/index.js +0 -19
  205. package/package.json +50 -34
  206. package/dist/components/CheckYourAnswers/Answer.test.js +0 -95
  207. package/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +0 -410
  208. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +0 -680
  209. package/dist/components/CollectionPage/CollectionPage.test.js +0 -428
  210. package/dist/components/FormComponent/Collection.test.js +0 -381
  211. package/dist/components/FormComponent/Container.test.js +0 -423
  212. package/dist/components/FormComponent/FormComponent.stories.mdx +0 -184
  213. package/dist/components/FormComponent/FormComponent.test.js +0 -264
  214. package/dist/components/FormPage/FormPage.stories.mdx +0 -131
  215. package/dist/components/FormPage/FormPage.test.js +0 -368
  216. package/dist/components/FormRenderer/FormRenderer.stories.mdx +0 -183
  217. package/dist/components/FormRenderer/FormRenderer.test.js +0 -1006
  218. package/dist/components/PageActions/ActionButton.test.js +0 -116
  219. package/dist/components/PageActions/PageActions.stories.mdx +0 -74
  220. package/dist/components/PageActions/PageActions.test.js +0 -157
  221. package/dist/components/SummaryList/GroupAction.test.js +0 -94
  222. package/dist/components/SummaryList/RowAction.test.js +0 -94
  223. package/dist/components/SummaryList/SummaryList.stories.mdx +0 -90
  224. package/dist/components/SummaryList/SummaryList.test.js +0 -361
  225. package/dist/components/TaskList/Task.test.js +0 -194
  226. package/dist/components/TaskList/TaskList.stories.mdx +0 -164
  227. package/dist/components/TaskList/TaskList.test.js +0 -334
  228. package/dist/components/TaskList/TaskState.test.js +0 -104
  229. package/dist/context/HooksContext/HooksContext.test.js +0 -60
  230. package/dist/context/ValidationContext/ValidationContext.test.js +0 -98
  231. package/dist/json/areYouACivilServant.json +0 -7
  232. package/dist/json/firstForm.json +0 -94
  233. package/dist/json/grade.json +0 -108
  234. package/dist/json/group.data.json +0 -21
  235. package/dist/json/group.json +0 -402
  236. package/dist/json/groupOfRow.json +0 -137
  237. package/dist/json/groupOfRowData.json +0 -15
  238. package/dist/json/port.json +0 -346
  239. package/dist/json/saveAndContinue.json +0 -98
  240. package/dist/json/sublocation.json +0 -859
  241. package/dist/json/taskList.json +0 -265
  242. package/dist/json/team.json +0 -17351
  243. package/dist/json/terminal.json +0 -81
  244. package/dist/json/userProfile.data.json +0 -21
  245. package/dist/json/userProfile.json +0 -276
  246. package/dist/setupTests.js +0 -59
  247. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +0 -139
  248. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +0 -76
  249. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +0 -59
  250. package/dist/utils/CheckYourAnswers/getCYARow.test.js +0 -256
  251. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +0 -77
  252. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +0 -199
  253. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +0 -170
  254. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +0 -323
  255. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +0 -281
  256. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +0 -64
  257. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +0 -41
  258. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +0 -54
  259. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +0 -131
  260. package/dist/utils/Component/cleanAttributes.test.js +0 -69
  261. package/dist/utils/Component/elevateNestedComponents.test.js +0 -92
  262. package/dist/utils/Component/getDefaultValue.test.js +0 -53
  263. package/dist/utils/Component/isEditable.test.js +0 -42
  264. package/dist/utils/Component/showComponent.test.js +0 -157
  265. package/dist/utils/Condition/meetsAllConditions.test.js +0 -62
  266. package/dist/utils/Condition/meetsCondition.test.js +0 -391
  267. package/dist/utils/Condition/meetsOneCondition.test.js +0 -101
  268. package/dist/utils/Condition/setupConditions.test.js +0 -35
  269. package/dist/utils/Container/getEditableComponents.test.js +0 -146
  270. package/dist/utils/Container/setupNesting.test.js +0 -92
  271. package/dist/utils/Container/showContainer.test.js +0 -179
  272. package/dist/utils/Data/applyFormula.test.js +0 -264
  273. package/dist/utils/Data/getAutocompleteSource.test.js +0 -146
  274. package/dist/utils/Data/getDataPath.test.js +0 -52
  275. package/dist/utils/Data/getOptions.test.js +0 -71
  276. package/dist/utils/Data/getSourceData.test.js +0 -141
  277. package/dist/utils/Data/refDataToOptions.test.js +0 -197
  278. package/dist/utils/Data/setDataItem.test.js +0 -112
  279. package/dist/utils/Data/setupFormData.test.js +0 -276
  280. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +0 -133
  281. package/dist/utils/FormPage/getFormPage.test.js +0 -205
  282. package/dist/utils/FormPage/getFormPages.test.js +0 -98
  283. package/dist/utils/FormPage/getPageActions.test.js +0 -89
  284. package/dist/utils/FormPage/getParagraphFromText.test.js +0 -29
  285. package/dist/utils/FormPage/showFormPage.test.js +0 -182
  286. package/dist/utils/FormPage/showFormPageCYA.test.js +0 -30
  287. package/dist/utils/FormPage/useComponent.test.js +0 -169
  288. package/dist/utils/Format/formatData.test.js +0 -46
  289. package/dist/utils/Format/formatDataForComponent.test.js +0 -161
  290. package/dist/utils/Format/formatDataForForm.test.js +0 -78
  291. package/dist/utils/Format/formatDataForPage.test.js +0 -96
  292. package/dist/utils/Hub/getFormHub.test.js +0 -107
  293. package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -44
  294. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +0 -159
  295. package/dist/utils/Operate/persistValueInFormData.test.js +0 -106
  296. package/dist/utils/Operate/runPageOperations.test.js +0 -107
  297. package/dist/utils/Operate/setValueInFormData.test.js +0 -46
  298. package/dist/utils/Operate/shouldRun.test.js +0 -69
  299. package/dist/utils/Validate/validateCollection.test.js +0 -74
  300. package/dist/utils/Validate/validateComponent.test.js +0 -267
  301. package/dist/utils/Validate/validateContainer.test.js +0 -81
  302. package/dist/utils/Validate/validateDate.test.js +0 -118
  303. package/dist/utils/Validate/validateEmail.test.js +0 -57
  304. package/dist/utils/Validate/validatePage.test.js +0 -383
  305. package/dist/utils/Validate/validateRegex.test.js +0 -41
  306. package/dist/utils/Validate/validateRequired.test.js +0 -62
  307. package/dist/utils/Validate/validateTime.test.js +0 -61
@@ -1,161 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
- var _models = require("../../models");
6
-
7
- var _formatDataForComponent = _interopRequireWildcard(require("./formatDataForComponent"));
8
-
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
-
11
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
-
13
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
-
15
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
-
17
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
-
19
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
20
-
21
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
22
-
23
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24
-
25
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
-
27
- describe('utils', function () {
28
- describe('Format', function () {
29
- var setupField = function setupField(fieldId, format) {
30
- return {
31
- fieldId: fieldId,
32
- format: format
33
- };
34
- };
35
-
36
- var setupData = function setupData(fieldId, value) {
37
- return _defineProperty({}, fieldId, value);
38
- };
39
-
40
- var setupFieldAndData = function setupFieldAndData(fieldId, format, value) {
41
- return [setupField(fieldId, format), setupData(fieldId, value)];
42
- };
43
-
44
- describe('formatDataForComponent', function () {
45
- it('should handle no format', function () {
46
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
47
- var FIELD_ID = 'field';
48
- var FORMAT = null;
49
- var VALUE = 'AlPhA';
50
-
51
- var _setupFieldAndData = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
52
- _setupFieldAndData2 = _slicedToArray(_setupFieldAndData, 2),
53
- COMPONENT = _setupFieldAndData2[0],
54
- DATA = _setupFieldAndData2[1];
55
-
56
- (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
57
- expect(DATA[FIELD_ID]).toEqual(VALUE);
58
- });
59
- it('should handle no value', function () {
60
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
61
- var FIELD_ID = 'field';
62
- var FORMAT = {
63
- type: 'lowercase',
64
- on: EVENT_TYPE
65
- };
66
- var VALUE = null;
67
-
68
- var _setupFieldAndData3 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
69
- _setupFieldAndData4 = _slicedToArray(_setupFieldAndData3, 2),
70
- COMPONENT = _setupFieldAndData4[0],
71
- DATA = _setupFieldAndData4[1];
72
-
73
- (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
74
- expect(DATA[FIELD_ID]).toBeNull();
75
- });
76
- it('should remain unchanged if the wrong event type', function () {
77
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
78
- var FIELD_ID = 'field';
79
- var FORMAT = {
80
- type: 'lowercase',
81
- on: _models.EventTypes.BLUR
82
- };
83
- var VALUE = 'AlPhA';
84
-
85
- var _setupFieldAndData5 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
86
- _setupFieldAndData6 = _slicedToArray(_setupFieldAndData5, 2),
87
- COMPONENT = _setupFieldAndData6[0],
88
- DATA = _setupFieldAndData6[1];
89
-
90
- (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
91
- expect(DATA[FIELD_ID]).toEqual(VALUE);
92
- });
93
- it('should format a string as lowercase', function () {
94
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
95
- var FIELD_ID = 'field';
96
- var FORMAT = {
97
- type: 'lowercase',
98
- on: EVENT_TYPE
99
- };
100
- var VALUE = 'AlPhA';
101
-
102
- var _setupFieldAndData7 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
103
- _setupFieldAndData8 = _slicedToArray(_setupFieldAndData7, 2),
104
- COMPONENT = _setupFieldAndData8[0],
105
- DATA = _setupFieldAndData8[1];
106
-
107
- (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
108
- expect(DATA[FIELD_ID]).toEqual('alpha');
109
- });
110
- it('should format a string as uppercase', function () {
111
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
112
- var FIELD_ID = 'field';
113
- var FORMAT = {
114
- type: 'uppercase',
115
- on: EVENT_TYPE
116
- };
117
- var VALUE = 'AlPhA';
118
-
119
- var _setupFieldAndData9 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
120
- _setupFieldAndData10 = _slicedToArray(_setupFieldAndData9, 2),
121
- COMPONENT = _setupFieldAndData10[0],
122
- DATA = _setupFieldAndData10[1];
123
-
124
- (0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
125
- expect(DATA[FIELD_ID]).toEqual('ALPHA');
126
- });
127
- });
128
- describe('formatDataForComponents', function () {
129
- it('should appropriately format multiple components', function () {
130
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
131
- var COMPONENTS = [setupField('alpha', {
132
- type: 'lowercase',
133
- on: _models.EventTypes.SUBMIT
134
- }), // Should be formatted
135
- setupField('bravo', null), // Nothing to format
136
- setupField('charlie', {
137
- type: 'uppercase',
138
- on: _models.EventTypes.SUBMIT
139
- }), // Should be formatted
140
- setupField('delta', {
141
- type: 'uppercase',
142
- on: _models.EventTypes.BLUR
143
- }) // Should not be formatted because of event type
144
- ];
145
- var DATA = {
146
- alpha: 'AlPhA',
147
- bravo: 'bRaVo',
148
- charlie: 'CHArlie',
149
- delta: 'deLTA'
150
- };
151
- (0, _formatDataForComponent.formatDataForComponents)(COMPONENTS, DATA, EVENT_TYPE);
152
- expect(DATA).toEqual({
153
- alpha: 'alpha',
154
- bravo: 'bRaVo',
155
- charlie: 'CHARLIE',
156
- delta: 'deLTA'
157
- });
158
- });
159
- });
160
- });
161
- });
@@ -1,78 +0,0 @@
1
- "use strict";
2
-
3
- var _models = require("../../models");
4
-
5
- var _formatDataForForm = _interopRequireDefault(require("./formatDataForForm"));
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
-
9
- // Local imports
10
- describe('utils', function () {
11
- describe('Format', function () {
12
- var setupField = function setupField(fieldId, format) {
13
- return {
14
- fieldId: fieldId,
15
- format: format
16
- };
17
- };
18
-
19
- describe('formatDataForForm', function () {
20
- it('should appropriately format entire form', function () {
21
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
22
- var COMPONENTS = [setupField('alpha', {
23
- type: 'lowercase',
24
- on: _models.EventTypes.SUBMIT
25
- }), // Should be formatted
26
- setupField('bravo', null), // Nothing to format
27
- setupField('charlie', {
28
- type: 'uppercase',
29
- on: _models.EventTypes.SUBMIT
30
- }), // Should be formatted
31
- setupField('delta', {
32
- type: 'uppercase',
33
- on: _models.EventTypes.BLUR
34
- }), // Should not be formatted because of event type
35
- setupField('echo', {
36
- type: 'uppercase',
37
- on: _models.EventTypes.SUBMIT
38
- }), // Should not be formatted because of event type
39
- setupField('foxtrot', {
40
- type: 'lowercase',
41
- on: _models.EventTypes.SUBMIT
42
- }) // Should not be formatted because of event type
43
- ];
44
- var DATA = {
45
- alpha: 'AlPhA',
46
- bravo: 'bRaVo',
47
- charlie: 'CHArlie',
48
- delta: 'deLTA',
49
- foxtrot: 'FOXTROT'
50
- };
51
- var FORM = {
52
- components: COMPONENTS.slice(0, 1),
53
- pages: [{
54
- components: COMPONENTS.slice(2, 3)
55
- }, {
56
- components: COMPONENTS.slice(4)
57
- }]
58
- };
59
- var FORMATTED_DATA = (0, _formatDataForForm.default)(FORM, DATA, EVENT_TYPE);
60
- expect(FORMATTED_DATA).toEqual({
61
- alpha: 'alpha',
62
- bravo: 'bRaVo',
63
- charlie: 'CHARLIE',
64
- delta: 'deLTA',
65
- foxtrot: 'foxtrot'
66
- }); // The original DATA, meanwhile, should remain untouched.
67
-
68
- expect(DATA).toEqual({
69
- alpha: 'AlPhA',
70
- bravo: 'bRaVo',
71
- charlie: 'CHArlie',
72
- delta: 'deLTA',
73
- foxtrot: 'FOXTROT'
74
- });
75
- });
76
- });
77
- });
78
- });
@@ -1,96 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
- var _models = require("../../models");
6
-
7
- var _formatDataForPage = _interopRequireWildcard(require("./formatDataForPage"));
8
-
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
-
11
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
-
13
- // Local imports
14
- describe('utils', function () {
15
- describe('Format', function () {
16
- var setupField = function setupField(fieldId, format) {
17
- return {
18
- fieldId: fieldId,
19
- format: format
20
- };
21
- };
22
-
23
- describe('formatDataForPage', function () {
24
- it('should appropriately format a page of components', function () {
25
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
26
- var COMPONENTS = [setupField('alpha', {
27
- type: 'lowercase',
28
- on: _models.EventTypes.SUBMIT
29
- }), // Should be formatted
30
- setupField('bravo', null), // Nothing to format
31
- setupField('charlie', {
32
- type: 'uppercase',
33
- on: _models.EventTypes.SUBMIT
34
- }), // Should be formatted
35
- setupField('delta', {
36
- type: 'uppercase',
37
- on: _models.EventTypes.BLUR
38
- }) // Should not be formatted because of event type
39
- ];
40
- var DATA = {
41
- alpha: 'AlPhA',
42
- bravo: 'bRaVo',
43
- charlie: 'CHArlie',
44
- delta: 'deLTA'
45
- };
46
- var PAGE = {
47
- components: COMPONENTS
48
- };
49
- (0, _formatDataForPage.default)(PAGE, DATA, EVENT_TYPE);
50
- expect(DATA).toEqual({
51
- alpha: 'alpha',
52
- bravo: 'bRaVo',
53
- charlie: 'CHARLIE',
54
- delta: 'deLTA'
55
- });
56
- });
57
- });
58
- describe('formatDataForPages', function () {
59
- it('should appropriately format multiple pages', function () {
60
- var EVENT_TYPE = _models.EventTypes.SUBMIT;
61
- var COMPONENTS = [setupField('alpha', {
62
- type: 'lowercase',
63
- on: _models.EventTypes.SUBMIT
64
- }), // Should be formatted
65
- setupField('bravo', null), // Nothing to format
66
- setupField('charlie', {
67
- type: 'uppercase',
68
- on: _models.EventTypes.SUBMIT
69
- }), // Should be formatted
70
- setupField('delta', {
71
- type: 'uppercase',
72
- on: _models.EventTypes.BLUR
73
- }) // Should not be formatted because of event type
74
- ];
75
- var DATA = {
76
- alpha: 'AlPhA',
77
- bravo: 'bRaVo',
78
- charlie: 'CHArlie',
79
- delta: 'deLTA'
80
- };
81
- var PAGES = [{
82
- components: COMPONENTS.slice(0, 1)
83
- }, {
84
- components: COMPONENTS.slice(2)
85
- }];
86
- (0, _formatDataForPage.formatDataForPages)(PAGES, DATA, EVENT_TYPE);
87
- expect(DATA).toEqual({
88
- alpha: 'alpha',
89
- bravo: 'bRaVo',
90
- charlie: 'CHARLIE',
91
- delta: 'deLTA'
92
- });
93
- });
94
- });
95
- });
96
- });
@@ -1,107 +0,0 @@
1
- "use strict";
2
-
3
- var _models = require("../../models");
4
-
5
- var _getFormHub = _interopRequireDefault(require("./getFormHub"));
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
-
9
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
-
11
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
-
13
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
-
15
- describe('utils', function () {
16
- describe('Hub', function () {
17
- describe('getFormHub', function () {
18
- var FORM_COMPONENTS = [{
19
- id: 'a',
20
- fieldId: 'a',
21
- label: 'Alpha',
22
- type: 'text'
23
- }, {
24
- id: 'b',
25
- fieldId: 'b',
26
- label: 'Bravo',
27
- type: 'text'
28
- }, // eslint-disable-next-line no-template-curly-in-string
29
- {
30
- id: 'c',
31
- fieldId: 'c',
32
- label: 'Charlie',
33
- type: 'radios',
34
- data: {
35
- url: '${urls.refData}/v3/charlies'
36
- }
37
- }];
38
- var FORM_DATA = {
39
- urls: {
40
- refData: 'https://ho.gov.uk/ref-data/'
41
- }
42
- };
43
- [_models.FormTypes.CYA, _models.FormTypes.FORM, _models.FormTypes.WIZARD].forEach(function (formType) {
44
- describe("when the FormType is \"".concat(formType, "\""), function () {
45
- it('should return undefined', function () {
46
- expect((0, _getFormHub.default)(formType, {}, FORM_COMPONENTS, FORM_DATA)).toBeUndefined();
47
- });
48
- });
49
- });
50
- describe("when the FormType is \"".concat(_models.FormTypes.HUB, "\""), function () {
51
- it('should return undefined when there is no hub', function () {
52
- expect((0, _getFormHub.default)(_models.FormTypes.HUB, null, FORM_COMPONENTS, FORM_DATA)).toBeUndefined();
53
- });
54
- it("should return undefined when the format is not \"".concat(_models.HubFormats.CYA, "\" but hub also has no components"), function () {
55
- expect((0, _getFormHub.default)(_models.FormTypes.HUB, {}, FORM_COMPONENTS, FORM_DATA)).toBeUndefined();
56
- });
57
- it("should return the string \"".concat(_models.HubFormats.CYA, "\" when the format is set to \"").concat(_models.HubFormats.CYA, "\""), function () {
58
- var HUB = {
59
- format: _models.HubFormats.CYA
60
- };
61
- expect((0, _getFormHub.default)(_models.FormTypes.HUB, HUB, FORM_COMPONENTS, FORM_DATA)).toEqual(_models.HubFormats.CYA);
62
- });
63
- it("should return an appropriate page when the format is not \"".concat(_models.HubFormats.CYA, "\" and hub contains components"), function () {
64
- var HUB = {
65
- title: 'Hub title',
66
- components: ['Opening paragraph', {
67
- type: 'heading',
68
- size: 'l',
69
- content: 'Hub heading'
70
- }, 'Closing paragraph', {
71
- use: 'a'
72
- }]
73
- };
74
- var A = FORM_COMPONENTS[0];
75
- expect((0, _getFormHub.default)(_models.FormTypes.HUB, HUB, FORM_COMPONENTS, FORM_DATA)).toEqual({
76
- title: HUB.title,
77
- components: [{
78
- type: 'html',
79
- tagName: 'p',
80
- content: HUB.components[0]
81
- }, _objectSpread(_objectSpread({}, HUB.components[1]), {}, {
82
- full_path: HUB.components[1].fieldId
83
- }), {
84
- type: 'html',
85
- tagName: 'p',
86
- content: HUB.components[2]
87
- }, _objectSpread(_objectSpread({
88
- use: 'a'
89
- }, A), {}, {
90
- cya_label: A.label,
91
- full_path: A.fieldId
92
- })],
93
- formData: FORM_DATA
94
- });
95
- });
96
- });
97
- describe("when the FormType is \"".concat(_models.FormTypes.TASK, "\""), function () {
98
- it("should return the string \"".concat(_models.HubFormats.TASK, "\" when the format is set to \"").concat(_models.HubFormats.TASK, "\""), function () {
99
- var HUB = {
100
- format: _models.HubFormats.TASK
101
- };
102
- expect((0, _getFormHub.default)(_models.FormTypes.TASK, HUB, FORM_COMPONENTS, FORM_DATA)).toEqual(_models.HubFormats.TASK);
103
- });
104
- });
105
- });
106
- });
107
- });
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- var _checkValueIsTruthy = _interopRequireDefault(require("./checkValueIsTruthy"));
4
-
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
-
7
- describe('Utils.Operate.checkValueIsTruthy', function () {
8
- var DATA = {
9
- alpha: 'abc',
10
- bravo: ''
11
- };
12
- it('Should return true is the value of the field is truthy', function () {
13
- var CONFIG = {
14
- field: 'alpha'
15
- };
16
- var result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
17
- expect(result).toEqual(true);
18
- });
19
- it('Should return false if the value of the field is falsy', function () {
20
- var CONFIG = {
21
- field: 'bravo'
22
- };
23
- var result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
24
- expect(result).toEqual(false);
25
- });
26
- it('Should return false if the field does not exist', function () {
27
- var CONFIG = {
28
- field: 'charlie'
29
- };
30
- var result = (0, _checkValueIsTruthy.default)(CONFIG, DATA);
31
- expect(result).toEqual(false);
32
- });
33
- it('Should return false when an invalid config is used', function () {
34
- var result = (0, _checkValueIsTruthy.default)(null, DATA);
35
- expect(result).toEqual(false);
36
- });
37
- it('Should return false when invalid data is used', function () {
38
- var CONFIG = {
39
- field: 'alpha'
40
- };
41
- var result = (0, _checkValueIsTruthy.default)(CONFIG, null);
42
- expect(result).toEqual(false);
43
- });
44
- });
@@ -1,159 +0,0 @@
1
- "use strict";
2
-
3
- var _getIndexOfMatchingValueIn = _interopRequireDefault(require("./getIndexOfMatchingValueIn"));
4
-
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
-
7
- describe('Utils.Operate.getIndexOfPriorMatchingValueIn', function () {
8
- var DATA = {
9
- arrayOfValues: ['abc', 'bcd', 'cde', 'def', {
10
- root: {
11
- branch: 'leaf'
12
- }
13
- }],
14
- cutoffIndex: 1,
15
- ignoreIndex: 2,
16
- valueToSearchFor: 'cde',
17
- targetName: 'arrayOfValues',
18
- fieldName: 'valueToSearchFor',
19
- cutoffName: 'cutoffIndex',
20
- ignoreName: 'ignoreIndex'
21
- };
22
- it('Should return the index of a matching value if one exists', function () {
23
- var CONFIG = {
24
- target: 'arrayOfValues',
25
- value: 'cde'
26
- };
27
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
28
- expect(result).toEqual('2');
29
- });
30
- it('Should handle getting value from given field', function () {
31
- var CONFIG = {
32
- target: 'arrayOfValues',
33
- field: 'valueToSearchFor'
34
- };
35
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
36
- expect(result).toEqual('2');
37
- });
38
- it('Should handle interpolated string for field', function () {
39
- // eslint-disable-next-line no-template-curly-in-string
40
- var CONFIG = {
41
- target: 'arrayOfValues',
42
- field: '${fieldName}'
43
- };
44
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
45
- expect(result).toEqual('2');
46
- });
47
- it('Should handle interpolated string for key', function () {
48
- // eslint-disable-next-line no-template-curly-in-string
49
- var CONFIG = {
50
- target: 'arrayOfValues',
51
- key: 'root.branch',
52
- value: 'leaf'
53
- };
54
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
55
- expect(result).toEqual('4');
56
- });
57
- it('Should handle a cutoff value being specified', function () {
58
- var CONFIG = {
59
- target: 'arrayOfValues',
60
- value: 'cde',
61
- cutoff: {
62
- value: 1
63
- }
64
- };
65
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
66
- expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
67
- });
68
- it('Should handle a cutoff field being specified', function () {
69
- var CONFIG = {
70
- target: 'arrayOfValues',
71
- value: 'cde',
72
- cutoff: {
73
- field: 'cutoffIndex'
74
- }
75
- };
76
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
77
- expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
78
- });
79
- it('Should handle interpolated string for cutoff.field', function () {
80
- // eslint-disable-next-line no-template-curly-in-string
81
- var CONFIG = {
82
- target: 'arrayOfValues',
83
- value: 'cde',
84
- cutoff: {
85
- field: '${cutoffName}'
86
- }
87
- };
88
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
89
- expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
90
- });
91
- it('Should handle an ignore value being specified', function () {
92
- var CONFIG = {
93
- target: 'arrayOfValues',
94
- value: 'cde',
95
- ignore: {
96
- value: 2
97
- }
98
- };
99
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
100
- expect(result).toEqual(null); // Should ignore the matching value.
101
- });
102
- it('Should handle an ignore field being specified', function () {
103
- var CONFIG = {
104
- target: 'arrayOfValues',
105
- value: 'cde',
106
- ignore: {
107
- field: 'ignoreIndex'
108
- }
109
- };
110
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
111
- expect(result).toEqual(null); // Should ignore the matching value.
112
- });
113
- it('Should handle interpolated string for ignore.field', function () {
114
- // eslint-disable-next-line no-template-curly-in-string
115
- var CONFIG = {
116
- target: 'arrayOfValues',
117
- value: 'cde',
118
- ignore: {
119
- field: '${ignoreName}'
120
- }
121
- };
122
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
123
- expect(result).toEqual(null); // Should ignore the matching value.
124
- });
125
- it('Should handle interpolated string for target', function () {
126
- // eslint-disable-next-line no-template-curly-in-string
127
- var CONFIG = {
128
- target: '${targetName}',
129
- value: 'cde'
130
- };
131
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
132
- expect(result).toEqual('2');
133
- });
134
- it('Should return null when the target does not exist', function () {
135
- var CONFIG = {
136
- target: 'notARealTarget',
137
- value: 'cde'
138
- };
139
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
140
- expect(result).toEqual(null);
141
- });
142
- it('Should return null when config is missing fields', function () {
143
- var CONFIG = {};
144
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
145
- expect(result).toEqual(null);
146
- });
147
- it('Should return null when config is invalid', function () {
148
- var result = (0, _getIndexOfMatchingValueIn.default)(null, DATA);
149
- expect(result).toEqual(null);
150
- });
151
- it('Should return null when data is invalid', function () {
152
- var CONFIG = {
153
- target: 'arrayOfValues',
154
- value: 'cde'
155
- };
156
- var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, null);
157
- expect(result).toEqual(null);
158
- });
159
- });