@unite-us/app-create-referral 0.15.59-alpha.3 → 0.15.59

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 (292) hide show
  1. package/.github/CODEOWNERS +3 -0
  2. package/.github/pull_request_template.md +25 -0
  3. package/.github/workflows/quality.yml +44 -0
  4. package/.github/workflows/semantic-release.yml +26 -0
  5. package/.nvmrc +1 -0
  6. package/babel.config.js +11 -0
  7. package/config-overrides.js +8 -0
  8. package/dist/AppReferrals.js +45 -45
  9. package/dist/AppReferrals.js.map +1 -1
  10. package/dist/AppReferrals.test.js +71 -34
  11. package/dist/AppReferrals.test.js.map +1 -1
  12. package/dist/__testUtils__/mockData/components/mockAppReferrals.js +12 -13
  13. package/dist/__testUtils__/mockData/components/mockAppReferrals.js.map +1 -1
  14. package/dist/__testUtils__/mockData/mockCases.js +1 -1
  15. package/dist/__testUtils__/mockData/mockCases.js.map +1 -1
  16. package/dist/__testUtils__/mockData/mockClinicalModifications.js +3 -3
  17. package/dist/__testUtils__/mockData/mockClinicalModifications.js.map +1 -1
  18. package/dist/__testUtils__/mockData/mockEmployees.js +1 -1
  19. package/dist/__testUtils__/mockData/mockEmployees.js.map +1 -1
  20. package/dist/__testUtils__/mockData/mockEnums.js +1 -1
  21. package/dist/__testUtils__/mockData/mockEnums.js.map +1 -1
  22. package/dist/__testUtils__/mockData/mockFeeSchedulePrograms.js +1 -1
  23. package/dist/__testUtils__/mockData/mockFeeSchedulePrograms.js.map +1 -1
  24. package/dist/__testUtils__/mockData/mockFiles.js +1 -1
  25. package/dist/__testUtils__/mockData/mockFiles.js.map +1 -1
  26. package/dist/__testUtils__/mockData/mockFormSubmissions.js +1 -1
  27. package/dist/__testUtils__/mockData/mockFormSubmissions.js.map +1 -1
  28. package/dist/__testUtils__/mockData/mockFormUsages.js +1 -1
  29. package/dist/__testUtils__/mockData/mockFormUsages.js.map +1 -1
  30. package/dist/__testUtils__/mockData/mockForms.js +1 -1
  31. package/dist/__testUtils__/mockData/mockForms.js.map +1 -1
  32. package/dist/__testUtils__/mockData/mockInsurances.js +1 -1
  33. package/dist/__testUtils__/mockData/mockInsurances.js.map +1 -1
  34. package/dist/__testUtils__/mockData/mockNetworks.js +1 -1
  35. package/dist/__testUtils__/mockData/mockNetworks.js.map +1 -1
  36. package/dist/__testUtils__/mockData/mockPeople.js +1 -1
  37. package/dist/__testUtils__/mockData/mockPeople.js.map +1 -1
  38. package/dist/__testUtils__/mockData/mockPrograms.js +31 -31
  39. package/dist/__testUtils__/mockData/mockPrograms.js.map +1 -1
  40. package/dist/__testUtils__/mockData/mockProviders.js +21 -21
  41. package/dist/__testUtils__/mockData/mockProviders.js.map +1 -1
  42. package/dist/__testUtils__/mockData/mockReferrals.js +1 -1
  43. package/dist/__testUtils__/mockData/mockReferrals.js.map +1 -1
  44. package/dist/__testUtils__/mockData/mockServiceAuthorizations.js +1 -1
  45. package/dist/__testUtils__/mockData/mockServiceAuthorizations.js.map +1 -1
  46. package/dist/__testUtils__/mockData/mockServices.js +1 -1
  47. package/dist/__testUtils__/mockData/mockServices.js.map +1 -1
  48. package/dist/__testUtils__/mockData/mockUnlistedPrograms.js +1 -1
  49. package/dist/__testUtils__/mockData/mockUnlistedPrograms.js.map +1 -1
  50. package/dist/__testUtils__/mockData/utils.js +282 -218
  51. package/dist/__testUtils__/mockData/utils.js.map +1 -1
  52. package/dist/__testUtils__/mockServer/handlers.js +82 -80
  53. package/dist/__testUtils__/mockServer/handlers.js.map +1 -1
  54. package/dist/__testUtils__/mockServer/server.js +13 -7
  55. package/dist/__testUtils__/mockServer/server.js.map +1 -1
  56. package/dist/__testUtils__/test-utils.js +18 -22
  57. package/dist/__testUtils__/test-utils.js.map +1 -1
  58. package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js +41 -10
  59. package/dist/actions/Document/Contact/Group/fetchCaseDocuments.js.map +1 -1
  60. package/dist/actions/Document/Contact/Group/fetchContactDocuments.js +41 -10
  61. package/dist/actions/Document/Contact/Group/fetchContactDocuments.js.map +1 -1
  62. package/dist/actions/Document/Contact/Group/fileUploadUtils.js +10 -8
  63. package/dist/actions/Document/Contact/Group/fileUploadUtils.js.map +1 -1
  64. package/dist/actions/Group/fetchCoreGroupForms.js +97 -46
  65. package/dist/actions/Group/fetchCoreGroupForms.js.map +1 -1
  66. package/dist/actions/Referral/cannotMoveToReferralReasons.js +21 -23
  67. package/dist/actions/Referral/cannotMoveToReferralReasons.js.map +1 -1
  68. package/dist/actions/Referral/fetchCoreServices.js +169 -70
  69. package/dist/actions/Referral/fetchCoreServices.js.map +1 -1
  70. package/dist/actions/Referral/fetchNetworks.js +44 -11
  71. package/dist/actions/Referral/fetchNetworks.js.map +1 -1
  72. package/dist/actions/Referral/fetchPrimaryWorkers.js +84 -51
  73. package/dist/actions/Referral/fetchPrimaryWorkers.js.map +1 -1
  74. package/dist/actions/Referral/removeReferralProgram.js +15 -10
  75. package/dist/actions/Referral/removeReferralProgram.js.map +1 -1
  76. package/dist/api/ApiHooks.js +39 -40
  77. package/dist/api/ApiHooks.js.map +1 -1
  78. package/dist/api/config.js +23 -20
  79. package/dist/api/config.js.map +1 -1
  80. package/dist/common/form/CurrencyField/index.js +21 -22
  81. package/dist/common/form/CurrencyField/index.js.map +1 -1
  82. package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js +48 -51
  83. package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js.map +1 -1
  84. package/dist/common/form/DocumentUploader/components/DocumentsListView.js +12 -14
  85. package/dist/common/form/DocumentUploader/components/DocumentsListView.js.map +1 -1
  86. package/dist/common/form/DocumentUploader/components/ListViewDocument.js +17 -21
  87. package/dist/common/form/DocumentUploader/components/ListViewDocument.js.map +1 -1
  88. package/dist/common/form/ErrorMessage/index.js +9 -17
  89. package/dist/common/form/ErrorMessage/index.js.map +1 -1
  90. package/dist/common/form/FileUploadV2/FileUpload.js +137 -159
  91. package/dist/common/form/FileUploadV2/FileUpload.js.map +1 -1
  92. package/dist/common/form/FileUploadV2/components/FilePreview.js +5 -8
  93. package/dist/common/form/FileUploadV2/components/FilePreview.js.map +1 -1
  94. package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js +21 -26
  95. package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js.map +1 -1
  96. package/dist/common/form/FormForm/index.js +194 -143
  97. package/dist/common/form/FormForm/index.js.map +1 -1
  98. package/dist/common/utils/utils.js +3 -3
  99. package/dist/common/utils/utils.js.map +1 -1
  100. package/dist/components/Card.js +8 -12
  101. package/dist/components/Card.js.map +1 -1
  102. package/dist/components/CreateReferralContainer.js +13 -21
  103. package/dist/components/CreateReferralContainer.js.map +1 -1
  104. package/dist/components/DollarAmount.js +14 -18
  105. package/dist/components/DollarAmount.js.map +1 -1
  106. package/dist/components/ExpandableButton.js +16 -21
  107. package/dist/components/ExpandableButton.js.map +1 -1
  108. package/dist/components/NavButtons.js +51 -57
  109. package/dist/components/NavButtons.js.map +1 -1
  110. package/dist/components/ReferralStepper.js +41 -44
  111. package/dist/components/ReferralStepper.js.map +1 -1
  112. package/dist/components/SearchableField.js +125 -121
  113. package/dist/components/SearchableField.js.map +1 -1
  114. package/dist/components/StepHeader.js +16 -25
  115. package/dist/components/StepHeader.js.map +1 -1
  116. package/dist/components/Stepper.js +51 -55
  117. package/dist/components/Stepper.js.map +1 -1
  118. package/dist/components/modal/Dialog.js +170 -141
  119. package/dist/components/modal/Dialog.js.map +1 -1
  120. package/dist/components/modal/Overlay.js +1 -2
  121. package/dist/components/modal/Overlay.js.map +1 -1
  122. package/dist/components/service_authorization/AuthorizationSpendCard.js +60 -72
  123. package/dist/components/service_authorization/AuthorizationSpendCard.js.map +1 -1
  124. package/dist/components/service_authorization/CapsInfo.js +120 -143
  125. package/dist/components/service_authorization/CapsInfo.js.map +1 -1
  126. package/dist/components/service_authorization/CaseStatus.js +14 -18
  127. package/dist/components/service_authorization/CaseStatus.js.map +1 -1
  128. package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js +96 -121
  129. package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js.map +1 -1
  130. package/dist/components/service_authorization/ReferralAuthSpendExpandable.js +43 -43
  131. package/dist/components/service_authorization/ReferralAuthSpendExpandable.js.map +1 -1
  132. package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js +65 -82
  133. package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js.map +1 -1
  134. package/dist/components/service_authorization/Spend.js +5 -10
  135. package/dist/components/service_authorization/Spend.js.map +1 -1
  136. package/dist/components/service_authorization/formatShortDate.js +6 -6
  137. package/dist/components/service_authorization/formatShortDate.js.map +1 -1
  138. package/dist/components/service_authorization/messageConstants.js +2 -2
  139. package/dist/components/service_authorization/messageConstants.js.map +1 -1
  140. package/dist/components/spinners/OverlaySpinner/OverlaySpinner.js +23 -34
  141. package/dist/components/spinners/OverlaySpinner/OverlaySpinner.js.map +1 -1
  142. package/dist/components/spinners/Spinner/Spinner.js +27 -33
  143. package/dist/components/spinners/Spinner/Spinner.js.map +1 -1
  144. package/dist/constants/enums.js +1 -1
  145. package/dist/constants/enums.js.map +1 -1
  146. package/dist/constants/eventConstants.js +48 -48
  147. package/dist/constants/eventConstants.js.map +1 -1
  148. package/dist/constants/findEnumDisplayName.js +3 -3
  149. package/dist/constants/findEnumDisplayName.js.map +1 -1
  150. package/dist/constants.js +6 -6
  151. package/dist/constants.js.map +1 -1
  152. package/dist/context/AppCreateReferralProvider.js +36 -25
  153. package/dist/context/AppCreateReferralProvider.js.map +1 -1
  154. package/dist/context/state.js +5 -2
  155. package/dist/context/state.js.map +1 -1
  156. package/dist/context/withAppCreateReferralContext.js +5 -9
  157. package/dist/context/withAppCreateReferralContext.js.map +1 -1
  158. package/dist/hooks/__tests__/useCreateReferrals.test.js +560 -456
  159. package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
  160. package/dist/hooks/sendReferral.js +339 -155
  161. package/dist/hooks/sendReferral.js.map +1 -1
  162. package/dist/hooks/useClinicalModificationOptions.js +34 -24
  163. package/dist/hooks/useClinicalModificationOptions.js.map +1 -1
  164. package/dist/hooks/useCreateReferrals.js +722 -463
  165. package/dist/hooks/useCreateReferrals.js.map +1 -1
  166. package/dist/hooks/useCreateResourceList.js +76 -56
  167. package/dist/hooks/useCreateResourceList.js.map +1 -1
  168. package/dist/hooks/useCreateShareEvent.js +42 -18
  169. package/dist/hooks/useCreateShareEvent.js.map +1 -1
  170. package/dist/hooks/useForwardReferral.js +118 -78
  171. package/dist/hooks/useForwardReferral.js.map +1 -1
  172. package/dist/hooks/usePerson.js +49 -21
  173. package/dist/hooks/usePerson.js.map +1 -1
  174. package/dist/hooks/useUpdateResourceList.js +28 -34
  175. package/dist/hooks/useUpdateResourceList.js.map +1 -1
  176. package/dist/pages/builder/AboutGroupedReferralsModal.js +27 -48
  177. package/dist/pages/builder/AboutGroupedReferralsModal.js.map +1 -1
  178. package/dist/pages/builder/AuthorizationSubform.js +131 -143
  179. package/dist/pages/builder/AuthorizationSubform.js.map +1 -1
  180. package/dist/pages/builder/ChooseOneServiceTypeModal.js +53 -56
  181. package/dist/pages/builder/ChooseOneServiceTypeModal.js.map +1 -1
  182. package/dist/pages/builder/DetailsDrawer.js +72 -74
  183. package/dist/pages/builder/DetailsDrawer.js.map +1 -1
  184. package/dist/pages/builder/LineItem.js +25 -28
  185. package/dist/pages/builder/LineItem.js.map +1 -1
  186. package/dist/pages/builder/NoReferralsDisplay.js +29 -41
  187. package/dist/pages/builder/NoReferralsDisplay.js.map +1 -1
  188. package/dist/pages/builder/ProgramHeader.js +20 -33
  189. package/dist/pages/builder/ProgramHeader.js.map +1 -1
  190. package/dist/pages/builder/ProgramMenu.js +18 -19
  191. package/dist/pages/builder/ProgramMenu.js.map +1 -1
  192. package/dist/pages/builder/ReferralBuilder.js +443 -341
  193. package/dist/pages/builder/ReferralBuilder.js.map +1 -1
  194. package/dist/pages/builder/ReferralBuilderForm.js +392 -323
  195. package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
  196. package/dist/pages/builder/ReferralCard.js +99 -125
  197. package/dist/pages/builder/ReferralCard.js.map +1 -1
  198. package/dist/pages/builder/ReferralProgramCard.js +160 -109
  199. package/dist/pages/builder/ReferralProgramCard.js.map +1 -1
  200. package/dist/pages/builder/ReferralProgramMenu.js +116 -102
  201. package/dist/pages/builder/ReferralProgramMenu.js.map +1 -1
  202. package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js +246 -99
  203. package/dist/pages/builder/__tests__/AuthRequiredClinicalCodes.test.js.map +1 -1
  204. package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js +86 -48
  205. package/dist/pages/builder/__tests__/AuthRequiredNonFundedPrograms.test.js.map +1 -1
  206. package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +133 -74
  207. package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
  208. package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js +1269 -674
  209. package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js.map +1 -1
  210. package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js +575 -305
  211. package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js.map +1 -1
  212. package/dist/pages/builder/__tests__/ReferralBuilder.test.js +45 -14
  213. package/dist/pages/builder/__tests__/ReferralBuilder.test.js.map +1 -1
  214. package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js +815 -407
  215. package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js.map +1 -1
  216. package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js +254 -139
  217. package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js.map +1 -1
  218. package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js +518 -262
  219. package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js.map +1 -1
  220. package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js +504 -273
  221. package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js.map +1 -1
  222. package/dist/pages/builder/buildDraftState.js +21 -21
  223. package/dist/pages/builder/buildDraftState.js.map +1 -1
  224. package/dist/pages/builder/buildGroupedReferrals.js +113 -80
  225. package/dist/pages/builder/buildGroupedReferrals.js.map +1 -1
  226. package/dist/pages/builder/constants.js +12 -12
  227. package/dist/pages/builder/constants.js.map +1 -1
  228. package/dist/pages/builder/formatProgramDetail.js +180 -152
  229. package/dist/pages/builder/formatProgramDetail.js.map +1 -1
  230. package/dist/pages/builder/useBuildReferrals.js +163 -95
  231. package/dist/pages/builder/useBuildReferrals.js.map +1 -1
  232. package/dist/pages/builder/utils.js +133 -84
  233. package/dist/pages/builder/utils.js.map +1 -1
  234. package/dist/pages/review/DeleteReferralModal.js +31 -45
  235. package/dist/pages/review/DeleteReferralModal.js.map +1 -1
  236. package/dist/pages/review/DropdownMultiplesReferrals.js +92 -75
  237. package/dist/pages/review/DropdownMultiplesReferrals.js.map +1 -1
  238. package/dist/pages/review/ReferralsSent.js +239 -200
  239. package/dist/pages/review/ReferralsSent.js.map +1 -1
  240. package/dist/pages/review/Review.js +554 -451
  241. package/dist/pages/review/Review.js.map +1 -1
  242. package/dist/pages/review/__tests__/CallbackNotifications.test.js +66 -46
  243. package/dist/pages/review/__tests__/CallbackNotifications.test.js.map +1 -1
  244. package/dist/pages/review/__tests__/ReferralsSent.test.js +349 -189
  245. package/dist/pages/review/__tests__/ReferralsSent.test.js.map +1 -1
  246. package/dist/pages/review/__tests__/Review.test.js +599 -380
  247. package/dist/pages/review/__tests__/Review.test.js.map +1 -1
  248. package/dist/pages/review/__tests__/data.js +5 -5
  249. package/dist/pages/review/__tests__/data.js.map +1 -1
  250. package/dist/pages/review/constants.js +5 -5
  251. package/dist/pages/review/constants.js.map +1 -1
  252. package/dist/pages/supporting-info/SupportingInfo.js +168 -123
  253. package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
  254. package/dist/pages/supporting-info/__tests__/SupportingInfo.test.js +164 -85
  255. package/dist/pages/supporting-info/__tests__/SupportingInfo.test.js.map +1 -1
  256. package/dist/pages/supporting-info/__tests__/data.js +1 -1
  257. package/dist/pages/supporting-info/__tests__/data.js.map +1 -1
  258. package/dist/reportWebVitals.js +7 -9
  259. package/dist/reportWebVitals.js.map +1 -1
  260. package/dist/setupTests.js +30 -8
  261. package/dist/setupTests.js.map +1 -1
  262. package/dist/utils/__tests__/canChangeHoldReason.test.js +23 -23
  263. package/dist/utils/__tests__/canChangeHoldReason.test.js.map +1 -1
  264. package/dist/utils/__tests__/checkRoles.test.js +10 -10
  265. package/dist/utils/__tests__/checkRoles.test.js.map +1 -1
  266. package/dist/utils/canAccept.js +9 -14
  267. package/dist/utils/canAccept.js.map +1 -1
  268. package/dist/utils/canChangeHoldReason.js +11 -16
  269. package/dist/utils/canChangeHoldReason.js.map +1 -1
  270. package/dist/utils/canHoldForReview.js +8 -13
  271. package/dist/utils/canHoldForReview.js.map +1 -1
  272. package/dist/utils/canReject.js +14 -21
  273. package/dist/utils/canReject.js.map +1 -1
  274. package/dist/utils/checkRoles.js +10 -10
  275. package/dist/utils/checkRoles.js.map +1 -1
  276. package/dist/utils/getProgramServicesPayload.js +20 -20
  277. package/dist/utils/getProgramServicesPayload.js.map +1 -1
  278. package/dist/utils/hasUserRole.js +8 -8
  279. package/dist/utils/hasUserRole.js.map +1 -1
  280. package/dist/utils/isReferralForwarded.js +2 -4
  281. package/dist/utils/isReferralForwarded.js.map +1 -1
  282. package/dist/utils/referralToConsent.js +19 -14
  283. package/dist/utils/referralToConsent.js.map +1 -1
  284. package/dist/utils/useDebounce.js +18 -7
  285. package/dist/utils/useDebounce.js.map +1 -1
  286. package/dist/utils/useFeatureFlag.js +1 -1
  287. package/dist/utils/useFeatureFlag.js.map +1 -1
  288. package/dist/utils/validateCostAmount.js +4 -4
  289. package/dist/utils/validateCostAmount.js.map +1 -1
  290. package/dist/utils/validateUnitAmount.js +4 -4
  291. package/dist/utils/validateUnitAmount.js.map +1 -1
  292. package/package.json +35 -65
