@defra/forms-engine-plugin 4.7.2-alpha → 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,560 +0,0 @@
1
- import {
2
- ComponentType,
3
- type DeclarationFieldComponent
4
- } from '@defra/forms-model'
5
-
6
- import { ComponentCollection } from '~/src/server/plugins/engine/components/ComponentCollection.js'
7
- import { DeclarationField } from '~/src/server/plugins/engine/components/DeclarationField.js'
8
- import {
9
- getAnswer,
10
- type Field
11
- } from '~/src/server/plugins/engine/components/helpers/components.js'
12
- import { FormModel } from '~/src/server/plugins/engine/models/FormModel.js'
13
- import definition from '~/test/form/definitions/blank.js'
14
- import declarationWithGuidance from '~/test/form/definitions/declaration-with-guidance.js'
15
- import declarationWithoutGuidance from '~/test/form/definitions/declaration-without-guidance.js'
16
- import { getFormData, getFormState } from '~/test/helpers/component-helpers.js'
17
-
18
- describe('DeclarationField', () => {
19
- let model: FormModel
20
-
21
- beforeEach(() => {
22
- model = new FormModel(definition, {
23
- basePath: 'test'
24
- })
25
- })
26
-
27
- describe('Defaults', () => {
28
- let def: DeclarationFieldComponent
29
- let collection: ComponentCollection
30
- let field: Field
31
-
32
- beforeEach(() => {
33
- def = {
34
- title: 'Example Declaration Component',
35
- name: 'myComponent',
36
- content: 'Lorem ipsum dolar sit amet',
37
- shortDescription: 'Terms and conditions',
38
- type: ComponentType.DeclarationField,
39
- options: {}
40
- } satisfies DeclarationFieldComponent
41
-
42
- collection = new ComponentCollection([def], { model })
43
- field = collection.fields[0]
44
- })
45
-
46
- describe('Schema', () => {
47
- it('uses component title as label as default', () => {
48
- const { formSchema } = collection
49
- const { keys } = formSchema.describe()
50
-
51
- expect(keys).toHaveProperty(
52
- 'myComponent',
53
- expect.objectContaining({
54
- flags: expect.objectContaining({
55
- label: 'Terms and conditions'
56
- })
57
- })
58
- )
59
- })
60
-
61
- it('uses component name as keys', () => {
62
- const { formSchema } = collection
63
- const { keys } = formSchema.describe()
64
-
65
- expect(field.keys).toEqual(['myComponent'])
66
- expect(field.collection).toBeUndefined()
67
-
68
- for (const key of field.keys) {
69
- expect(keys).toHaveProperty(key)
70
- }
71
- })
72
-
73
- it('is required by default', () => {
74
- const { formSchema } = collection
75
- const { keys } = formSchema.describe()
76
-
77
- expect(keys).toHaveProperty(
78
- 'myComponent',
79
- expect.objectContaining({
80
- items: expect.arrayContaining([
81
- expect.objectContaining({
82
- allow: ['true'],
83
- flags: expect.objectContaining({
84
- presence: 'required'
85
- })
86
- })
87
- ])
88
- })
89
- )
90
- })
91
-
92
- it('may have unchecked value in addition to true', () => {
93
- const { formSchema } = collection
94
- const { keys } = formSchema.describe()
95
-
96
- expect(keys).toHaveProperty(
97
- 'myComponent',
98
- expect.objectContaining({
99
- items: expect.arrayContaining([
100
- expect.objectContaining({
101
- allow: ['unchecked'],
102
- flags: expect.objectContaining({
103
- result: 'strip'
104
- })
105
- })
106
- ])
107
- })
108
- )
109
-
110
- expect(keys).toHaveProperty(
111
- 'myComponent',
112
- expect.objectContaining({
113
- items: expect.arrayContaining([
114
- expect.objectContaining({
115
- allow: ['unchecked']
116
- })
117
- ])
118
- })
119
- )
120
- })
121
-
122
- it('is optional when configured', () => {
123
- const collectionOptional = new ComponentCollection(
124
- [{ ...def, options: { required: false } }],
125
- { model }
126
- )
127
-
128
- const { formSchema } = collectionOptional
129
- const { keys } = formSchema.describe()
130
-
131
- expect(keys).toHaveProperty(
132
- 'myComponent',
133
- expect.objectContaining({
134
- items: expect.arrayContaining([
135
- expect.objectContaining({
136
- allow: ['true'],
137
- flags: expect.not.objectContaining({
138
- presence: 'required'
139
- })
140
- })
141
- ])
142
- })
143
- )
144
-
145
- const result = collectionOptional.validate(getFormData(['unchecked']))
146
- expect(result.errors).toBeUndefined()
147
- })
148
-
149
- it('accepts valid values', () => {
150
- const result1 = collection.validate(getFormData(['unchecked', 'true']))
151
-
152
- expect(result1.errors).toBeUndefined()
153
- })
154
-
155
- it('adds errors for empty value', () => {
156
- const result = collection.validate(getFormData(['unchecked']))
157
-
158
- expect(result.errors).toEqual([
159
- expect.objectContaining({
160
- text: 'You must confirm you understand and agree with the terms and conditions to continue'
161
- })
162
- ])
163
- })
164
-
165
- it('adds errors for invalid values', () => {
166
- const result1 = collection.validate(getFormData(['invalid']))
167
- const result2 = collection.validate(
168
- // @ts-expect-error - Allow invalid param for test
169
- getFormData({ unknown: 'invalid' })
170
- )
171
- // @ts-expect-error - Allow invalid param for test
172
- const result3 = collection.validate('false')
173
-
174
- expect(result1.errors).toBeTruthy()
175
- expect(result2.errors).toBeTruthy()
176
- expect(result3.errors).toBeTruthy()
177
- })
178
- })
179
-
180
- describe('State', () => {
181
- it('returns text from state', () => {
182
- const state1 = getFormState(true)
183
- const state2 = getFormState()
184
- // context - boolean
185
- // state - boolean
186
- // string - I confirm that I understand and accept this declaration
187
- const answer1 = getAnswer(field, state1)
188
- const answer2 = getAnswer(field, state2)
189
-
190
- expect(answer1).toBe('I understand and agree')
191
- expect(answer2).toBe('Not provided')
192
- })
193
-
194
- it('returns payload from state', () => {
195
- const state1 = getFormState(true)
196
- const state2 = getFormState(null)
197
-
198
- const payload1 = field.getFormDataFromState(state1)
199
- const payload2 = field.getFormDataFromState(state2)
200
-
201
- expect(payload1).toEqual(getFormData('true'))
202
- expect(payload2).toEqual(getFormData('false'))
203
- })
204
-
205
- it('returns value from state', () => {
206
- const state1 = getFormState(true)
207
- const state2 = getFormState(null)
208
-
209
- const value1 = field.getFormValueFromState(state1)
210
- const value2 = field.getFormValueFromState(state2)
211
-
212
- expect(value1).toBe('true')
213
- expect(value2).toBe('false')
214
- })
215
-
216
- it('returns context for conditions and form submission', () => {
217
- const state1 = getFormState(true)
218
- const state2 = getFormState(null)
219
-
220
- const value1 = field.getContextValueFromState(state1)
221
- const value2 = field.getContextValueFromState(state2)
222
-
223
- expect(value1).toBe(true)
224
- expect(value2).toBe(false)
225
- })
226
-
227
- it('returns state from payload', () => {
228
- const payload1 = getFormData(['true'])
229
- const payload2 = getFormData([])
230
- const payload3 = getFormData(['unchecked'])
231
-
232
- const value1 = field.getStateFromValidForm(payload1)
233
- const value2 = field.getStateFromValidForm(payload2)
234
- const value3 = field.getStateFromValidForm(payload3)
235
-
236
- expect(value1).toEqual(getFormState(true))
237
- expect(value2).toEqual(getFormState(false))
238
- expect(value3).toEqual(getFormState(false))
239
- })
240
- })
241
-
242
- describe('View model', () => {
243
- it('sets Nunjucks component defaults', () => {
244
- const viewModel = field.getViewModel(getFormData(undefined))
245
-
246
- expect(viewModel).toEqual(
247
- expect.objectContaining({
248
- label: { text: def.title },
249
- name: 'myComponent',
250
- attributes: {},
251
- content: 'Lorem ipsum dolar sit amet',
252
- id: 'myComponent',
253
- fieldset: {
254
- legend: {
255
- text: 'Example Declaration Component',
256
- classes: 'govuk-fieldset__legend--m'
257
- }
258
- },
259
- items: [
260
- {
261
- value: 'true',
262
- text: 'I understand and agree',
263
- checked: false
264
- }
265
- ]
266
- })
267
- )
268
- })
269
-
270
- it('sets Nunjucks component to false when not checked', () => {
271
- def = {
272
- ...def,
273
- hint: 'Please read and confirm the following'
274
- } satisfies DeclarationFieldComponent
275
-
276
- collection = new ComponentCollection([def], { model })
277
- field = collection.fields[0]
278
- const viewModel = field.getViewModel(getFormData('unchecked'))
279
-
280
- expect(viewModel).toEqual(
281
- expect.objectContaining({
282
- hint: {
283
- text: 'Please read and confirm the following'
284
- },
285
- items: [
286
- {
287
- value: 'true',
288
- text: 'I understand and agree',
289
- checked: false
290
- }
291
- ]
292
- })
293
- )
294
- })
295
-
296
- it('sets Nunjucks component to true when checked from save-anbd-exit', () => {
297
- def = {
298
- ...def,
299
- hint: 'Please read and confirm the following'
300
- } satisfies DeclarationFieldComponent
301
-
302
- collection = new ComponentCollection([def], { model })
303
- field = collection.fields[0]
304
- const viewModel = field.getViewModel(getFormData(['true', 'unchecked']))
305
-
306
- expect(viewModel).toEqual(
307
- expect.objectContaining({
308
- hint: {
309
- text: 'Please read and confirm the following'
310
- },
311
- items: [
312
- {
313
- value: 'true',
314
- text: 'I understand and agree',
315
- checked: true
316
- }
317
- ]
318
- })
319
- )
320
- })
321
-
322
- it('sets Nunjucks component to false when unchecked from save-anbd-exit', () => {
323
- def = {
324
- ...def,
325
- hint: 'Please read and confirm the following'
326
- } satisfies DeclarationFieldComponent
327
-
328
- collection = new ComponentCollection([def], { model })
329
- field = collection.fields[0]
330
- const viewModel = field.getViewModel(getFormData(['unchecked']))
331
-
332
- expect(viewModel).toEqual(
333
- expect.objectContaining({
334
- hint: {
335
- text: 'Please read and confirm the following'
336
- },
337
- items: [
338
- {
339
- value: 'true',
340
- text: 'I understand and agree',
341
- checked: false
342
- }
343
- ]
344
- })
345
- )
346
- })
347
-
348
- it('sets Nunjucks component value when posted', () => {
349
- def = {
350
- ...def,
351
- hint: 'Please read and confirm the following'
352
- } satisfies DeclarationFieldComponent
353
-
354
- collection = new ComponentCollection([def], { model })
355
- field = collection.fields[0]
356
- const viewModel = field.getViewModel(getFormData('true'))
357
-
358
- expect(viewModel).toEqual(
359
- expect.objectContaining({
360
- hint: {
361
- text: 'Please read and confirm the following'
362
- },
363
- items: [
364
- {
365
- value: 'true',
366
- text: 'I understand and agree',
367
- checked: true
368
- }
369
- ]
370
- })
371
- )
372
- })
373
-
374
- it('sets custom message when in def', () => {
375
- def = {
376
- ...def,
377
- title: 'Declaration',
378
- content:
379
- 'Declaration:\n' +
380
- 'By submitting this form, I consent to the collection and processing of my personal data for the purposes described.\n' +
381
- 'I understand that my data may be shared with authorised third parties where required by law',
382
- options: {
383
- declarationConfirmationLabel:
384
- 'I consent to the processing of my personal data'
385
- }
386
- } satisfies DeclarationFieldComponent
387
-
388
- collection = new ComponentCollection([def], { model })
389
- field = collection.fields[0]
390
-
391
- const viewModel = field.getViewModel(getFormData('true'))
392
-
393
- expect(viewModel).toEqual(
394
- expect.objectContaining({
395
- items: [
396
- {
397
- value: 'true',
398
- text: 'I consent to the processing of my personal data',
399
- checked: true
400
- }
401
- ]
402
- })
403
- )
404
- })
405
-
406
- it('sets checkbox as unchecked', () => {
407
- def = {
408
- ...def,
409
- hint: 'Please read and confirm the following'
410
- } satisfies DeclarationFieldComponent
411
-
412
- collection = new ComponentCollection([def], { model })
413
- field = collection.fields[0]
414
-
415
- const viewModel = field.getViewModel(getFormData(undefined))
416
-
417
- expect(viewModel).toEqual(
418
- expect.objectContaining({
419
- items: [
420
- {
421
- value: 'true',
422
- text: 'I understand and agree',
423
- checked: false
424
- }
425
- ]
426
- })
427
- )
428
- })
429
- })
430
-
431
- describe('AllPossibleErrors', () => {
432
- it('should return errors', () => {
433
- const errors = field.getAllPossibleErrors()
434
- expect(errors.baseErrors).not.toBeEmpty()
435
- expect(errors.advancedSettingsErrors).toBeEmpty()
436
- })
437
- })
438
-
439
- describe('getFormValue', () => {
440
- test('should return correct value', () => {
441
- expect(field.getFormValue(undefined)).toBeUndefined()
442
- expect(field.getFormValue([true])).toEqual([true])
443
- expect(field.getFormValue([])).toEqual([])
444
- expect(field.getFormValue({})).toBeUndefined()
445
- })
446
- })
447
- })
448
-
449
- describe('Validation', () => {
450
- describe.each([
451
- {
452
- description: 'Default',
453
- component: {
454
- title: 'Terms and conditions',
455
- shortDescription: 'The terms and conditions',
456
- content: 'Lorem ipsum dolar sit amet',
457
- name: 'myComponent',
458
- type: ComponentType.DeclarationField,
459
- options: {}
460
- } satisfies DeclarationFieldComponent,
461
- assertions: [
462
- {
463
- input: getFormData(['unchecked', 'true']),
464
- output: {
465
- value: {
466
- myComponent: ['true']
467
- },
468
- errors: undefined
469
- }
470
- }
471
- ]
472
- },
473
- {
474
- description: 'Use short description if it exists',
475
- component: {
476
- title: 'Terms and conditions',
477
- shortDescription: 'Terms and conditions',
478
- content: 'Lorem ipsum dolar sit amet',
479
- name: 'myComponent',
480
- type: ComponentType.DeclarationField,
481
- options: {}
482
- } satisfies DeclarationFieldComponent,
483
- assertions: [
484
- {
485
- input: getFormData(['unchecked']),
486
- output: {
487
- value: { myComponent: [] },
488
- errors: [
489
- expect.objectContaining({
490
- text: 'You must confirm you understand and agree with the terms and conditions to continue'
491
- })
492
- ]
493
- }
494
- }
495
- ]
496
- },
497
- {
498
- description: 'Optional field',
499
- component: {
500
- title: 'Example text field',
501
- name: 'myComponent',
502
- content: 'Lorem ipsum dolar sit amet',
503
- type: ComponentType.DeclarationField,
504
- options: {
505
- required: false
506
- }
507
- } satisfies DeclarationFieldComponent,
508
- assertions: [
509
- {
510
- input: getFormData(['unchecked']),
511
- output: { value: { myComponent: [] } }
512
- }
513
- ]
514
- }
515
- ])('$description', ({ component: def, assertions }) => {
516
- let collection: ComponentCollection
517
-
518
- beforeEach(() => {
519
- collection = new ComponentCollection([def], { model })
520
- })
521
-
522
- it.each([...assertions])(
523
- 'validates custom example',
524
- ({ input, output }) => {
525
- const result = collection.validate(input)
526
- expect(result).toEqual(output)
527
- }
528
- )
529
- })
530
- })
531
-
532
- describe('isBool', () => {
533
- test('should return correct boolean', () => {
534
- expect(DeclarationField.isBool('string')).toBe(false)
535
- expect(DeclarationField.isBool(true)).toBe(true)
536
- })
537
- })
538
-
539
- describe('Markdown header starting level', () => {
540
- test('should determine startHeadingLevel is 3 some guidance', () => {
541
- const modelDecl = new FormModel(declarationWithGuidance, {
542
- basePath: 'test'
543
- })
544
- const field = modelDecl.componentMap.get(
545
- 'declarationField'
546
- ) as DeclarationField
547
- expect(field.headerStartLevel).toBe(3)
548
- })
549
-
550
- test('should determine startHeadingLevel is 2 when no guidance', () => {
551
- const modelDecl = new FormModel(declarationWithoutGuidance, {
552
- basePath: 'test'
553
- })
554
- const field = modelDecl.componentMap.get(
555
- 'declarationField'
556
- ) as DeclarationField
557
- expect(field.headerStartLevel).toBe(2)
558
- })
559
- })
560
- })
@@ -1,49 +0,0 @@
1
- import { ComponentType, type DetailsComponent } 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('Details', () => {
9
- let model: FormModel
10
-
11
- beforeEach(() => {
12
- model = new FormModel(definition, {
13
- basePath: 'test'
14
- })
15
- })
16
-
17
- describe('Defaults', () => {
18
- let def: DetailsComponent
19
- let collection: ComponentCollection
20
- let guidance: Guidance
21
-
22
- beforeEach(() => {
23
- def = {
24
- title: 'Details guidance',
25
- name: 'myComponent',
26
- type: ComponentType.Details,
27
- content: 'Lorem ipsum dolor sit amet',
28
- options: {}
29
- } satisfies DetailsComponent
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
- html: def.content,
43
- summaryHtml: def.title
44
- })
45
- )
46
- })
47
- })
48
- })
49
- })