@defra/forms-engine-plugin 4.7.2 → 4.7.3

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 (402) hide show
  1. package/.server/client/javascripts/geospatial-map.d.ts +6 -6
  2. package/.server/client/javascripts/geospatial-map.js +3 -3
  3. package/.server/client/javascripts/location-map.d.ts +1 -1
  4. package/.server/client/javascripts/location-map.js +1 -1
  5. package/.server/client/javascripts/map.d.ts +1 -1
  6. package/.server/client/javascripts/map.js +1 -1
  7. package/.server/client/javascripts/shared.d.ts +7 -7
  8. package/.server/server/index.d.ts +1 -1
  9. package/.server/server/plugins/crumb.d.ts +1 -1
  10. package/.server/server/plugins/engine/beta/form-context.d.ts +6 -6
  11. package/.server/server/plugins/engine/components/AutocompleteField.d.ts +4 -4
  12. package/.server/server/plugins/engine/components/CheckboxesField.d.ts +2 -2
  13. package/.server/server/plugins/engine/components/CheckboxesField.js +2 -2
  14. package/.server/server/plugins/engine/components/CheckboxesField.js.map +1 -1
  15. package/.server/server/plugins/engine/components/ComponentBase.d.ts +5 -5
  16. package/.server/server/plugins/engine/components/ComponentCollection.d.ts +8 -8
  17. package/.server/server/plugins/engine/components/DatePartsField.d.ts +11 -11
  18. package/.server/server/plugins/engine/components/DeclarationField.d.ts +3 -3
  19. package/.server/server/plugins/engine/components/Details.d.ts +1 -1
  20. package/.server/server/plugins/engine/components/EastingNorthingField.d.ts +22 -22
  21. package/.server/server/plugins/engine/components/EmailAddressField.d.ts +4 -4
  22. package/.server/server/plugins/engine/components/FileUploadField.d.ts +3 -3
  23. package/.server/server/plugins/engine/components/FormComponent.d.ts +10 -10
  24. package/.server/server/plugins/engine/components/GeospatialField.d.ts +6 -6
  25. package/.server/server/plugins/engine/components/HiddenField.d.ts +2 -2
  26. package/.server/server/plugins/engine/components/Html.d.ts +1 -1
  27. package/.server/server/plugins/engine/components/InsetText.d.ts +1 -1
  28. package/.server/server/plugins/engine/components/LatLongField.d.ts +22 -22
  29. package/.server/server/plugins/engine/components/List.d.ts +8 -8
  30. package/.server/server/plugins/engine/components/ListFormComponent.d.ts +10 -10
  31. package/.server/server/plugins/engine/components/LocationFieldBase.d.ts +6 -6
  32. package/.server/server/plugins/engine/components/LocationFieldHelpers.d.ts +14 -14
  33. package/.server/server/plugins/engine/components/Markdown.d.ts +1 -1
  34. package/.server/server/plugins/engine/components/MonthYearField.d.ts +11 -11
  35. package/.server/server/plugins/engine/components/MultilineTextField.d.ts +5 -5
  36. package/.server/server/plugins/engine/components/NationalGridFieldNumberField.d.ts +1 -1
  37. package/.server/server/plugins/engine/components/NumberField.d.ts +3 -3
  38. package/.server/server/plugins/engine/components/OsGridRefField.d.ts +1 -1
  39. package/.server/server/plugins/engine/components/PaymentField.d.ts +12 -12
  40. package/.server/server/plugins/engine/components/RadiosField.d.ts +1 -1
  41. package/.server/server/plugins/engine/components/SelectField.d.ts +4 -4
  42. package/.server/server/plugins/engine/components/SelectionControlField.d.ts +10 -10
  43. package/.server/server/plugins/engine/components/TelephoneNumberField.d.ts +4 -4
  44. package/.server/server/plugins/engine/components/TextField.d.ts +2 -2
  45. package/.server/server/plugins/engine/components/UkAddressField.d.ts +11 -11
  46. package/.server/server/plugins/engine/components/YesNoField.d.ts +2 -2
  47. package/.server/server/plugins/engine/components/helpers/__stubs__/geospatial.d.ts +1 -1
  48. package/.server/server/plugins/engine/components/helpers/components.d.ts +5 -5
  49. package/.server/server/plugins/engine/components/helpers/geospatial.d.ts +1 -1
  50. package/.server/server/plugins/engine/components/index.d.ts +27 -27
  51. package/.server/server/plugins/engine/components/types.d.ts +1 -1
  52. package/.server/server/plugins/engine/configureEnginePlugin.d.ts +4 -4
  53. package/.server/server/plugins/engine/date-helper.d.ts +1 -1
  54. package/.server/server/plugins/engine/helpers.d.ts +8 -8
  55. package/.server/server/plugins/engine/index.d.ts +5 -5
  56. package/.server/server/plugins/engine/models/FormModel.d.ts +6 -6
  57. package/.server/server/plugins/engine/models/SummaryViewModel.d.ts +6 -6
  58. package/.server/server/plugins/engine/models/index.d.ts +2 -2
  59. package/.server/server/plugins/engine/models/types.d.ts +4 -4
  60. package/.server/server/plugins/engine/options.d.ts +1 -1
  61. package/.server/server/plugins/engine/options.js +1 -1
  62. package/.server/server/plugins/engine/options.test.js +1 -1
  63. package/.server/server/plugins/engine/outputFormatters/adapter/v1.d.ts +4 -4
  64. package/.server/server/plugins/engine/outputFormatters/human/v1.d.ts +4 -4
  65. package/.server/server/plugins/engine/outputFormatters/index.d.ts +5 -5
  66. package/.server/server/plugins/engine/outputFormatters/machine/v1.d.ts +4 -4
  67. package/.server/server/plugins/engine/outputFormatters/machine/v2.d.ts +4 -4
  68. package/.server/server/plugins/engine/pageControllers/FileUploadPageController.d.ts +8 -8
  69. package/.server/server/plugins/engine/pageControllers/PageController.d.ts +6 -6
  70. package/.server/server/plugins/engine/pageControllers/QuestionPageController.d.ts +8 -8
  71. package/.server/server/plugins/engine/pageControllers/RepeatPageController.d.ts +5 -5
  72. package/.server/server/plugins/engine/pageControllers/StartPageController.d.ts +4 -4
  73. package/.server/server/plugins/engine/pageControllers/StatusPageController.d.ts +4 -4
  74. package/.server/server/plugins/engine/pageControllers/SummaryPageController.d.ts +5 -5
  75. package/.server/server/plugins/engine/pageControllers/TerminalPageController.d.ts +3 -3
  76. package/.server/server/plugins/engine/pageControllers/__stubs__/request.d.ts +2 -2
  77. package/.server/server/plugins/engine/pageControllers/errors.d.ts +1 -1
  78. package/.server/server/plugins/engine/pageControllers/helpers/pages.d.ts +2 -2
  79. package/.server/server/plugins/engine/pageControllers/helpers/state.d.ts +5 -5
  80. package/.server/server/plugins/engine/pageControllers/helpers/state.js +1 -1
  81. package/.server/server/plugins/engine/pageControllers/helpers/state.js.map +1 -1
  82. package/.server/server/plugins/engine/pageControllers/helpers/submission.d.ts +1 -1
  83. package/.server/server/plugins/engine/pageControllers/index.d.ts +7 -7
  84. package/.server/server/plugins/engine/plugin.d.ts +1 -1
  85. package/.server/server/plugins/engine/routes/file-upload.d.ts +1 -1
  86. package/.server/server/plugins/engine/routes/index.d.ts +3 -3
  87. package/.server/server/plugins/engine/routes/payment-helper.d.ts +3 -3
  88. package/.server/server/plugins/engine/routes/payment-helper.js +2 -2
  89. package/.server/server/plugins/engine/routes/payment.js +5 -5
  90. package/.server/server/plugins/engine/routes/payment.test.js +1 -1
  91. package/.server/server/plugins/engine/routes/questions.d.ts +2 -2
  92. package/.server/server/plugins/engine/routes/repeaters/item-delete.d.ts +2 -2
  93. package/.server/server/plugins/engine/routes/repeaters/summary.d.ts +2 -2
  94. package/.server/server/plugins/engine/services/index.d.ts +3 -3
  95. package/.server/server/plugins/engine/services/notifyService.d.ts +4 -4
  96. package/.server/server/plugins/engine/services/uploadService.d.ts +2 -2
  97. package/.server/server/plugins/engine/services/uploadService.js +1 -1
  98. package/.server/server/plugins/engine/types/index.d.ts +10 -10
  99. package/.server/server/plugins/engine/types/schema.d.ts +1 -1
  100. package/.server/server/plugins/engine/types.d.ts +25 -16
  101. package/.server/server/plugins/engine/types.js.map +1 -1
  102. package/.server/server/plugins/engine/validationHelpers.d.ts +2 -2
  103. package/.server/server/plugins/engine/vision.d.ts +1 -1
  104. package/.server/server/plugins/map/index.d.ts +1 -1
  105. package/.server/server/plugins/map/index.js +1 -1
  106. package/.server/server/plugins/map/routes/get-os-token.d.ts +11 -1
  107. package/.server/server/plugins/map/routes/get-os-token.js +12 -2
  108. package/.server/server/plugins/map/routes/get-os-token.js.map +1 -1
  109. package/.server/server/plugins/map/routes/index.d.ts +4 -4
  110. package/.server/server/plugins/map/routes/index.js +3 -2
  111. package/.server/server/plugins/map/routes/index.js.map +1 -1
  112. package/.server/server/plugins/map/service.d.ts +1 -1
  113. package/.server/server/plugins/map/service.js +5 -2
  114. package/.server/server/plugins/map/service.js.map +1 -1
  115. package/.server/server/plugins/map/test/__stubs__/find.d.ts +1 -1
  116. package/.server/server/plugins/map/test/__stubs__/find.js +1 -1
  117. package/.server/server/plugins/nunjucks/context.d.ts +2 -2
  118. package/.server/server/plugins/nunjucks/context.js +2 -2
  119. package/.server/server/plugins/nunjucks/context.test.js +1 -1
  120. package/.server/server/plugins/nunjucks/enviroment.test.js +1 -1
  121. package/.server/server/plugins/nunjucks/environment.d.ts +3 -3
  122. package/.server/server/plugins/nunjucks/environment.js +3 -3
  123. package/.server/server/plugins/nunjucks/filters/answer.d.ts +1 -1
  124. package/.server/server/plugins/nunjucks/filters/answer.js +2 -2
  125. package/.server/server/plugins/nunjucks/filters/answer.test.js +1 -1
  126. package/.server/server/plugins/nunjucks/filters/evaluate.d.ts +1 -1
  127. package/.server/server/plugins/nunjucks/filters/evaluate.js +1 -1
  128. package/.server/server/plugins/nunjucks/filters/field.d.ts +1 -1
  129. package/.server/server/plugins/nunjucks/filters/field.js +1 -1
  130. package/.server/server/plugins/nunjucks/filters/field.test.js +1 -1
  131. package/.server/server/plugins/nunjucks/filters/href.d.ts +1 -1
  132. package/.server/server/plugins/nunjucks/filters/href.js +1 -1
  133. package/.server/server/plugins/nunjucks/filters/href.test.js +1 -1
  134. package/.server/server/plugins/nunjucks/filters/index.d.ts +8 -8
  135. package/.server/server/plugins/nunjucks/filters/page.d.ts +1 -1
  136. package/.server/server/plugins/nunjucks/filters/page.js +1 -1
  137. package/.server/server/plugins/nunjucks/filters/page.test.js +1 -1
  138. package/.server/server/plugins/nunjucks/index.d.ts +3 -3
  139. package/.server/server/plugins/nunjucks/render.d.ts +2 -2
  140. package/.server/server/plugins/nunjucks/render.js +1 -1
  141. package/.server/server/plugins/nunjucks/types.d.ts +1 -1
  142. package/.server/server/plugins/nunjucks/types.js +1 -1
  143. package/.server/server/plugins/payment/helper.d.ts +2 -2
  144. package/.server/server/plugins/payment/helper.js +1 -1
  145. package/.server/server/plugins/payment/service.d.ts +3 -3
  146. package/.server/server/plugins/payment/service.js +1 -1
  147. package/.server/server/plugins/postcode-lookup/index.d.ts +1 -1
  148. package/.server/server/plugins/postcode-lookup/index.js +1 -1
  149. package/.server/server/plugins/postcode-lookup/models/index.d.ts +6 -6
  150. package/.server/server/plugins/postcode-lookup/models/index.js +1 -1
  151. package/.server/server/plugins/postcode-lookup/routes/index.d.ts +6 -6
  152. package/.server/server/plugins/postcode-lookup/routes/index.js +15 -15
  153. package/.server/server/plugins/postcode-lookup/routes/index.js.map +1 -1
  154. package/.server/server/plugins/postcode-lookup/service.d.ts +1 -1
  155. package/.server/server/plugins/postcode-lookup/service.js +5 -2
  156. package/.server/server/plugins/postcode-lookup/service.js.map +1 -1
  157. package/.server/server/plugins/postcode-lookup/types.js +1 -1
  158. package/.server/server/routes/index.d.ts +2 -2
  159. package/.server/server/routes/types.d.ts +1 -1
  160. package/.server/server/schemas/index.d.ts +2 -2
  161. package/.server/server/services/cacheService.d.ts +8 -8
  162. package/.server/server/services/cacheService.js +2 -5
  163. package/.server/server/services/cacheService.js.map +1 -1
  164. package/.server/server/services/httpService.test.js +1 -1
  165. package/.server/server/services/index.d.ts +1 -1
  166. package/.server/server/types.d.ts +7 -7
  167. package/.server/server/utils/file-form-service.d.ts +2 -2
  168. package/.server/server/utils/file-form-service.js +1 -1
  169. package/package.json +8 -4
  170. package/src/client/javascripts/application.js +1 -1
  171. package/src/client/javascripts/geospatial-map.js +4 -4
  172. package/src/client/javascripts/location-map.js +2 -2
  173. package/src/client/javascripts/map.js +3 -3
  174. package/src/client/javascripts/shared.js +7 -7
  175. package/src/index.ts +3 -3
  176. package/src/server/common/helpers/logging/logger-options.ts +1 -1
  177. package/src/server/common/helpers/logging/logger.ts +1 -1
  178. package/src/server/common/helpers/logging/request-logger.ts +1 -1
  179. package/src/server/common/helpers/logging/request-tracing.js +1 -1
  180. package/src/server/common/helpers/redis-client.js +2 -2
  181. package/src/server/index.ts +13 -13
  182. package/src/server/plugins/crumb.ts +2 -2
  183. package/src/server/plugins/engine/beta/form-context.ts +9 -9
  184. package/src/server/plugins/engine/components/AutocompleteField.ts +3 -3
  185. package/src/server/plugins/engine/components/CheckboxesField.ts +7 -8
  186. package/src/server/plugins/engine/components/ComponentBase.ts +5 -5
  187. package/src/server/plugins/engine/components/ComponentCollection.ts +9 -9
  188. package/src/server/plugins/engine/components/DatePartsField.ts +8 -8
  189. package/src/server/plugins/engine/components/DeclarationField.ts +3 -3
  190. package/src/server/plugins/engine/components/Details.ts +1 -1
  191. package/src/server/plugins/engine/components/EastingNorthingField.ts +9 -9
  192. package/src/server/plugins/engine/components/EmailAddressField.ts +3 -3
  193. package/src/server/plugins/engine/components/FileUploadField.ts +6 -6
  194. package/src/server/plugins/engine/components/FormComponent.ts +4 -4
  195. package/src/server/plugins/engine/components/GeospatialField.ts +5 -5
  196. package/src/server/plugins/engine/components/HiddenField.ts +4 -4
  197. package/src/server/plugins/engine/components/Html.ts +1 -1
  198. package/src/server/plugins/engine/components/InsetText.ts +1 -1
  199. package/src/server/plugins/engine/components/LatLongField.ts +9 -9
  200. package/src/server/plugins/engine/components/List.ts +2 -2
  201. package/src/server/plugins/engine/components/ListFormComponent.ts +4 -4
  202. package/src/server/plugins/engine/components/LocationFieldBase.ts +5 -5
  203. package/src/server/plugins/engine/components/LocationFieldHelpers.ts +5 -5
  204. package/src/server/plugins/engine/components/Markdown.ts +1 -1
  205. package/src/server/plugins/engine/components/MonthYearField.ts +8 -8
  206. package/src/server/plugins/engine/components/MultilineTextField.ts +4 -4
  207. package/src/server/plugins/engine/components/NationalGridFieldNumberField.ts +2 -2
  208. package/src/server/plugins/engine/components/NumberField.ts +3 -3
  209. package/src/server/plugins/engine/components/OsGridRefField.ts +2 -2
  210. package/src/server/plugins/engine/components/PaymentField.ts +8 -8
  211. package/src/server/plugins/engine/components/RadiosField.ts +1 -1
  212. package/src/server/plugins/engine/components/SelectField.ts +2 -2
  213. package/src/server/plugins/engine/components/SelectionControlField.ts +4 -4
  214. package/src/server/plugins/engine/components/TelephoneNumberField.ts +4 -4
  215. package/src/server/plugins/engine/components/TextField.ts +3 -3
  216. package/src/server/plugins/engine/components/UkAddressField.ts +7 -7
  217. package/src/server/plugins/engine/components/YesNoField.ts +5 -5
  218. package/src/server/plugins/engine/components/helpers/__stubs__/geospatial.ts +1 -1
  219. package/src/server/plugins/engine/components/helpers/components.ts +8 -8
  220. package/src/server/plugins/engine/components/helpers/geospatial.ts +1 -1
  221. package/src/server/plugins/engine/components/index.ts +27 -27
  222. package/src/server/plugins/engine/components/types.ts +1 -1
  223. package/src/server/plugins/engine/configureEnginePlugin.ts +10 -10
  224. package/src/server/plugins/engine/date-helper.ts +1 -1
  225. package/src/server/plugins/engine/helpers.ts +8 -8
  226. package/src/server/plugins/engine/index.ts +8 -8
  227. package/src/server/plugins/engine/models/FormModel.ts +15 -15
  228. package/src/server/plugins/engine/models/SummaryViewModel.ts +10 -10
  229. package/src/server/plugins/engine/models/index.ts +2 -2
  230. package/src/server/plugins/engine/models/types.ts +4 -4
  231. package/src/server/plugins/engine/options.js +3 -3
  232. package/src/server/plugins/engine/outputFormatters/adapter/v1.ts +6 -6
  233. package/src/server/plugins/engine/outputFormatters/human/v1.ts +9 -9
  234. package/src/server/plugins/engine/outputFormatters/index.ts +8 -8
  235. package/src/server/plugins/engine/outputFormatters/machine/v1.ts +7 -7
  236. package/src/server/plugins/engine/outputFormatters/machine/v2.ts +6 -6
  237. package/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +9 -9
  238. package/src/server/plugins/engine/pageControllers/PageController.ts +7 -7
  239. package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +13 -13
  240. package/src/server/plugins/engine/pageControllers/RepeatPageController.ts +6 -6
  241. package/src/server/plugins/engine/pageControllers/StartPageController.ts +3 -3
  242. package/src/server/plugins/engine/pageControllers/StatusPageController.ts +5 -5
  243. package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +12 -12
  244. package/src/server/plugins/engine/pageControllers/TerminalPageController.ts +3 -3
  245. package/src/server/plugins/engine/pageControllers/__stubs__/request.ts +3 -3
  246. package/src/server/plugins/engine/pageControllers/__stubs__/server.ts +2 -2
  247. package/src/server/plugins/engine/pageControllers/errors.ts +1 -1
  248. package/src/server/plugins/engine/pageControllers/helpers/pages.ts +2 -2
  249. package/src/server/plugins/engine/pageControllers/helpers/state.ts +9 -9
  250. package/src/server/plugins/engine/pageControllers/helpers/submission.ts +5 -5
  251. package/src/server/plugins/engine/pageControllers/index.ts +7 -7
  252. package/src/server/plugins/engine/pageControllers/validationOptions.ts +1 -1
  253. package/src/server/plugins/engine/plugin.ts +14 -14
  254. package/src/server/plugins/engine/routes/file-upload.ts +2 -2
  255. package/src/server/plugins/engine/routes/index.ts +10 -10
  256. package/src/server/plugins/engine/routes/payment-helper.js +4 -4
  257. package/src/server/plugins/engine/routes/payment.js +9 -9
  258. package/src/server/plugins/engine/routes/questions.ts +10 -10
  259. package/src/server/plugins/engine/routes/repeaters/item-delete.ts +6 -6
  260. package/src/server/plugins/engine/routes/repeaters/summary.ts +5 -5
  261. package/src/server/plugins/engine/services/formSubmissionService.js +2 -2
  262. package/src/server/plugins/engine/services/index.js +3 -3
  263. package/src/server/plugins/engine/services/localFormsService.js +2 -2
  264. package/src/server/plugins/engine/services/notifyService.ts +9 -9
  265. package/src/server/plugins/engine/services/uploadService.js +3 -3
  266. package/src/server/plugins/engine/types/index.ts +10 -10
  267. package/src/server/plugins/engine/types/schema.ts +2 -2
  268. package/src/server/plugins/engine/types.ts +22 -17
  269. package/src/server/plugins/engine/validationHelpers.ts +3 -3
  270. package/src/server/plugins/engine/vision.ts +3 -3
  271. package/src/server/plugins/map/index.js +2 -2
  272. package/src/server/plugins/map/routes/get-os-token.js +15 -3
  273. package/src/server/plugins/map/routes/index.js +7 -5
  274. package/src/server/plugins/map/service.js +7 -4
  275. package/src/server/plugins/map/test/__stubs__/find.js +1 -1
  276. package/src/server/plugins/nunjucks/context.js +5 -5
  277. package/src/server/plugins/nunjucks/environment.js +6 -6
  278. package/src/server/plugins/nunjucks/filters/answer.js +3 -3
  279. package/src/server/plugins/nunjucks/filters/evaluate.js +2 -2
  280. package/src/server/plugins/nunjucks/filters/field.js +1 -1
  281. package/src/server/plugins/nunjucks/filters/href.js +2 -2
  282. package/src/server/plugins/nunjucks/filters/index.js +8 -8
  283. package/src/server/plugins/nunjucks/filters/page.js +1 -1
  284. package/src/server/plugins/nunjucks/index.js +3 -3
  285. package/src/server/plugins/nunjucks/plugin.js +3 -3
  286. package/src/server/plugins/nunjucks/render.js +2 -2
  287. package/src/server/plugins/nunjucks/types.js +1 -1
  288. package/src/server/plugins/payment/helper.js +2 -2
  289. package/src/server/plugins/payment/service.js +4 -4
  290. package/src/server/plugins/postcode-lookup/index.js +2 -2
  291. package/src/server/plugins/postcode-lookup/models/index.js +3 -3
  292. package/src/server/plugins/postcode-lookup/routes/index.js +24 -14
  293. package/src/server/plugins/postcode-lookup/service.js +7 -4
  294. package/src/server/plugins/postcode-lookup/types.js +1 -1
  295. package/src/server/plugins/session.ts +1 -1
  296. package/src/server/routes/index.ts +2 -2
  297. package/src/server/routes/public.ts +1 -1
  298. package/src/server/routes/types.ts +1 -1
  299. package/src/server/schemas/index.ts +2 -2
  300. package/src/server/secure-context.js +1 -1
  301. package/src/server/services/cacheService.ts +13 -18
  302. package/src/server/services/httpService.ts +1 -1
  303. package/src/server/services/index.ts +1 -1
  304. package/src/server/types.ts +7 -7
  305. package/src/server/utils/notify.ts +2 -2
  306. package/src/server/utils/utils.js +1 -1
  307. package/src/typings/hapi/index.d.ts +4 -4
  308. package/src/typings/joi/index.d.ts +1 -1
  309. package/src/server/common/helpers/logging/logger-options.test.ts +0 -50
  310. package/src/server/index.test.ts +0 -644
  311. package/src/server/plugins/engine/beta/form-context.test.ts +0 -373
  312. package/src/server/plugins/engine/components/AutocompleteField.test.ts +0 -362
  313. package/src/server/plugins/engine/components/CheckboxesField.test.ts +0 -486
  314. package/src/server/plugins/engine/components/DatePartsField.test.ts +0 -927
  315. package/src/server/plugins/engine/components/DeclarationField.test.ts +0 -560
  316. package/src/server/plugins/engine/components/Details.test.ts +0 -49
  317. package/src/server/plugins/engine/components/EastingNorthingField.test.ts +0 -727
  318. package/src/server/plugins/engine/components/EmailAddressField.test.ts +0 -445
  319. package/src/server/plugins/engine/components/FileUploadField.test.ts +0 -1079
  320. package/src/server/plugins/engine/components/GeospatialField.test.ts +0 -380
  321. package/src/server/plugins/engine/components/HiddenField.test.ts +0 -188
  322. package/src/server/plugins/engine/components/Html.test.ts +0 -48
  323. package/src/server/plugins/engine/components/InsetText.test.ts +0 -48
  324. package/src/server/plugins/engine/components/LatLongField.test.ts +0 -898
  325. package/src/server/plugins/engine/components/List.test.ts +0 -79
  326. package/src/server/plugins/engine/components/LocationFieldBase.test.ts +0 -253
  327. package/src/server/plugins/engine/components/LocationFieldHelpers.test.ts +0 -743
  328. package/src/server/plugins/engine/components/Markdown.test.ts +0 -48
  329. package/src/server/plugins/engine/components/MonthYearField.test.ts +0 -617
  330. package/src/server/plugins/engine/components/MultilineTextField.test.ts +0 -647
  331. package/src/server/plugins/engine/components/NationalGridFieldNumberField.test.ts +0 -449
  332. package/src/server/plugins/engine/components/NumberField.test.ts +0 -723
  333. package/src/server/plugins/engine/components/OsGridRefField.test.ts +0 -460
  334. package/src/server/plugins/engine/components/PaymentField.test.ts +0 -745
  335. package/src/server/plugins/engine/components/RadiosField.test.ts +0 -297
  336. package/src/server/plugins/engine/components/SelectField.test.ts +0 -289
  337. package/src/server/plugins/engine/components/TelephoneNumberField.test.ts +0 -384
  338. package/src/server/plugins/engine/components/TextField.test.ts +0 -521
  339. package/src/server/plugins/engine/components/UkAddressField.test.ts +0 -806
  340. package/src/server/plugins/engine/components/YesNoField.test.ts +0 -256
  341. package/src/server/plugins/engine/components/helpers/components.test.ts +0 -399
  342. package/src/server/plugins/engine/components/helpers/geospatial.test.js +0 -55
  343. package/src/server/plugins/engine/components/helpers/helpers.test.ts +0 -219
  344. package/src/server/plugins/engine/date-helper.test.ts +0 -47
  345. package/src/server/plugins/engine/helpers.test.ts +0 -868
  346. package/src/server/plugins/engine/models/FormModel.test.ts +0 -725
  347. package/src/server/plugins/engine/models/SummaryViewModel.test.ts +0 -472
  348. package/src/server/plugins/engine/options.test.js +0 -63
  349. package/src/server/plugins/engine/outputFormatters/adapter/v1.location.test.ts +0 -356
  350. package/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts +0 -871
  351. package/src/server/plugins/engine/outputFormatters/human/v1.payment.test.ts +0 -147
  352. package/src/server/plugins/engine/outputFormatters/human/v1.test.ts +0 -145
  353. package/src/server/plugins/engine/outputFormatters/index.test.ts +0 -17
  354. package/src/server/plugins/engine/outputFormatters/machine/v1.test.ts +0 -268
  355. package/src/server/plugins/engine/outputFormatters/machine/v2.location.test.ts +0 -341
  356. package/src/server/plugins/engine/outputFormatters/machine/v2.payment.test.ts +0 -115
  357. package/src/server/plugins/engine/outputFormatters/machine/v2.test.ts +0 -311
  358. package/src/server/plugins/engine/pageControllers/FileUploadPageController.test.ts +0 -1372
  359. package/src/server/plugins/engine/pageControllers/PageController.test.ts +0 -246
  360. package/src/server/plugins/engine/pageControllers/QuestionPageController.test.ts +0 -1686
  361. package/src/server/plugins/engine/pageControllers/RepeatPageController.test.ts +0 -279
  362. package/src/server/plugins/engine/pageControllers/StartPageController.test.ts +0 -32
  363. package/src/server/plugins/engine/pageControllers/StatusPageController.test.ts +0 -32
  364. package/src/server/plugins/engine/pageControllers/SummaryPageController.test.ts +0 -89
  365. package/src/server/plugins/engine/pageControllers/TerminalController.test.ts +0 -37
  366. package/src/server/plugins/engine/pageControllers/errors.test.ts +0 -78
  367. package/src/server/plugins/engine/pageControllers/helpers/helpers.test.ts +0 -182
  368. package/src/server/plugins/engine/pageControllers/helpers/state.test.ts +0 -359
  369. package/src/server/plugins/engine/pageControllers/helpers/submission.test.ts +0 -373
  370. package/src/server/plugins/engine/referenceNumbers.test.ts +0 -74
  371. package/src/server/plugins/engine/routes/index.test.ts +0 -332
  372. package/src/server/plugins/engine/routes/payment-helper.test.js +0 -136
  373. package/src/server/plugins/engine/routes/payment.test.js +0 -180
  374. package/src/server/plugins/engine/routes/questions.test.ts +0 -502
  375. package/src/server/plugins/engine/routes/repeaters/item-delete.test.ts +0 -83
  376. package/src/server/plugins/engine/routes/repeaters/summary.test.ts +0 -75
  377. package/src/server/plugins/engine/services/formsService.test.js +0 -26
  378. package/src/server/plugins/engine/services/notifyService.test.ts +0 -310
  379. package/src/server/plugins/engine/types/schema.test.ts +0 -234
  380. package/src/server/plugins/engine/views/components/service-banner/template.test.js +0 -43
  381. package/src/server/plugins/engine/views/components/tag-env/template.test.js +0 -28
  382. package/src/server/plugins/engine/views/partials/preview-banner.test.js +0 -122
  383. package/src/server/plugins/map/routes/get-os-token.test.js +0 -55
  384. package/src/server/plugins/map/service.test.js +0 -144
  385. package/src/server/plugins/nunjucks/context.test.js +0 -109
  386. package/src/server/plugins/nunjucks/enviroment.test.js +0 -207
  387. package/src/server/plugins/nunjucks/filters/answer.test.js +0 -92
  388. package/src/server/plugins/nunjucks/filters/field.test.js +0 -75
  389. package/src/server/plugins/nunjucks/filters/href.test.js +0 -80
  390. package/src/server/plugins/nunjucks/filters/merge.test.js +0 -15
  391. package/src/server/plugins/nunjucks/filters/page.test.js +0 -65
  392. package/src/server/plugins/payment/helper.test.js +0 -29
  393. package/src/server/plugins/payment/service.test.js +0 -218
  394. package/src/server/plugins/postcode-lookup/service.test.js +0 -177
  395. package/src/server/postcode-lookup.test.ts +0 -64
  396. package/src/server/routes/dummy-api.test.ts +0 -97
  397. package/src/server/services/cacheService.test.ts +0 -308
  398. package/src/server/services/httpService.test.js +0 -491
  399. package/src/server/utils/file-form-service.test.js +0 -127
  400. package/src/server/utils/notify.test.ts +0 -37
  401. package/src/server/utils/secure-context/get-trust-store-certs.test.js +0 -19
  402. package/src/server/utils/utils.test.js +0 -69