@@ -1,15 +1,31 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; var r = _regenerator(), e = r.m(_regeneratorRuntime), t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor; function n(r) { var e = "function" == typeof r && r.constructor; return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name)); } var o = { throw: 1, return: 2, break: 3, continue: 3 }; function a(r) { var e, t; return function (n) { e || (e = { stop: function stop() { return t(n.a, 2); }, catch: function _catch() { return n.v; }, abrupt: function abrupt(r, e) { return t(n.a, o[r], e); }, delegateYield: function delegateYield(r, o, a) { return e.resultName = o, t(n.d, _regeneratorValues(r), a); }, finish: function finish(r) { return t(n.f, r); } }, t = function t(r, _t, o) { n.p = e.prev, n.n = e.next; try { return r(_t, o); } finally { e.next = n.n; } }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n; try { return r.call(this, e); } finally { n.p = e.prev, n.n = e.next; } }; } return (_regeneratorRuntime = function _regeneratorRuntime() { return { wrap: function wrap(e, t, n, o) { return r.w(a(e), t, n, o && o.reverse()); }, isGeneratorFunction: n, mark: r.m, awrap: function awrap(r, e) { return new _OverloadYield(r, e); }, AsyncIterator: _regeneratorAsyncIterator, async: function async(r, e, t, o, u) { return (n(e) ? _regeneratorAsyncGen : _regeneratorAsync)(a(r), e, t, o, u); }, keys: _regeneratorKeys, values: _regeneratorValues }; })(); }
3
+ function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); }
4
+ function _regeneratorKeys(e) { var n = Object(e), r = []; for (var t in n) r.unshift(t); return function e() { for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e; return e.done = !0, e; }; }
5
+ function _regeneratorAsync(n, e, r, t, o) { var a = _regeneratorAsyncGen(n, e, r, t, o); return a.next().then(function (n) { return n.done ? n.value : a.next(); }); }
6
+ function _regeneratorAsyncGen(r, e, t, o, n) { return new _regeneratorAsyncIterator(_regenerator().w(r, e, t, o), n || Promise); }
7
+ function _regeneratorAsyncIterator(t, e) { function n(r, o, i, f) { try { var c = t[r](o), u = c.value; return u instanceof _OverloadYield ? e.resolve(u.v).then(function (t) { n("next", t, i, f); }, function (t) { n("throw", t, i, f); }) : e.resolve(u).then(function (t) { c.value = t, i(c); }, function (t) { return n("throw", t, i, f); }); } catch (t) { f(t); } } var r; this.next || (_regeneratorDefine2(_regeneratorAsyncIterator.prototype), _regeneratorDefine2(_regeneratorAsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function () { return this; })), _regeneratorDefine2(this, "_invoke", function (t, o, i) { function f() { return new e(function (e, r) { n(t, i, e, r); }); } return r = r ? r.then(f, f) : f(); }, !0); }
8
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (c = i[4] || 3, u = i[5] === e ? i[3] : i[5], i[4] = 3, i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
9
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
10
+ function _OverloadYield(e, d) { this.v = e, this.k = d; }
11
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
12
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
1
13
  import { renderHook, act } from '@testing-library/react-hooks';
2
14
  import useCreateReferrals from '../useCreateReferrals';
3
15
  import { useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';
4
16
  import { useCreateRecord, useUpdateRecord } from '../../api/ApiHooks';
5
- jest.mock('../../context/AppCreateReferralProvider', () => ({
6
- useAppCreateReferralContext: jest.fn()
7
- }));
8
- jest.mock('../../api/ApiHooks', () => ({
9
- useCreateRecord: jest.fn(),
10
- useUpdateRecord: jest.fn()
11
- }));
12
- const referrals = [{
17
+ jest.mock('../../context/AppCreateReferralProvider', function () {
18
+ return {
19
+ useAppCreateReferralContext: jest.fn()
20
+ };
21
+ });
22
+ jest.mock('../../api/ApiHooks', function () {
23
+ return {
24
+ useCreateRecord: jest.fn(),
25
+ useUpdateRecord: jest.fn()
26
+ };
27
+ });
28
+ var referrals = [{
13
29
  attachments: null,
14
30
  case: undefined,
15
31
  id: undefined,
@@ -40,457 +56,545 @@ const referrals = [{
40
56
  id: "primary-worker-id"
41
57
  }
42
58
  }];
43
- describe('useCreateReferrals', () => {
44
- it('should validate response structure no matters the result', async () => {
45
- useAppCreateReferralContext.mockReturnValue({
46
- state: {
47
- currentEmployee: {
48
- id: 'employee1'
49
- },
50
- formResponses: [],
51
- person: {
52
- id: 'person1'
53
- },
54
- referrals,
55
- formSubmissionId: null,
56
- assistanceRequestId: null,
57
- screeningId: null
58
- }
59
- });
60
- useCreateRecord.mockReturnValue({
61
- createRecord: jest.fn().mockResolvedValue({
62
- data: {
63
- data: {}
64
- }
65
- })
66
- });
67
- useUpdateRecord.mockReturnValue({
68
- updateRecord: jest.fn().mockResolvedValue({
69
- data: {
70
- data: {}
71
- }
72
- })
73
- });
74
- const {
75
- result
76
- } = renderHook(() => useCreateReferrals());
77
- await act(async () => {
78
- const createReferrals = result.current;
79
- const response = await createReferrals({
80
- referrals,
81
- person: {
82
- id: 'person1'
83
- },
84
- draft: false
85
- });
86
- expect(response).toHaveProperty('cases');
87
- expect(response).toHaveProperty('referrals');
88
- expect(response).toHaveProperty('shippingDetail');
89
- });
90
- });
91
- it('should create all referrals successfully', async () => {
92
- useAppCreateReferralContext.mockReturnValue({
93
- state: {
94
- currentEmployee: {
95
- id: 'employee1'
96
- },
97
- formResponses: [],
98
- person: {
99
- id: 'person1'
100
- },
101
- referrals,
102
- formSubmissionId: null,
103
- assistanceRequestId: null,
104
- screeningId: null
105
- }
106
- });
107
- useCreateRecord.mockReturnValue({
108
- createRecord: jest.fn().mockResolvedValue({
109
- data: {
110
- data: {}
111
- }
112
- })
113
- });
114
- useUpdateRecord.mockReturnValue({
115
- updateRecord: jest.fn().mockResolvedValue({
116
- data: {
117
- data: {}
118
- }
119
- })
120
- });
121
- const mockCreateCase = jest.fn().mockResolvedValue({
122
- data: {
123
- data: {
124
- id: 'case1',
125
- description: 'Test Case'
126
- }
127
- }
128
- });
129
- const mockCreateReferral = jest.fn().mockResolvedValue({
130
- data: {
131
- data: {
132
- id: 'referral1',
133
- state: 'sent'
134
- }
135
- }
136
- });
137
- useCreateRecord.mockImplementation(type => {
138
- if (type === 'case') {
139
- return {
140
- createRecord: mockCreateCase
141
- };
142
- } else if (type === 'referral') {
143
- return {
144
- createRecord: mockCreateReferral
145
- };
146
- }
147
- return {
148
- createRecord: jest.fn()
149
- };
150
- });
151
- const {
152
- result
153
- } = renderHook(() => useCreateReferrals());
154
- await act(async () => {
155
- const createReferrals = result.current;
156
- const response = await createReferrals({
157
- referrals,
158
- person: {
159
- id: 'person1'
160
- },
161
- draft: false
162
- });
163
- expect(response).toEqual({
164
- cases: [{
165
- id: 'case1',
166
- description: 'Test Case'
167
- }],
168
- referrals: [{
169
- id: 'referral1',
170
- state: 'sent'
171
- }],
172
- shippingDetail: [{
173
- index: 0,
174
- sent: true,
175
- error: null
176
- }],
177
- referralsToConsent: [{
178
- receivingProviderNames: ['Unknown Program'],
179
- programNames: ['Unknown Program'],
180
- referrals: ['referral1'],
181
- serviceName: 'Unknown Service'
182
- }]
183
- });
184
- });
185
- });
186
- it('should create SOME referrals', async () => {
187
- const someReferrals = [{
188
- attachments: null,
189
- case: undefined,
190
- id: undefined,
191
- state: undefined,
192
- paymentAuthForm: {
193
- amount_requested: null,
194
- service_start: null,
195
- service_end: null
196
- },
197
- description: 'Test Referral',
198
- programs: [{
199
- id: 'program1',
200
- provider: {
201
- id: 'provider1',
202
- licensed: true
203
- }
204
- }],
205
- sendingProvider: {
206
- id: 'provider2'
207
- },
208
- network: {
209
- id: 'network1'
210
- },
211
- service: {
212
- id: 'service1'
213
- },
214
- primaryWorker: {
215
- id: "primary-worker-id"
216
- }
217
- }, {
218
- attachments: null,
219
- case: undefined,
220
- id: undefined,
221
- state: undefined,
222
- paymentAuthForm: {
223
- amount_requested: null,
224
- service_start: null,
225
- service_end: null
226
- },
227
- description: null,
228
- programs: [{
229
- id: 'program2',
230
- provider: {
231
- id: 'provider1',
232
- licensed: true
233
- }
234
- }],
235
- sendingProvider: {
236
- id: 'provider2'
237
- },
238
- network: {
239
- id: 'network1'
240
- },
241
- service: {
242
- id: 'service2'
243
- },
244
- primaryWorker: {
245
- id: "primary-worker-id"
246
- }
247
- }];
248
- useAppCreateReferralContext.mockReturnValue({
249
- state: {
250
- currentEmployee: {
251
- id: 'employee1'
252
- },
253
- formResponses: [],
254
- person: {
255
- id: 'person1'
256
- },
257
- referrals: someReferrals,
258
- formSubmissionId: null,
259
- assistanceRequestId: null,
260
- screeningId: null
261
- }
262
- });
263
- useCreateRecord.mockReturnValue({
264
- createRecord: jest.fn().mockResolvedValue({
265
- data: {
266
- data: {}
267
- }
268
- })
269
- });
270
- useUpdateRecord.mockReturnValue({
271
- updateRecord: jest.fn().mockResolvedValue({
272
- data: {
273
- data: {}
274
- }
275
- })
276
- });
277
- const mockCreateCase = jest.fn().mockResolvedValue({
278
- data: {
279
- data: {
280
- id: 'case1',
281
- description: 'Test Case'
282
- }
283
- }
284
- });
285
- const mockCreateReferral = jest.fn().mockResolvedValue({
286
- data: {
287
- data: {
288
- id: 'referral1',
289
- state: 'sent'
290
- }
291
- }
292
- });
293
- useCreateRecord.mockImplementation(type => {
294
- if (type === 'case') {
295
- return {
296
- createRecord: mockCreateCase
297
- };
298
- } else if (type === 'referral') {
299
- return {
300
- createRecord: mockCreateReferral
301
- };
302
- }
303
- return {
304
- createRecord: jest.fn()
305
- };
306
- });
307
- const {
308
- result
309
- } = renderHook(() => useCreateReferrals());
310
- await act(async () => {
311
- const createReferrals = result.current;
312
- const response = await createReferrals({
313
- referrals: someReferrals,
314
- person: {
315
- id: 'person1'
316
- },
317
- draft: false
318
- });
319
- expect(response).toEqual({
320
- cases: [{
321
- id: 'case1',
322
- description: 'Test Case'
323
- }],
324
- referrals: [{
325
- id: 'referral1',
326
- state: 'sent'
327
- }],
328
- shippingDetail: [{
329
- index: 0,
330
- sent: true,
331
- error: null
332
- }, {
333
- index: 1,
334
- sent: false,
335
- error: 'Unexpected error: The following fields for the case are required: description'
336
- }],
337
- referralsToConsent: [{
338
- receivingProviderNames: ['Unknown Program'],
339
- programNames: ['Unknown Program'],
340
- referrals: ['referral1'],
341
- serviceName: 'Unknown Service'
342
- }]
343
- });
344
- });
345
- });
346
- it('should FAIL all referrals', async () => {
347
- const referralsFailed = [{
348
- attachments: null,
349
- case: undefined,
350
- id: undefined,
351
- state: undefined,
352
- paymentAuthForm: {
353
- amount_requested: null,
354
- service_start: null,
355
- service_end: null
356
- },
357
- description: null,
358
- programs: [{
359
- id: 'program1',
360
- provider: {
361
- id: 'provider1',
362
- licensed: true
363
- }
364
- }],
365
- sendingProvider: {
366
- id: 'provider2'
367
- },
368
- network: {
369
- id: 'network1'
370
- },
371
- service: {
372
- id: 'service1'
373
- },
374
- primaryWorker: {
375
- id: "primary-worker-id"
376
- }
377
- }, {
378
- attachments: null,
379
- case: undefined,
380
- id: undefined,
381
- state: undefined,
382
- paymentAuthForm: {
383
- amount_requested: null,
384
- service_start: null,
385
- service_end: null
386
- },
387
- description: null,
388
- programs: [{
389
- id: 'program2',
390
- provider: {
391
- id: 'provider1',
392
- licensed: true
393
- }
394
- }],
395
- sendingProvider: {
396
- id: 'provider2'
397
- },
398
- network: {
399
- id: 'network1'
400
- },
401
- service: {
402
- id: 'service2'
403
- },
404
- primaryWorker: {
405
- id: "primary-worker-id"
406
- }
407
- }];
408
- useAppCreateReferralContext.mockReturnValue({
409
- state: {
410
- currentEmployee: {
411
- id: 'employee1'
412
- },
413
- formResponses: [],
414
- person: {
415
- id: 'person1'
416
- },
417
- referrals: referralsFailed,
418
- formSubmissionId: null,
419
- assistanceRequestId: null,
420
- screeningId: null
59
+ describe('useCreateReferrals', function () {
60
+ it('should validate response structure no matters the result', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
61
+ var _renderHook, result;
62
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
63
+ while (1) switch (_context2.prev = _context2.next) {
64
+ case 0:
65
+ useAppCreateReferralContext.mockReturnValue({
66
+ state: {
67
+ currentEmployee: {
68
+ id: 'employee1'
69
+ },
70
+ formResponses: [],
71
+ person: {
72
+ id: 'person1'
73
+ },
74
+ referrals: referrals,
75
+ formSubmissionId: null,
76
+ assistanceRequestId: null,
77
+ screeningId: null
78
+ }
79
+ });
80
+ useCreateRecord.mockReturnValue({
81
+ createRecord: jest.fn().mockResolvedValue({
82
+ data: {
83
+ data: {}
84
+ }
85
+ })
86
+ });
87
+ useUpdateRecord.mockReturnValue({
88
+ updateRecord: jest.fn().mockResolvedValue({
89
+ data: {
90
+ data: {}
91
+ }
92
+ })
93
+ });
94
+ _renderHook = renderHook(function () {
95
+ return useCreateReferrals();
96
+ }), result = _renderHook.result;
97
+ _context2.next = 6;
98
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
99
+ var createReferrals, response;
100
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
101
+ while (1) switch (_context.prev = _context.next) {
102
+ case 0:
103
+ createReferrals = result.current;
104
+ _context.next = 3;
105
+ return createReferrals({
106
+ referrals: referrals,
107
+ person: {
108
+ id: 'person1'
109
+ },
110
+ draft: false
111
+ });
112
+ case 3:
113
+ response = _context.sent;
114
+ expect(response).toHaveProperty('cases');
115
+ expect(response).toHaveProperty('referrals');
116
+ expect(response).toHaveProperty('shippingDetail');
117
+ case 7:
118
+ case "end":
119
+ return _context.stop();
120
+ }
121
+ }, _callee);
122
+ })));
123
+ case 6:
124
+ case "end":
125
+ return _context2.stop();
421
126
  }
422
- });
423
- useCreateRecord.mockReturnValue({
424
- createRecord: jest.fn().mockResolvedValue({
425
- data: {
426
- data: {}
427
- }
428
- })
429
- });
430
- useUpdateRecord.mockReturnValue({
431
- updateRecord: jest.fn().mockResolvedValue({
432
- data: {
433
- data: {}
434
- }
435
- })
436
- });
437
- const mockCreateCase = jest.fn().mockResolvedValue({
438
- data: {
439
- data: {
440
- id: 'case1',
441
- description: 'Test Case'
442
- }
127
+ }, _callee2);
128
+ })));
129
+ it('should create all referrals successfully', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
130
+ var mockCreateCase, mockCreateReferral, _renderHook2, result;
131
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
132
+ while (1) switch (_context4.prev = _context4.next) {
133
+ case 0:
134
+ useAppCreateReferralContext.mockReturnValue({
135
+ state: {
136
+ currentEmployee: {
137
+ id: 'employee1'
138
+ },
139
+ formResponses: [],
140
+ person: {
141
+ id: 'person1'
142
+ },
143
+ referrals: referrals,
144
+ formSubmissionId: null,
145
+ assistanceRequestId: null,
146
+ screeningId: null
147
+ }
148
+ });
149
+ useCreateRecord.mockReturnValue({
150
+ createRecord: jest.fn().mockResolvedValue({
151
+ data: {
152
+ data: {}
153
+ }
154
+ })
155
+ });
156
+ useUpdateRecord.mockReturnValue({
157
+ updateRecord: jest.fn().mockResolvedValue({
158
+ data: {
159
+ data: {}
160
+ }
161
+ })
162
+ });
163
+ mockCreateCase = jest.fn().mockResolvedValue({
164
+ data: {
165
+ data: {
166
+ id: 'case1',
167
+ description: 'Test Case'
168
+ }
169
+ }
170
+ });
171
+ mockCreateReferral = jest.fn().mockResolvedValue({
172
+ data: {
173
+ data: {
174
+ id: 'referral1',
175
+ state: 'sent'
176
+ }
177
+ }
178
+ });
179
+ useCreateRecord.mockImplementation(function (type) {
180
+ if (type === 'case') {
181
+ return {
182
+ createRecord: mockCreateCase
183
+ };
184
+ } else if (type === 'referral') {
185
+ return {
186
+ createRecord: mockCreateReferral
187
+ };
188
+ }
189
+ return {
190
+ createRecord: jest.fn()
191
+ };
192
+ });
193
+ _renderHook2 = renderHook(function () {
194
+ return useCreateReferrals();
195
+ }), result = _renderHook2.result;
196
+ _context4.next = 9;
197
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
198
+ var createReferrals, response;
199
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
200
+ while (1) switch (_context3.prev = _context3.next) {
201
+ case 0:
202
+ createReferrals = result.current;
203
+ _context3.next = 3;
204
+ return createReferrals({
205
+ referrals: referrals,
206
+ person: {
207
+ id: 'person1'
208
+ },
209
+ draft: false
210
+ });
211
+ case 3:
212
+ response = _context3.sent;
213
+ expect(response).toEqual({
214
+ cases: [{
215
+ id: 'case1',
216
+ description: 'Test Case'
217
+ }],
218
+ referrals: [{
219
+ id: 'referral1',
220
+ state: 'sent'
221
+ }],
222
+ shippingDetail: [{
223
+ index: 0,
224
+ sent: true,
225
+ error: null
226
+ }],
227
+ referralsToConsent: [{
228
+ receivingProviderNames: ['Unknown Program'],
229
+ programNames: ['Unknown Program'],
230
+ referrals: ['referral1'],
231
+ serviceName: 'Unknown Service'
232
+ }]
233
+ });
234
+ case 5:
235
+ case "end":
236
+ return _context3.stop();
237
+ }
238
+ }, _callee3);
239
+ })));
240
+ case 9:
241
+ case "end":
242
+ return _context4.stop();
443
243
  }
