@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,81 +0,0 @@
1
- {
2
- "data": [
3
- {
4
- "id": 1,
5
- "name": "Terminal 1",
6
- "validfrom": "2019-01-01T00:01:00.000Z",
7
- "validto": null,
8
- "updatedby": null
9
- },
10
- {
11
- "id": 2,
12
- "name": "Terminal 2",
13
- "validfrom": "2019-01-01T00:01:00.000Z",
14
- "validto": null,
15
- "updatedby": null
16
- },
17
- {
18
- "id": 3,
19
- "name": "Terminal 3",
20
- "validfrom": "2019-01-01T00:01:00.000Z",
21
- "validto": null,
22
- "updatedby": null
23
- },
24
- {
25
- "id": 4,
26
- "name": "Terminal 4",
27
- "validfrom": "2019-01-01T00:01:00.000Z",
28
- "validto": null,
29
- "updatedby": null
30
- },
31
- {
32
- "id": 5,
33
- "name": "Terminal 5",
34
- "validfrom": "2019-01-01T00:01:00.000Z",
35
- "validto": null,
36
- "updatedby": null
37
- },
38
- {
39
- "id": 6,
40
- "name": "North Terminal",
41
- "validfrom": "2019-01-01T00:01:00.000Z",
42
- "validto": null,
43
- "updatedby": null
44
- },
45
- {
46
- "id": 7,
47
- "name": "South Terminal",
48
- "validfrom": "2019-01-01T00:01:00.000Z",
49
- "validto": null,
50
- "updatedby": null
51
- },
52
- {
53
- "id": 8,
54
- "name": "Eastern Docks",
55
- "validfrom": "2019-01-01T00:01:00.000Z",
56
- "validto": null,
57
- "updatedby": null
58
- },
59
- {
60
- "id": 9,
61
- "name": "Western Docks",
62
- "validfrom": "2019-01-01T00:01:00.000Z",
63
- "validto": null,
64
- "updatedby": null
65
- },
66
- {
67
- "id": 10,
68
- "name": "Tourist",
69
- "validfrom": "2021-05-07T00:01:00.000Z",
70
- "validto": null,
71
- "updatedby": "Ben Milnes"
72
- },
73
- {
74
- "id": 11,
75
- "name": "Freight",
76
- "validfrom": "2021-05-07T00:01:00.000Z",
77
- "validto": null,
78
- "updatedby": "Ben Milnes"
79
- }
80
- ]
81
- }
@@ -1,21 +0,0 @@
1
- {
2
- "urls": {
3
- "refData": "/ref-data"
4
- },
5
- "currentUser": {
6
- "givenName": "John",
7
- "familyName": "Smith"
8
- },
9
- "areYouACivilServant": "yes",
10
- "userDetails": {
11
- "linemanagerEmail": "line.manager@digital.homeoffice.gov.uk",
12
- "delegateEmails": "del.egate@digital.homeoffice.gov.uk"
13
- },
14
- "addressDetails": {
15
- "firstLineOfTheAddress": "10 Downing Street",
16
- "city": "London",
17
- "town": "City of Westminster",
18
- "postCode": "SW1A 2AA"
19
- },
20
- "businessKey": "123456789"
21
- }
@@ -1,276 +0,0 @@
1
- {
2
- "id": "userProfile",
3
- "version": "1",
4
- "name": "userProfile",
5
- "title": "Your profile",
6
- "type": "hub-and-spoke",
7
- "components": [
8
- {
9
- "id": "firstName",
10
- "fieldId": "firstName",
11
- "label": "First name",
12
- "type": "text",
13
- "readonly": true,
14
- "source": {
15
- "field": "currentUser.givenName"
16
- }
17
- },
18
- {
19
- "id": "surname",
20
- "fieldId": "surname",
21
- "label": "Last name",
22
- "type": "text",
23
- "readonly": true,
24
- "source": {
25
- "field": "currentUser.familyName"
26
- }
27
- },
28
- {
29
- "id": "areYouACivilServant",
30
- "fieldId": "areYouACivilServant",
31
- "label": "Are you a civil servant?",
32
- "type": "radios",
33
- "required": true,
34
- "data": {
35
- "url": "${urls.refData}/areYouACivilServant"
36
- }
37
- },
38
- {
39
- "id": "staffGradeId",
40
- "fieldId": "staffGradeId",
41
- "label": "Grade",
42
- "hint": "We use this to assign you tasks",
43
- "type": "radios",
44
- "required": true,
45
- "data": {
46
- "url": "${urls.refData}/grade"
47
- },
48
- "source": {
49
- "field": "userDetails.gradeid"
50
- },
51
- "show_when": {
52
- "field": "areYouACivilServant",
53
- "op": "eq",
54
- "value": "yes"
55
- }
56
- },
57
- {
58
- "id": "team",
59
- "fieldId": "team",
60
- "label": "Team",
61
- "hint": "We use this to assign you tasks",
62
- "type": "autocomplete",
63
- "required": true,
64
- "item": { "value": "id", "label": "name" },
65
- "data": {
66
- "url": "${urls.refData}/team"
67
- },
68
- "displayMenu": "inline",
69
- "source": {
70
- "field": "userDetails.defaultteam"
71
- }
72
- },
73
- {
74
- "id": "linemanagerEmail",
75
- "fieldId": "linemanagerEmail",
76
- "label": "Line manager email",
77
- "hint": "Must be a homeoffice.gov.uk or digital.homeoffice.gov.uk address",
78
- "type": "email",
79
- "format": {
80
- "type": "lowercase",
81
- "on": "submit"
82
- },
83
- "required": true,
84
- "source": {
85
- "field": "userDetails.linemanagerEmail"
86
- }
87
- },
88
- {
89
- "id": "delegateEmails",
90
- "fieldId": "delegateEmails",
91
- "label": "Delegate email",
92
- "hint": "Must be a homeoffice.gov.uk or digital.homeoffice.gov.uk address",
93
- "type": "email",
94
- "format": {
95
- "type": "lowercase",
96
- "on": "submit"
97
- },
98
- "required": true,
99
- "source": {
100
- "field": "userDetails.delegateEmails"
101
- },
102
- "show_when": [
103
- {
104
- "field": "areYouACivilServant",
105
- "op": "eq",
106
- "value": "yes"
107
- },
108
- {
109
- "field": "staffGradeId",
110
- "op": "in",
111
- "values": [
112
- "373979c1-2360-46be-b712-0409ac068059",
113
- "36c80dfe-0aae-455b-9445-2e1c09dcafdc",
114
- "1b041cda-b151-4769-b76a-d42d67b0b960",
115
- "172de41d-f7b0-4be9-b7e8-0cf4f1a1342f",
116
- "39e18b45-0358-4a45-83ec-5a70b74641e8"
117
- ]
118
- }
119
- ]
120
- }
121
- ],
122
- "pages": [
123
- {
124
- "id": "names",
125
- "name": "names",
126
- "components": [
127
- { "use": "firstName" },
128
- { "use": "surname" }
129
- ]
130
- },
131
- {
132
- "id": "civil-servant-status",
133
- "name": "civil-servant-status",
134
- "title": "Are you a civil servant?",
135
- "components": [
136
- {
137
- "use": "areYouACivilServant",
138
- "label": ""
139
- }
140
- ],
141
- "actions": ["submit", "cancel"],
142
- "cya_link": {
143
- "page": "civil-servant-status",
144
- "aria_suffix": "civil servant status"
145
- }
146
- },
147
- {
148
- "id": "grade",
149
- "name": "grade",
150
- "title": "What's your grade?",
151
- "components": [
152
- {
153
- "use": "staffGradeId",
154
- "label": ""
155
- }
156
- ],
157
- "actions": ["submit"],
158
- "cya_link": {
159
- "page": "grade",
160
- "aria_suffix": "grade"
161
- }
162
- },
163
- {
164
- "id": "team-name",
165
- "name": "team-name",
166
- "title": "What's your team name?",
167
- "components": [
168
- {
169
- "use": "team",
170
- "label": ""
171
- }
172
- ],
173
- "actions": ["submit"],
174
- "cya_link": {
175
- "page": "team-name",
176
- "aria_suffix": "teams"
177
- }
178
- },
179
- {
180
- "id": "add-or-change-line-manager",
181
- "name": "add-or-change-line-manager",
182
- "title": "Add or change a line manager",
183
- "components": [
184
- "Your line manager will need to review some of your forms. It’s important to keep their details up-to-date.",
185
- "An email will be sent to your line manager to ask if they want to approve your request to add them.",
186
- {
187
- "type": "inset-text",
188
- "content": "The changes will show in your profile when they approve your request."
189
- },
190
- {
191
- "type": "heading",
192
- "size": "m",
193
- "content": "Mandatory declarations"
194
- },
195
- "Mandatory declarations will not go to your line manager until they have approved your request."
196
- ],
197
- "actions": [
198
- {
199
- "type": "navigate",
200
- "page": "line-manager-email"
201
- }
202
- ],
203
- "show_on_cya": false
204
- },
205
- {
206
- "id": "line-manager-email",
207
- "name": "line-manager-email",
208
- "title": "What’s your line manager’s email address?",
209
- "components": [
210
- {
211
- "use": "linemanagerEmail"
212
- }
213
- ],
214
- "actions": ["submit"],
215
- "cya_link": {
216
- "page": "add-or-change-line-manager",
217
- "aria_suffix": "line manager email address"
218
- }
219
- },
220
- {
221
- "id": "add-or-change-delegate",
222
- "name": "add-or-change-delegate",
223
- "title": "Add or change a delegate",
224
- "components": [
225
- "A delegate can review a mandatory declaration on your behalf.",
226
- "An email will be sent to the delegate to ask if they want to approve your request.",
227
- {
228
- "type": "inset-text",
229
- "content": "The changes will show in your profile when they approve your request."
230
- }
231
- ],
232
- "actions": [
233
- {
234
- "type": "navigate",
235
- "page": "delegate-email"
236
- }
237
- ],
238
- "show_on_cya": false
239
- },
240
- {
241
- "id": "delegate-email",
242
- "name": "delegate-email",
243
- "title": "What’s your delegate's email address?",
244
- "components": [
245
- {
246
- "use": "delegateEmails",
247
- "label": "Delegate email address"
248
- }
249
- ],
250
- "actions": ["submit"],
251
- "cya_link": {
252
- "page": "add-or-change-delegate"
253
- },
254
- "show_when": [
255
- {
256
- "field": "areYouACivilServant",
257
- "op": "eq",
258
- "value": "yes"
259
- },
260
- {
261
- "field": "staffGradeId",
262
- "op": "in",
263
- "values": [
264
- "373979c1-2360-46be-b712-0409ac068059",
265
- "36c80dfe-0aae-455b-9445-2e1c09dcafdc",
266
- "1b041cda-b151-4769-b76a-d42d67b0b960",
267
- "172de41d-f7b0-4be9-b7e8-0cf4f1a1342f",
268
- "39e18b45-0358-4a45-83ec-5a70b74641e8"
269
- ]
270
- }
271
- ]
272
- }
273
- ],
274
- "hub": { "format": "CYA" },
275
- "cya": { "hide_page_titles": true, "hide_actions": true }
276
- }
@@ -1,59 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.renderWithValidation = exports.renderHookWithProvider = exports.renderDomWithValidation = exports.expectObjectLike = void 0;
7
-
8
- var _react = require("@testing-library/react");
9
-
10
- var _reactHooks = require("@testing-library/react-hooks");
11
-
12
- var _reactDom = require("react-dom");
13
-
14
- var _context = require("./context");
15
-
16
- var renderWithValidation = function renderWithValidation(ui, options) {
17
- return (0, _react.render)( /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
18
- overrides: options === null || options === void 0 ? void 0 : options.hooks
19
- }, /*#__PURE__*/React.createElement(_context.ValidationContextProvider, {
20
- key: "vcp"
21
- }, ui)), options);
22
- };
23
-
24
- exports.renderWithValidation = renderWithValidation;
25
-
26
- var renderDomWithValidation = function renderDomWithValidation(ui, container, options) {
27
- return (0, _reactDom.render)( /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
28
- overrides: options === null || options === void 0 ? void 0 : options.hooks
29
- }, /*#__PURE__*/React.createElement(_context.ValidationContextProvider, {
30
- key: "vcp"
31
- }, ui)), container);
32
- };
33
-
34
- exports.renderDomWithValidation = renderDomWithValidation;
35
-
36
- var renderHookWithProvider = function renderHookWithProvider(hook, options) {
37
- var wrapper = function wrapper(_ref) {
38
- var children = _ref.children;
39
- return /*#__PURE__*/React.createElement(_context.HooksContextProvider, {
40
- overrides: options === null || options === void 0 ? void 0 : options.hooks
41
- }, children);
42
- };
43
-
44
- return (0, _reactHooks.renderHook)(function () {
45
- return hook();
46
- }, {
47
- wrapper: wrapper
48
- });
49
- };
50
-
51
- exports.renderHookWithProvider = renderHookWithProvider;
52
-
53
- var expectObjectLike = function expectObjectLike(received, expected) {
54
- Object.keys(expected).forEach(function (key) {
55
- expect(received[key]).toEqual(expected[key]);
56
- });
57
- };
58
-
59
- exports.expectObjectLike = expectObjectLike;
@@ -1,139 +0,0 @@
1
- "use strict";
2
-
3
- var _getCYAAction = _interopRequireDefault(require("./getCYAAction"));
4
-
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
-
7
- // Local imports
8
- describe('utils', function () {
9
- describe('CheckYourAnswers', function () {
10
- describe('getCYAAction', function () {
11
- var getPage = function getPage(cya_link, id) {
12
- return {
13
- cya_link: cya_link,
14
- id: id
15
- };
16
- };
17
-
18
- it('should return null if readonly', function () {
19
- expect((0, _getCYAAction.default)(true, {}, function () {})).toBeNull();
20
- });
21
- it('should return null if there is no cya_link', function () {
22
- expect((0, _getCYAAction.default)(false, null, function () {})).toBeNull();
23
- });
24
- it('should return a default action if the cya_link is empty and the page has no id', function () {
25
- var CYA_LINK = {};
26
-
27
- var ON_ACTION = function ON_ACTION() {};
28
-
29
- expect((0, _getCYAAction.default)(false, getPage(CYA_LINK), ON_ACTION)).toEqual({
30
- page: '#',
31
- label: 'Change',
32
- onAction: ON_ACTION
33
- });
34
- });
35
- it('should return a default action if the cya_link is empty but the page has an id', function () {
36
- var PAGE_ID = 'page-id';
37
- var CYA_LINK = {};
38
-
39
- var ON_ACTION = function ON_ACTION() {};
40
-
41
- expect((0, _getCYAAction.default)(false, getPage(CYA_LINK, PAGE_ID), ON_ACTION)).toEqual({
42
- page: PAGE_ID,
43
- label: 'Change',
44
- onAction: ON_ACTION
45
- });
46
- });
47
- it('should use page specified in cya_link', function () {
48
- var PAGE = 'alpha';
49
- var CYA_LINK = {
50
- page: PAGE
51
- };
52
-
53
- var ON_ACTION = function ON_ACTION() {};
54
-
55
- expect((0, _getCYAAction.default)(false, getPage(CYA_LINK), ON_ACTION)).toEqual({
56
- page: PAGE,
57
- label: 'Change',
58
- onAction: ON_ACTION
59
- });
60
- });
61
- it('should convert an href specified in cya_link', function () {
62
- var HREF = '/alpha/bravo';
63
- var CYA_LINK = {
64
- href: HREF
65
- };
66
-
67
- var ON_ACTION = function ON_ACTION() {};
68
-
69
- expect((0, _getCYAAction.default)(false, getPage(CYA_LINK), ON_ACTION)).toEqual({
70
- page: 'bravo',
71
- label: 'Change',
72
- onAction: ON_ACTION
73
- });
74
- });
75
- it('should convert a url specified in cya_link', function () {
76
- var URL = '/alpha/bravo';
77
- var CYA_LINK = {
78
- url: URL
79
- };
80
-
81
- var ON_ACTION = function ON_ACTION() {};
82
-
83
- expect((0, _getCYAAction.default)(false, getPage(CYA_LINK), ON_ACTION)).toEqual({
84
- page: 'bravo',
85
- label: 'Change',
86
- onAction: ON_ACTION
87
- });
88
- });
89
- it('should use label specified in cya_link', function () {
90
- var LABEL = 'Alpha Bravo Charlie';
91
- var CYA_LINK = {
92
- label: LABEL
93
- };
94
-
95
- var ON_ACTION = function ON_ACTION() {};
96
-
97
- expect((0, _getCYAAction.default)(false, getPage(CYA_LINK), ON_ACTION)).toEqual({
98
- page: '#',
99
- label: LABEL,
100
- onAction: ON_ACTION
101
- });
102
- });
103
- it('should use aria_suffix specified in cya_link', function () {
104
- var ARIA_SUFFIX = 'This is hidden text';
105
- var CYA_LINK = {
106
- aria_suffix: ARIA_SUFFIX
107
- };
108
-
109
- var ON_ACTION = function ON_ACTION() {};
110
-
111
- expect((0, _getCYAAction.default)(false, getPage(CYA_LINK), ON_ACTION)).toEqual({
112
- page: '#',
113
- label: 'Change',
114
- aria_suffix: ARIA_SUFFIX,
115
- onAction: ON_ACTION
116
- });
117
- });
118
- it('should use all properties specified in cya_link', function () {
119
- var PAGE = 'alpha';
120
- var LABEL = 'Alpha Bravo Charlie';
121
- var ARIA_SUFFIX = 'This is hidden text';
122
- var CYA_LINK = {
123
- label: LABEL,
124
- page: PAGE,
125
- aria_suffix: ARIA_SUFFIX
126
- };
127
-
128
- var ON_ACTION = function ON_ACTION() {};
129
-
130
- expect((0, _getCYAAction.default)(false, getPage(CYA_LINK), ON_ACTION)).toEqual({
131
- page: PAGE,
132
- label: LABEL,
133
- aria_suffix: ARIA_SUFFIX,
134
- onAction: ON_ACTION
135
- });
136
- });
137
- });
138
- });
139
- });
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- var _getCYACollectionChangeAction = _interopRequireDefault(require("./getCYACollectionChangeAction"));
4
-
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
-
7
- 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; }
8
-
9
- 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; }
10
-
11
- 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; }
12
-
13
- describe('utils', function () {
14
- describe('CheckYourAnswers', function () {
15
- describe('getCYACollectionChangeAction', function () {
16
- var PAGE = {
17
- id: 2,
18
- collection: {
19
- name: 'collectionName'
20
- }
21
- };
22
- var ITEM = {
23
- id: 2
24
- };
25
- var TEST_DATA = {
26
- page: _objectSpread({}, PAGE),
27
- collectionName: [{
28
- id: 1
29
- }, {
30
- id: 2
31
- }, {
32
- id: 3
33
- }],
34
- collectionNameActiveId: 3
35
- };
36
- it('should change activeId to the selected item and call onAction with the correct page', function () {
37
- var ON_ACTION = function ON_ACTION(row, call_back) {
38
- expect(row.id).toEqual(2);
39
- TEST_DATA = call_back(TEST_DATA);
40
- };
41
-
42
- var action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, ON_ACTION, 0, {});
43
- action.action.onAction(PAGE);
44
- expect(TEST_DATA.collectionNameActiveId).toEqual(2);
45
- });
46
- it('should get label to custom value', function () {
47
- var action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, function () {}, 0, {
48
- label: 'customName'
49
- });
50
- expect(action.action.label).toEqual('customName');
51
- });
52
- it('should call onAction with a custom page', function () {
53
- var PAGE_WITH_CUSTOM_DESTINATION = {
54
- id: 2,
55
- collection: {
56
- name: 'collectionName',
57
- actions: [{
58
- type: 'change',
59
- label: 'confirm delete',
60
- page: 'confirmDelete'
61
- }]
62
- }
63
- };
64
-
65
- var ON_ACTION = function ON_ACTION(page, call_back) {
66
- expect(page.pageId).toEqual('confirmDelete');
67
- TEST_DATA = call_back(TEST_DATA);
68
- };
69
-
70
- var action = (0, _getCYACollectionChangeAction.default)(PAGE_WITH_CUSTOM_DESTINATION, ITEM, ON_ACTION, 0, PAGE_WITH_CUSTOM_DESTINATION.collection.actions[0]);
71
- action.action.onAction({});
72
- expect(TEST_DATA.collectionNameActiveId).toEqual(2);
73
- });
74
- });
75
- });
76
- });