@@ -1,380 +0,0 @@
1
- import {
2
- ComponentType,
3
- type GeospatialFieldComponent
4
- } from '@defra/forms-model'
5
-
6
- import { ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js'
7
- import { type GeospatialField } from '~/src/server/plugins/engine/components/GeospatialField.js'
8
- import {
9
- validSingleState,
10
- validState
11
- } from '~/src/server/plugins/engine/components/helpers/__stubs__/geospatial.js'
12
- import {
13
- getAnswer,
14
- type Field
15
- } from '~/src/server/plugins/engine/components/helpers/components.js'
16
- import { FormModel } from '~/src/server/plugins/engine/models/FormModel.js'
17
- import { type GeospatialState } from '~/src/server/plugins/engine/types.js'
18
- import definition from '~/test/form/definitions/blank.js'
19
- import { getFormData, getFormState } from '~/test/helpers/component-helpers.js'
20
-
21
- describe('GeospatialField', () => {
22
- let model: FormModel
23
-
24
- beforeEach(() => {
25
- model = new FormModel(definition, {
26
- basePath: 'test'
27
- })
28
- })
29
-
30
- describe('Defaults', () => {
31
- let def: GeospatialFieldComponent
32
- let collection: ComponentCollection
33
- let field: Field
34
-
35
- beforeEach(() => {
36
- def = {
37
- title: 'Example geospatial title',
38
- shortDescription: 'Example geospatial',
39
- name: 'myComponent',
40
- type: ComponentType.GeospatialField,
41
- options: {}
42
- } satisfies GeospatialFieldComponent
43
-
44
- collection = new ComponentCollection([def], { model })
45
- field = collection.fields[0]
46
- })
47
-
48
- describe('Schema', () => {
49
- it('uses component short description as label', () => {
50
- const { formSchema } = collection
51
- const { keys } = formSchema.describe()
52
-
53
- expect(keys).toHaveProperty(
54
- 'myComponent',
55
- expect.objectContaining({
56
- flags: expect.objectContaining({
57
- label: 'Example geospatial'
58
- })
59
- })
60
- )
61
- })
62
-
63
- it('uses component name as keys', () => {
64
- const { formSchema } = collection
65
- const { keys } = formSchema.describe()
66
-
67
- expect(field.keys).toEqual(['myComponent'])
68
- expect(field.collection).toBeUndefined()
69
-
70
- for (const key of field.keys) {
71
- expect(keys).toHaveProperty(key)
72
- }
73
- })
74
-
75
- it('is required by default', () => {
76
- const { formSchema } = collection
77
- const { keys } = formSchema.describe()
78
-
79
- expect(keys).toHaveProperty(
80
- 'myComponent',
81
- expect.objectContaining({
82
- flags: expect.objectContaining({
83
- presence: 'required'
84
- })
85
- })
86
- )
87
- })
88
-
89
- it('is optional when configured', () => {
90
- const collectionOptional = new ComponentCollection(
91
- [{ ...def, options: { required: false } }],
92
- { model }
93
- )
94
-
95
- const result = collectionOptional.validate(getFormData('[]'))
96
- expect(result.errors).toBeUndefined()
97
-
98
- const result2 = collectionOptional.validate(getFormData([]))
99
- expect(result2.errors).toBeUndefined()
100
- })
101
-
102
- it('accepts valid values', () => {
103
- const result1 = collection.validate(getFormData(validState))
104
-
105
- expect(result1.errors).toBeUndefined()
106
- })
107
-
108
- it('adds errors for empty value', () => {
109
- const result = collection.validate(getFormData(''))
110
-
111
- expect(result.errors).toEqual([
112
- expect.objectContaining({
113
- text: 'Select example geospatial'
114
- })
115
- ])
116
- })
117
-
118
- it('adds errors for empty value given no short description', () => {
119
- def = {
120
- title: 'Example geospatial title',
121
- name: 'myComponent',
122
- type: ComponentType.GeospatialField,
123
- options: {}
124
- } satisfies GeospatialFieldComponent
125
-
126
- collection = new ComponentCollection([def], { model })
127
- const result = collection.validate(getFormData(''))
128
-
129
- expect(result.errors).toEqual([
130
- expect.objectContaining({
131
- text: 'Select example geospatial title'
132
- })
133
- ])
134
- })
135
-
136
- it('adds errors for invalid values', () => {
137
- const result1 = collection.validate(getFormData(['invalid']))
138
- const result2 = collection.validate(
139
- // @ts-expect-error - Allow invalid param for test
140
- getFormData({ unknown: 'invalid' })
141
- )
142
-
143
- expect(result1.errors).toBeTruthy()
144
- expect(result2.errors).toBeTruthy()
145
- })
146
- })
147
-
148
- describe('State', () => {
149
- it('returns text from single feature state', () => {
150
- const state1 = getFormState(validSingleState)
151
- const state2 = getFormState(null)
152
-
153
- const answer1 = getAnswer(field, state1)
154
- const answer2 = getAnswer(field, state2)
155
-
156
- expect(answer1).toBe('Added 1 location')
157
- expect(answer2).toBe('')
158
- })
159
-
160
- it('returns text from multiple features state', () => {
161
- const state1 = getFormState(validState)
162
- const state2 = getFormState(null)
163
-
164
- const answer1 = getAnswer(field, state1)
165
- const answer2 = getAnswer(field, state2)
166
-
167
- expect(answer1).toBe('Added 4 locations')
168
- expect(answer2).toBe('')
169
- })
170
-
171
- it('returns payload from state', () => {
172
- const state1 = getFormState(validState)
173
- const state2 = getFormState(null)
174
-
175
- const payload1 = field.getFormDataFromState(state1)
176
- const payload2 = field.getFormDataFromState(state2)
177
-
178
- expect(payload1).toEqual(getFormData(validState))
179
- expect(payload2).toEqual(getFormData())
180
- })
181
-
182
- it('returns value from state', () => {
183
- const state1 = getFormState(validState)
184
- const state2 = getFormState(null)
185
-
186
- const value1 = field.getFormValueFromState(state1)
187
- const value2 = field.getFormValueFromState(state2)
188
-
189
- expect(value1).toBe(validState)
190
- expect(value2).toBeUndefined()
191
- })
192
-
193
- it('returns context for conditions and form submission', () => {
194
- const state1 = getFormState(validState)
195
- const state2 = getFormState(null)
196
-
197
- const value1 = field.getContextValueFromState(state1)
198
- const value2 = field.getContextValueFromState(state2)
199
-
200
- const { id: id1 } = validState[0]
201
- const { id: id2 } = validState[1]
202
- const { id: id3 } = validState[2]
203
- const { id: id4 } = validState[3]
204
-
205
- expect(value1).toEqual([id1, id2, id3, id4])
206
- expect(value2).toBeNull()
207
- })
208
-
209
- it('returns state from payload', () => {
210
- const payload1 = getFormData(validState)
211
- const payload2 = getFormData()
212
-
213
- const value1 = field.getStateFromValidForm(payload1)
214
- const value2 = field.getStateFromValidForm(payload2)
215
-
216
- expect(value1).toEqual(getFormState(validState))
217
- expect(value2).toEqual(getFormState(null))
218
- })
219
- })
220
-
221
- describe('View model', () => {
222
- it('sets Nunjucks component defaults', () => {
223
- const viewModel = field.getViewModel(getFormData('Geospatial'))
224
-
225
- expect(viewModel).toEqual(
226
- expect.objectContaining({
227
- label: { text: def.title },
228
- name: 'myComponent',
229
- id: 'myComponent',
230
- value: 'Geospatial'
231
- })
232
- )
233
- })
234
- })
235
-
236
- describe('AllPossibleErrors', () => {
237
- it('should return errors', () => {
238
- const errors = field.getAllPossibleErrors()
239
- expect(errors.baseErrors).not.toBeEmpty()
240
- expect(errors.advancedSettingsErrors).toBeEmpty()
241
- })
242
- })
243
- })
244
-
245
- describe('Validation', () => {
246
- describe.each([
247
- {
248
- description: 'Required',
249
- component: {
250
- title: 'Example geospatial field',
251
- name: 'myComponent',
252
- type: ComponentType.GeospatialField,
253
- options: {
254
- required: true
255
- }
256
- } satisfies GeospatialFieldComponent,
257
- assertions: [
258
- {
259
- input: getFormData([]),
260
- output: {
261
- value: getFormData([]),
262
- errors: [
263
- expect.objectContaining({
264
- text: 'Example geospatial field must contain at least 1 items'
265
- })
266
- ]
267
- }
268
- },
269
- {
270
- input: getFormData(),
271
- output: {
272
- value: getFormData(),
273
- errors: [
274
- expect.objectContaining({
275
- text: 'Select example geospatial field'
276
- })
277
- ]
278
- }
279
- },
280
- {
281
- input: getFormData(validSingleState),
282
- output: {
283
- value: getFormData(validSingleState)
284
- }
285
- },
286
- {
287
- input: getFormData(validState),
288
- output: {
289
- value: getFormData(validState)
290
- }
291
- }
292
- ]
293
- },
294
- {
295
- description: 'Optional',
296
- component: {
297
- title: 'Example geospatial field',
298
- name: 'myComponent',
299
- type: ComponentType.GeospatialField,
300
- options: {
301
- required: false
302
- }
303
- } satisfies GeospatialFieldComponent,
304
- assertions: [
305
- {
306
- input: getFormData([]),
307
- output: {
308
- value: getFormData([])
309
- }
310
- },
311
- {
312
- input: getFormData(),
313
- output: {
314
- value: getFormData(),
315
- errors: [
316
- expect.objectContaining({
317
- text: 'Select example geospatial field'
318
- })
319
- ]
320
- }
321
- }
322
- ]
323
- }
324
- ])('$description', ({ component: def, assertions }) => {
325
- let collection: ComponentCollection
326
-
327
- beforeEach(() => {
328
- collection = new ComponentCollection([def], { model })
329
- })
330
-
331
- it.each([...assertions])(
332
- 'validates custom example',
333
- ({ input, output }) => {
334
- const result = collection.validate(input)
335
- expect(result).toEqual(output)
336
- }
337
- )
338
- })
339
-
340
- it('getErrors formats description errors', () => {
341
- const component = {
342
- title: 'Example geospatial field',
343
- name: 'myComponent',
344
- type: ComponentType.GeospatialField,
345
- options: {
346
- required: true
347
- }
348
- } satisfies GeospatialFieldComponent
349
-
350
- const collection = new ComponentCollection([component], { model })
351
- const invalidSingleState: GeospatialState = [
352
- {
353
- type: 'Feature',
354
- properties: {
355
- coordinateGridReference: 'ST 00001',
356
- centroidGridReference: 'ST 00001',
357
- description: '' // Missing description should trigger error with href to description field and custom text
358
- },
359
- geometry: {
360
- coordinates: [-2.5723699109417737, 53.2380485215034],
361
- type: 'Point'
362
- },
363
- id: 'a'
364
- }
365
- ]
366
-
367
- const result = collection.validate(getFormData(invalidSingleState))
368
- const geospatialField = collection.components.at(0) as GeospatialField
369
-
370
- const errors = geospatialField.getErrors(result.errors)
371
- expect(errors).toEqual([
372
- expect.objectContaining({
373
- name: 'description',
374
- href: '#description_0',
375
- text: 'Enter description for location 1'
376
- })
377
- ])
378
- })
379
- })
380
- })
@@ -1,188 +0,0 @@
1
- import { ComponentType, type HiddenFieldComponent } from '@defra/forms-model'
2
-
3
- import { ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js'
4
- import {
5
- getAnswer,
6
- type Field
7
- } from '~/src/server/plugins/engine/components/helpers/components.js'
8
- import { FormModel } from '~/src/server/plugins/engine/models/FormModel.js'
9
- import definition from '~/test/form/definitions/blank.js'
10
- import { getFormData, getFormState } from '~/test/helpers/component-helpers.js'
11
-
12
- describe('HiddenField', () => {
13
- let model: FormModel
14
-
15
- beforeEach(() => {
16
- model = new FormModel(definition, {
17
- basePath: 'test'
18
- })
19
- })
20
-
21
- describe('Defaults', () => {
22
- let def: HiddenFieldComponent
23
- let collection: ComponentCollection
24
- let field: Field
25
-
26
- beforeEach(() => {
27
- def = {
28
- title: 'Hidden field',
29
- name: 'myComponent',
30
- type: ComponentType.HiddenField,
31
- options: {}
32
- } satisfies HiddenFieldComponent
33
-
34
- collection = new ComponentCollection([def], { model })
35
- field = collection.fields[0]
36
- })
37
-
38
- describe('Schema', () => {
39
- it('uses component title as label as default', () => {
40
- const { formSchema } = collection
41
- const { keys } = formSchema.describe()
42
-
43
- expect(keys).toHaveProperty(
44
- 'myComponent',
45
- expect.objectContaining({
46
- flags: expect.objectContaining({
47
- label: 'Hidden field'
48
- })
49
- })
50
- )
51
- })
52
-
53
- it('uses component name as keys', () => {
54
- const { formSchema } = collection
55
- const { keys } = formSchema.describe()
56
-
57
- expect(field.keys).toEqual(['myComponent'])
58
- expect(field.collection).toBeUndefined()
59
-
60
- for (const key of field.keys) {
61
- expect(keys).toHaveProperty(key)
62
- }
63
- })
64
-
65
- it('is required by default', () => {
66
- const { formSchema } = collection
67
- const { keys } = formSchema.describe()
68
-
69
- expect(keys).toHaveProperty(
70
- 'myComponent',
71
- expect.objectContaining({
72
- flags: expect.objectContaining({
73
- presence: 'required'
74
- })
75
- })
76
- )
77
- })
78
- it('accepts valid values', () => {
79
- const result1 = collection.validate(getFormData('Hidden value'))
80
- const result2 = collection.validate(getFormData('Hidden value 2'))
81
-
82
- expect(result1.errors).toBeUndefined()
83
- expect(result2.errors).toBeUndefined()
84
- })
85
-
86
- it('adds errors for empty value', () => {
87
- const result = collection.validate(getFormData(''))
88
-
89
- expect(result.errors).toEqual([
90
- expect.objectContaining({
91
- text: 'Enter hidden field'
92
- })
93
- ])
94
- })
95
-
96
- it('adds errors for invalid values', () => {
97
- const result1 = collection.validate(getFormData(['invalid']))
98
- const result2 = collection.validate(
99
- // @ts-expect-error - Allow invalid param for test
100
- getFormData({ unknown: 'invalid' })
101
- )
102
-
103
- expect(result1.errors).toBeTruthy()
104
- expect(result2.errors).toBeTruthy()
105
- })
106
- })
107
-
108
- describe('State', () => {
109
- it('returns text from state', () => {
110
- const state1 = getFormState('Hidden field')
111
- const state2 = getFormState(null)
112
-
113
- const answer1 = getAnswer(field, state1)
114
- const answer2 = getAnswer(field, state2)
115
-
116
- expect(answer1).toBe('Hidden field')
117
- expect(answer2).toBe('')
118
- })
119
-
120
- it('returns payload from state', () => {
121
- const state1 = getFormState('Hidden field')
122
- const state2 = getFormState(null)
123
-
124
- const payload1 = field.getFormDataFromState(state1)
125
- const payload2 = field.getFormDataFromState(state2)
126
-
127
- expect(payload1).toEqual(getFormData('Hidden field'))
128
- expect(payload2).toEqual(getFormData())
129
- })
130
-
131
- it('returns value from state', () => {
132
- const state1 = getFormState('Hidden field')
133
- const state2 = getFormState(null)
134
-
135
- const value1 = field.getFormValueFromState(state1)
136
- const value2 = field.getFormValueFromState(state2)
137
-
138
- expect(value1).toBe('Hidden field')
139
- expect(value2).toBeUndefined()
140
- })
141
-
142
- it('returns context for conditions and form submission', () => {
143
- const state1 = getFormState('Hidden field')
144
- const state2 = getFormState(null)
145
-
146
- const value1 = field.getContextValueFromState(state1)
147
- const value2 = field.getContextValueFromState(state2)
148
-
149
- expect(value1).toBe('Hidden field')
150
- expect(value2).toBeNull()
151
- })
152
-
153
- it('returns state from payload', () => {
154
- const payload1 = getFormData('Hidden field')
155
- const payload2 = getFormData()
156
-
157
- const value1 = field.getStateFromValidForm(payload1)
158
- const value2 = field.getStateFromValidForm(payload2)
159
-
160
- expect(value1).toEqual(getFormState('Hidden field'))
161
- expect(value2).toEqual(getFormState(null))
162
- })
163
- })
164
-
165
- describe('View model', () => {
166
- it('sets Nunjucks component defaults', () => {
167
- const viewModel = field.getViewModel(getFormData('Hidden field'))
168
-
169
- expect(viewModel).toEqual(
170
- expect.objectContaining({
171
- label: { text: def.title },
172
- name: 'myComponent',
173
- id: 'myComponent',
174
- value: 'Hidden field'
175
- })
176
- )
177
- })
178
- })
179
-
180
- describe('AllPossibleErrors', () => {
181
- it('should return errors', () => {
182
- const errors = field.getAllPossibleErrors()
183
- expect(errors.baseErrors).not.toBeEmpty()
184
- expect(errors.advancedSettingsErrors).toBeEmpty()
185
- })
186
- })
187
- })
188
- })
@@ -1,48 +0,0 @@
1
- import { ComponentType, type HtmlComponent } from '@defra/forms-model'
2
-
3
- import { ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js'
4
- import { type Guidance } from '~/src/server/plugins/engine/components/helpers/components.js'
5
- import { FormModel } from '~/src/server/plugins/engine/models/FormModel.js'
6
- import definition from '~/test/form/definitions/basic.js'
7
-
8
- describe('HTML', () => {
9
- let model: FormModel
10
-
11
- beforeEach(() => {
12
- model = new FormModel(definition, {
13
- basePath: 'test'
14
- })
15
- })
16
-
17
- describe('Defaults', () => {
18
- let def: HtmlComponent
19
- let collection: ComponentCollection
20
- let guidance: Guidance
21
-
22
- beforeEach(() => {
23
- def = {
24
- title: 'HTML guidance',
25
- name: 'myComponent',
26
- type: ComponentType.Html,
27
- content: '<p class="govuk-body">\nLorem ipsum dolor sit amet</p>',
28
- options: {}
29
- } satisfies HtmlComponent
30
-
31
- collection = new ComponentCollection([def], { model })
32
- guidance = collection.guidance[0]
33
- })
34
-
35
- describe('View model', () => {
36
- it('sets Nunjucks component defaults', () => {
37
- const viewModel = guidance.getViewModel()
38
-
39
- expect(viewModel).toEqual(
40
- expect.objectContaining({
41
- attributes: {},
42
- content: def.content
43
- })
44
- )
45
- })
46
- })
47
- })
48
- })
@@ -1,48 +0,0 @@
1
- import { ComponentType, type InsetTextComponent } from '@defra/forms-model'
2
-
3
- import { ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js'
4
- import { type Guidance } from '~/src/server/plugins/engine/components/helpers/components.js'
5
- import { FormModel } from '~/src/server/plugins/engine/models/FormModel.js'
6
- import definition from '~/test/form/definitions/basic.js'
7
-
8
- describe('InsetText', () => {
9
- let model: FormModel
10
-
11
- beforeEach(() => {
12
- model = new FormModel(definition, {
13
- basePath: 'test'
14
- })
15
- })
16
-
17
- describe('Defaults', () => {
18
- let def: InsetTextComponent
19
- let collection: ComponentCollection
20
- let guidance: Guidance
21
-
22
- beforeEach(() => {
23
- def = {
24
- title: 'Inset text guidance',
25
- name: 'myComponent',
26
- type: ComponentType.InsetText,
27
- content: 'Lorem ipsum dolor sit amet',
28
- options: {}
29
- } satisfies InsetTextComponent
30
-
31
- collection = new ComponentCollection([def], { model })
32
- guidance = collection.guidance[0]
33
- })
34
-
35
- describe('View model', () => {
36
- it('sets Nunjucks component defaults', () => {
37
- const viewModel = guidance.getViewModel()
38
-
39
- expect(viewModel).toEqual(
40
- expect.objectContaining({
41
- attributes: {},
42
- content: def.content
43
- })
44
- )
45
- })
46
- })
47
- })
48
- })