444
- });
445
- const mockCreateReferral = jest.fn().mockResolvedValue({
446
- data: {
447
- data: {
448
- id: 'referral1',
449
- state: 'sent'
450
- }
244
+ }, _callee4);
245
+ })));
246
+ it('should create SOME referrals', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
247
+ var someReferrals, mockCreateCase, mockCreateReferral, _renderHook3, result;
248
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
249
+ while (1) switch (_context6.prev = _context6.next) {
250
+ case 0:
251
+ someReferrals = [{
252
+ attachments: null,
253
+ case: undefined,
254
+ id: undefined,
255
+ state: undefined,
256
+ paymentAuthForm: {
257
+ amount_requested: null,
258
+ service_start: null,
259
+ service_end: null
260
+ },
261
+ description: 'Test Referral',
262
+ programs: [{
263
+ id: 'program1',
264
+ provider: {
265
+ id: 'provider1',
266
+ licensed: true
267
+ }
268
+ }],
269
+ sendingProvider: {
270
+ id: 'provider2'
271
+ },
272
+ network: {
273
+ id: 'network1'
274
+ },
275
+ service: {
276
+ id: 'service1'
277
+ },
278
+ primaryWorker: {
279
+ id: "primary-worker-id"
280
+ }
281
+ }, {
282
+ attachments: null,
283
+ case: undefined,
284
+ id: undefined,
285
+ state: undefined,
286
+ paymentAuthForm: {
287
+ amount_requested: null,
288
+ service_start: null,
289
+ service_end: null
290
+ },
291
+ description: null,
292
+ programs: [{
293
+ id: 'program2',
294
+ provider: {
295
+ id: 'provider1',
296
+ licensed: true
297
+ }
298
+ }],
299
+ sendingProvider: {
300
+ id: 'provider2'
301
+ },
302
+ network: {
303
+ id: 'network1'
304
+ },
305
+ service: {
306
+ id: 'service2'
307
+ },
308
+ primaryWorker: {
309
+ id: "primary-worker-id"
310
+ }
311
+ }];
312
+ useAppCreateReferralContext.mockReturnValue({
313
+ state: {
314
+ currentEmployee: {
315
+ id: 'employee1'
316
+ },
317
+ formResponses: [],
318
+ person: {
319
+ id: 'person1'
320
+ },
321
+ referrals: someReferrals,
322
+ formSubmissionId: null,
323
+ assistanceRequestId: null,
324
+ screeningId: null
325
+ }
326
+ });
327
+ useCreateRecord.mockReturnValue({
328
+ createRecord: jest.fn().mockResolvedValue({
329
+ data: {
330
+ data: {}
331
+ }
332
+ })
333
+ });
334
+ useUpdateRecord.mockReturnValue({
335
+ updateRecord: jest.fn().mockResolvedValue({
336
+ data: {
337
+ data: {}
338
+ }
339
+ })
340
+ });
341
+ mockCreateCase = jest.fn().mockResolvedValue({
342
+ data: {
343
+ data: {
344
+ id: 'case1',
345
+ description: 'Test Case'
346
+ }
347
+ }
348
+ });
349
+ mockCreateReferral = jest.fn().mockResolvedValue({
350
+ data: {
351
+ data: {
352
+ id: 'referral1',
353
+ state: 'sent'
354
+ }
355
+ }
356
+ });
357
+ useCreateRecord.mockImplementation(function (type) {
358
+ if (type === 'case') {
359
+ return {
360
+ createRecord: mockCreateCase
361
+ };
362
+ } else if (type === 'referral') {
363
+ return {
364
+ createRecord: mockCreateReferral
365
+ };
366
+ }
367
+ return {
368
+ createRecord: jest.fn()
369
+ };
370
+ });
371
+ _renderHook3 = renderHook(function () {
372
+ return useCreateReferrals();
373
+ }), result = _renderHook3.result;
374
+ _context6.next = 10;
375
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
376
+ var createReferrals, response;
377
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
378
+ while (1) switch (_context5.prev = _context5.next) {
379
+ case 0:
380
+ createReferrals = result.current;
381
+ _context5.next = 3;
382
+ return createReferrals({
383
+ referrals: someReferrals,
384
+ person: {
385
+ id: 'person1'
386
+ },
387
+ draft: false
388
+ });
389
+ case 3:
390
+ response = _context5.sent;
391
+ expect(response).toEqual({
392
+ cases: [{
393
+ id: 'case1',
394
+ description: 'Test Case'
395
+ }],
396
+ referrals: [{
397
+ id: 'referral1',
398
+ state: 'sent'
399
+ }],
400
+ shippingDetail: [{
401
+ index: 0,
402
+ sent: true,
403
+ error: null
404
+ }, {
405
+ index: 1,
406
+ sent: false,
407
+ error: 'Unexpected error: The following fields for the case are required: description'
408
+ }],
409
+ referralsToConsent: [{
410
+ receivingProviderNames: ['Unknown Program'],
411
+ programNames: ['Unknown Program'],
412
+ referrals: ['referral1'],
413
+ serviceName: 'Unknown Service'
414
+ }]
415
+ });
416
+ case 5:
417
+ case "end":
418
+ return _context5.stop();
419
+ }
420
+ }, _callee5);
421
+ })));
422
+ case 10:
423
+ case "end":
424
+ return _context6.stop();
451
425
  }
452
- });
453
- useCreateRecord.mockImplementation(type => {
454
- if (type === 'case') {
455
- return {
456
- createRecord: mockCreateCase
457
- };
458
- } else if (type === 'referral') {
459
- return {
460
- createRecord: mockCreateReferral
461
- };
426
+ }, _callee6);
427
+ })));
428
+ it('should FAIL all referrals', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
429
+ var referralsFailed, mockCreateCase, mockCreateReferral, _renderHook4, result;
430
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
431
+ while (1) switch (_context8.prev = _context8.next) {
432
+ case 0:
433
+ referralsFailed = [{
434
+ attachments: null,
435
+ case: undefined,
436
+ id: undefined,
437
+ state: undefined,
438
+ paymentAuthForm: {
439
+ amount_requested: null,
440
+ service_start: null,
441
+ service_end: null
442
+ },
443
+ description: null,
444
+ programs: [{
445
+ id: 'program1',
446
+ provider: {
447
+ id: 'provider1',
448
+ licensed: true
449
+ }
450
+ }],
451
+ sendingProvider: {
452
+ id: 'provider2'
453
+ },
454
+ network: {
455
+ id: 'network1'
456
+ },
457
+ service: {
458
+ id: 'service1'
459
+ },
460
+ primaryWorker: {
461
+ id: "primary-worker-id"
462
+ }
463
+ }, {
464
+ attachments: null,
465
+ case: undefined,
466
+ id: undefined,
467
+ state: undefined,
468
+ paymentAuthForm: {
469
+ amount_requested: null,
470
+ service_start: null,
471
+ service_end: null
472
+ },
473
+ description: null,
474
+ programs: [{
475
+ id: 'program2',
476
+ provider: {
477
+ id: 'provider1',
478
+ licensed: true
479
+ }
480
+ }],
481
+ sendingProvider: {
482
+ id: 'provider2'
483
+ },
484
+ network: {
485
+ id: 'network1'
486
+ },
487
+ service: {
488
+ id: 'service2'
489
+ },
490
+ primaryWorker: {
491
+ id: "primary-worker-id"
492
+ }
493
+ }];
494
+ useAppCreateReferralContext.mockReturnValue({
495
+ state: {
496
+ currentEmployee: {
497
+ id: 'employee1'
498
+ },
499
+ formResponses: [],
500
+ person: {
501
+ id: 'person1'
502
+ },
503
+ referrals: referralsFailed,
504
+ formSubmissionId: null,
505
+ assistanceRequestId: null,
506
+ screeningId: null
507
+ }
508
+ });
509
+ useCreateRecord.mockReturnValue({
510
+ createRecord: jest.fn().mockResolvedValue({
511
+ data: {
512
+ data: {}
513
+ }
514
+ })
515
+ });
516
+ useUpdateRecord.mockReturnValue({
517
+ updateRecord: jest.fn().mockResolvedValue({
518
+ data: {
519
+ data: {}
520
+ }
521
+ })
522
+ });
523
+ mockCreateCase = jest.fn().mockResolvedValue({
524
+ data: {
525
+ data: {
526
+ id: 'case1',
527
+ description: 'Test Case'
528
+ }
529
+ }
530
+ });
531
+ mockCreateReferral = jest.fn().mockResolvedValue({
532
+ data: {
533
+ data: {
534
+ id: 'referral1',
535
+ state: 'sent'
536
+ }
537
+ }
538
+ });
539
+ useCreateRecord.mockImplementation(function (type) {
540
+ if (type === 'case') {
541
+ return {
542
+ createRecord: mockCreateCase
543
+ };
544
+ } else if (type === 'referral') {
545
+ return {
546
+ createRecord: mockCreateReferral
547
+ };
548
+ }
549
+ return {
550
+ createRecord: jest.fn()
551
+ };
552
+ });
553
+ _renderHook4 = renderHook(function () {
554
+ return useCreateReferrals();
555
+ }), result = _renderHook4.result;
556
+ _context8.next = 10;
557
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
558
+ var createReferrals, response;
559
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
560
+ while (1) switch (_context7.prev = _context7.next) {
561
+ case 0:
562
+ createReferrals = result.current;
563
+ _context7.next = 3;
564
+ return createReferrals({
565
+ referrals: referralsFailed,
566
+ person: {
567
+ id: 'person1'
568
+ },
569
+ draft: false
570
+ });
571
+ case 3:
572
+ response = _context7.sent;
573
+ expect(response).toEqual({
574
+ cases: [],
575
+ referrals: [],
576
+ shippingDetail: [{
577
+ index: 0,
578
+ sent: false,
579
+ error: 'Unexpected error: The following fields for the case are required: description'
580
+ }, {
581
+ index: 1,
582
+ sent: false,
583
+ error: 'Unexpected error: The following fields for the case are required: description'
584
+ }],
585
+ referralsToConsent: []
586
+ });
587
+ case 5:
588
+ case "end":
589
+ return _context7.stop();
590
+ }
591
+ }, _callee7);
592
+ })));
593
+ case 10:
594
+ case "end":
595
+ return _context8.stop();
462
596
  }
463
- return {
464
- createRecord: jest.fn()
465
- };
466
- });
467
- const {
468
- result
469
- } = renderHook(() => useCreateReferrals());
470
- await act(async () => {
471
- const createReferrals = result.current;
472
- const response = await createReferrals({
473
- referrals: referralsFailed,
474
- person: {
475
- id: 'person1'
476
- },
477
- draft: false
478
- });
479
- expect(response).toEqual({
480
- cases: [],
481
- referrals: [],
482
- shippingDetail: [{
483
- index: 0,
484
- sent: false,
485
- error: 'Unexpected error: The following fields for the case are required: description'
486
- }, {
487
- index: 1,
488
- sent: false,
489
- error: 'Unexpected error: The following fields for the case are required: description'
490
- }],
491
- referralsToConsent: []
492
- });
493
- });
494
- });
597
+ }, _callee8);
598
+ })));
495
599
  });
496
600
  //# sourceMappingURL=useCreateReferrals.test.js.map