@unite-us/app-create-referral 0.15.166 → 0.15.168
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.
- package/dist/AppReferrals.js +3 -4
- package/dist/AppReferrals.js.map +1 -1
- package/dist/AppReferrals.test.js +27 -20
- package/dist/AppReferrals.test.js.map +1 -1
- package/dist/__testUtils__/mockData/utils.js +13 -19
- package/dist/__testUtils__/mockData/utils.js.map +1 -1
- package/dist/__testUtils__/mockServer/handlers.js +7 -13
- package/dist/__testUtils__/mockServer/handlers.js.map +1 -1
- package/dist/__testUtils__/test-utils.js +10 -15
- package/dist/__testUtils__/test-utils.js.map +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js +1 -1
- package/dist/actions/Document/Contact/Group/fileUploadUtils.js.map +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js +1 -1
- package/dist/actions/Group/fetchCoreGroupForms.js.map +1 -1
- package/dist/actions/Referral/cannotMoveToReferralReasons.js +10 -11
- package/dist/actions/Referral/cannotMoveToReferralReasons.js.map +1 -1
- package/dist/actions/Referral/fetchCoreServices.js +19 -25
- package/dist/actions/Referral/fetchCoreServices.js.map +1 -1
- package/dist/actions/Referral/removeReferralProgram.js +3 -5
- package/dist/actions/Referral/removeReferralProgram.js.map +1 -1
- package/dist/api/ApiHooks.js +39 -36
- package/dist/api/ApiHooks.js.map +1 -1
- package/dist/api/config.js +9 -8
- package/dist/api/config.js.map +1 -1
- package/dist/common/form/CurrencyField/index.js +3 -5
- package/dist/common/form/CurrencyField/index.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js +3 -3
- package/dist/common/form/DocumentUploader/components/ContactDocumentsSelector.js.map +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js +1 -1
- package/dist/common/form/DocumentUploader/components/DocumentsListView.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.js +27 -15
- package/dist/common/form/FileUploadV2/FileUpload.js.map +1 -1
- package/dist/common/form/FileUploadV2/FileUpload.test.js +6 -10
- package/dist/common/form/FileUploadV2/FileUpload.test.js.map +1 -1
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js +6 -7
- package/dist/common/form/FileUploadV2/components/FilePreviewWrapper.js.map +1 -1
- package/dist/common/form/FormForm/index.js +10 -10
- package/dist/common/form/FormForm/index.js.map +1 -1
- package/dist/components/DollarAmount.js +2 -2
- package/dist/components/DollarAmount.js.map +1 -1
- package/dist/components/LineItem.js +1 -1
- package/dist/components/LineItem.js.map +1 -1
- package/dist/components/ReferralStepper.js +4 -5
- package/dist/components/ReferralStepper.js.map +1 -1
- package/dist/components/SearchableField.js +3 -4
- package/dist/components/SearchableField.js.map +1 -1
- package/dist/components/Stepper.js +7 -7
- package/dist/components/Stepper.js.map +1 -1
- package/dist/components/modal/Dialog.js +15 -10
- package/dist/components/modal/Dialog.js.map +1 -1
- package/dist/components/service_authorization/AuthorizationSpendCard.js +5 -5
- package/dist/components/service_authorization/AuthorizationSpendCard.js.map +1 -1
- package/dist/components/service_authorization/CapsInfo.js +10 -10
- package/dist/components/service_authorization/CapsInfo.js.map +1 -1
- package/dist/components/service_authorization/CaseStatus.js +2 -2
- package/dist/components/service_authorization/CaseStatus.js.map +1 -1
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js +1 -2
- package/dist/components/service_authorization/PreviousAuthorizationRequestsDetails.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js +2 -2
- package/dist/components/service_authorization/ReferralAuthSpendExpandable.js.map +1 -1
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js +4 -4
- package/dist/components/service_authorization/ReferralAuthorizationRequestSummary.js.map +1 -1
- package/dist/components/service_authorization/formatShortDate.js +1 -1
- package/dist/components/service_authorization/formatShortDate.js.map +1 -1
- package/dist/components/spinners/Spinner/Spinner.js +1 -1
- package/dist/components/spinners/Spinner/Spinner.js.map +1 -1
- package/dist/context/AppCreateReferralProvider.js +4 -4
- package/dist/context/AppCreateReferralProvider.js.map +1 -1
- package/dist/context/state.js +14 -6
- package/dist/context/state.js.map +1 -1
- package/dist/context/withAppCreateReferralContext.js +3 -5
- package/dist/context/withAppCreateReferralContext.js.map +1 -1
- package/dist/hooks/__tests__/useCreateReferrals.test.js +19 -17
- package/dist/hooks/__tests__/useCreateReferrals.test.js.map +1 -1
- package/dist/hooks/sendReferral.js +38 -35
- package/dist/hooks/sendReferral.js.map +1 -1
- package/dist/hooks/useClinicalModificationOptions.js +1 -2
- package/dist/hooks/useClinicalModificationOptions.js.map +1 -1
- package/dist/hooks/useCreateReferrals.js +107 -90
- package/dist/hooks/useCreateReferrals.js.map +1 -1
- package/dist/hooks/useCreateResourceList.js +11 -12
- package/dist/hooks/useCreateResourceList.js.map +1 -1
- package/dist/hooks/useCreateShareEvent.js +2 -2
- package/dist/hooks/useCreateShareEvent.js.map +1 -1
- package/dist/hooks/useForwardReferral.js +36 -36
- package/dist/hooks/useForwardReferral.js.map +1 -1
- package/dist/hooks/useUpdateResourceList.js +16 -17
- package/dist/hooks/useUpdateResourceList.js.map +1 -1
- package/dist/pages/builder/ReferralBuilder.js +32 -31
- package/dist/pages/builder/ReferralBuilder.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderForm.js +7 -10
- package/dist/pages/builder/ReferralBuilderForm.js.map +1 -1
- package/dist/pages/builder/ReferralBuilderFormContent.js +43 -36
- package/dist/pages/builder/ReferralBuilderFormContent.js.map +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js +1 -1
- package/dist/pages/builder/__tests__/AuthorizationRequiredPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js +16 -16
- package/dist/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js +12 -12
- package/dist/pages/builder/__tests__/NonSensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/ReferralBuilderForm.attachments.test.js +19 -14
- package/dist/pages/builder/__tests__/ReferralBuilderForm.attachments.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js +12 -12
- package/dist/pages/builder/__tests__/SensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js +7 -7
- package/dist/pages/builder/__tests__/SensitiveServiceSensitiveProviderGroupedPrograms.test.js.map +1 -1
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js +15 -17
- package/dist/pages/builder/__tests__/SensitiveSingleProgram.test.js.map +1 -1
- package/dist/pages/builder/__tests__/buildDraftState.test.js +4 -6
- package/dist/pages/builder/__tests__/buildDraftState.test.js.map +1 -1
- package/dist/pages/builder/__tests__/buildGroupedReferrals.networkBug.test.js +4 -10
- package/dist/pages/builder/__tests__/buildGroupedReferrals.networkBug.test.js.map +1 -1
- package/dist/pages/builder/buildDraftState.js +2 -2
- package/dist/pages/builder/buildDraftState.js.map +1 -1
- package/dist/pages/builder/components/AuthorizationSubform.js +19 -19
- package/dist/pages/builder/components/AuthorizationSubform.js.map +1 -1
- package/dist/pages/builder/components/ChooseOneServiceTypeModal.js +5 -6
- package/dist/pages/builder/components/ChooseOneServiceTypeModal.js.map +1 -1
- package/dist/pages/builder/components/ProgramHeader.js +1 -1
- package/dist/pages/builder/components/ProgramHeader.js.map +1 -1
- package/dist/pages/builder/components/ProgramMenu.js +1 -1
- package/dist/pages/builder/components/ProgramMenu.js.map +1 -1
- package/dist/pages/builder/components/ReferralBuilderContent.js +5 -4
- package/dist/pages/builder/components/ReferralBuilderContent.js.map +1 -1
- package/dist/pages/builder/components/ReferralCard.js +11 -11
- package/dist/pages/builder/components/ReferralCard.js.map +1 -1
- package/dist/pages/builder/components/ReferralClientNeedsField.js +4 -6
- package/dist/pages/builder/components/ReferralClientNeedsField.js.map +1 -1
- package/dist/pages/builder/components/ReferralProgramCard.js +2 -2
- package/dist/pages/builder/components/ReferralProgramCard.js.map +1 -1
- package/dist/pages/builder/components/ReferralProgramMenu.js +3 -3
- package/dist/pages/builder/components/ReferralProgramMenu.js.map +1 -1
- package/dist/pages/builder/constants.js +18 -7
- package/dist/pages/builder/constants.js.map +1 -1
- package/dist/pages/builder/hooks/useBuildReferrals.js +6 -13
- package/dist/pages/builder/hooks/useBuildReferrals.js.map +1 -1
- package/dist/pages/builder/hooks/useReferralMutations.js +22 -15
- package/dist/pages/builder/hooks/useReferralMutations.js.map +1 -1
- package/dist/pages/builder/utils/buildGroupedReferrals.js +14 -25
- package/dist/pages/builder/utils/buildGroupedReferrals.js.map +1 -1
- package/dist/pages/builder/utils/buildGroupedReferralsHelpers.js +20 -40
- package/dist/pages/builder/utils/buildGroupedReferralsHelpers.js.map +1 -1
- package/dist/pages/builder/utils/formatProgramDetail.js +16 -18
- package/dist/pages/builder/utils/formatProgramDetail.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderFormDraftAuth.js +26 -26
- package/dist/pages/builder/utils/referralBuilderFormDraftAuth.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderFormUtils.js +15 -24
- package/dist/pages/builder/utils/referralBuilderFormUtils.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderFormValidation.js +20 -24
- package/dist/pages/builder/utils/referralBuilderFormValidation.js.map +1 -1
- package/dist/pages/builder/utils/referralBuilderUtils.js +20 -34
- package/dist/pages/builder/utils/referralBuilderUtils.js.map +1 -1
- package/dist/pages/builder/utils.js +45 -64
- package/dist/pages/builder/utils.js.map +1 -1
- package/dist/pages/review/DropdownMultiplesReferrals.js +12 -14
- package/dist/pages/review/DropdownMultiplesReferrals.js.map +1 -1
- package/dist/pages/review/ReferralsSent.js +19 -26
- package/dist/pages/review/ReferralsSent.js.map +1 -1
- package/dist/pages/review/Review.js +69 -88
- package/dist/pages/review/Review.js.map +1 -1
- package/dist/pages/review/SuccessReferralRedesign.js +2 -2
- package/dist/pages/review/SuccessReferralRedesign.js.map +1 -1
- package/dist/pages/review/__tests__/ReferralsSent.test.js +16 -16
- package/dist/pages/review/__tests__/ReferralsSent.test.js.map +1 -1
- package/dist/pages/review/__tests__/Review.test.js +30 -22
- package/dist/pages/review/__tests__/Review.test.js.map +1 -1
- package/dist/pages/review/constants.js +3 -3
- package/dist/pages/review/constants.js.map +1 -1
- package/dist/pages/review/referralStatusRedesign.js +5 -6
- package/dist/pages/review/referralStatusRedesign.js.map +1 -1
- package/dist/pages/supporting-info/SupportingInfo.js +14 -21
- package/dist/pages/supporting-info/SupportingInfo.js.map +1 -1
- package/dist/utils/attachmentUtils.js +1 -1
- package/dist/utils/attachmentUtils.js.map +1 -1
- package/dist/utils/handleDraftSaveResponse.js +1 -1
- package/dist/utils/handleDraftSaveResponse.js.map +1 -1
- package/dist/utils/referralToConsent.js +5 -8
- package/dist/utils/referralToConsent.js.map +1 -1
- package/dist/utils/validateCostAmount.js +1 -1
- package/dist/utils/validateCostAmount.js.map +1 -1
- package/dist/utils/validateUnitAmount.js +1 -1
- package/dist/utils/validateUnitAmount.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
1
|
import { screen, act } from "@testing-library/react";
|
|
5
2
|
import { render, within, fireEvent, waitFor } from "../../../__testUtils__/test-utils";
|
|
6
3
|
import { person } from "../../../__testUtils__/mockData/mockPeople";
|
|
@@ -18,7 +15,8 @@ import { useFeatureFlag as mockUseFeatureFlag } from "../../../utils/useFeatureF
|
|
|
18
15
|
// mock useNavigate
|
|
19
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
17
|
const mockedUsedNavigate = jest.fn();
|
|
21
|
-
jest.mock('@unite-us/app-components', () =>
|
|
18
|
+
jest.mock('@unite-us/app-components', () => ({
|
|
19
|
+
...jest.requireActual('@unite-us/app-components'),
|
|
22
20
|
feeScheduleProgramUtils: {
|
|
23
21
|
PAYMENT_TYPES: {
|
|
24
22
|
fee_for_service: 'Fee for service',
|
|
@@ -27,7 +25,8 @@ jest.mock('@unite-us/app-components', () => _objectSpread(_objectSpread({}, jest
|
|
|
27
25
|
isCostPaymentType: paymentType => paymentType === 'cost_reimbursement'
|
|
28
26
|
}
|
|
29
27
|
}));
|
|
30
|
-
jest.mock("../../../api/config", () =>
|
|
28
|
+
jest.mock("../../../api/config", () => ({
|
|
29
|
+
...jest.requireActual('../../../api/config'),
|
|
31
30
|
INITIAL_ADDRESSES: {},
|
|
32
31
|
APP_ENVIRONMENT: {
|
|
33
32
|
sharesUrl: 'localhost:8080/test',
|
|
@@ -45,7 +44,8 @@ jest.mock("../../../api/config", () => _objectSpread(_objectSpread({}, jest.requ
|
|
|
45
44
|
jest.mock("../../../utils/useFeatureFlag", () => ({
|
|
46
45
|
useFeatureFlag: jest.fn()
|
|
47
46
|
}));
|
|
48
|
-
jest.mock('react-router-dom', () =>
|
|
47
|
+
jest.mock('react-router-dom', () => ({
|
|
48
|
+
...jest.requireActual('react-router-dom'),
|
|
49
49
|
useNavigate: () => mockedUsedNavigate // Return an empty jest function to test whether it was called or not...I'm not depending on the results so no need to put in a return value
|
|
50
50
|
}));
|
|
51
51
|
describe('Review Page', () => {
|
|
@@ -303,18 +303,21 @@ describe('Review Page', () => {
|
|
|
303
303
|
render(/*#__PURE__*/_jsx(Review, {}), {
|
|
304
304
|
appContextProviderProps: {
|
|
305
305
|
person,
|
|
306
|
-
referrals: [
|
|
306
|
+
referrals: [{
|
|
307
|
+
...referrals[0],
|
|
307
308
|
id: "e22e1119-9068-4950-9379-15b1b1d04429",
|
|
308
309
|
state: 'draft',
|
|
309
310
|
case: {
|
|
310
311
|
id: "86f64bd4-8850-4c07-8195-d9748222e64c"
|
|
311
312
|
},
|
|
312
|
-
programs: [
|
|
313
|
-
|
|
313
|
+
programs: [{
|
|
314
|
+
...referrals[0].programs[0],
|
|
315
|
+
fee_schedule_program: {
|
|
316
|
+
...referrals[0].programs[0].fee_schedule_program,
|
|
314
317
|
authorization_required: false
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
+
}
|
|
319
|
+
}]
|
|
320
|
+
}],
|
|
318
321
|
currentProvider: mockAppReferralsProps.appState.currentProvider,
|
|
319
322
|
currentEmployee: mockAppReferralsProps.appState.currentEmployee
|
|
320
323
|
}
|
|
@@ -341,13 +344,14 @@ describe('Review Page', () => {
|
|
|
341
344
|
render(/*#__PURE__*/_jsx(Review, {}), {
|
|
342
345
|
appContextProviderProps: {
|
|
343
346
|
person,
|
|
344
|
-
referrals: [
|
|
347
|
+
referrals: [{
|
|
348
|
+
...referrals[0],
|
|
345
349
|
id: "referral-1",
|
|
346
350
|
state: 'draft',
|
|
347
351
|
case: {
|
|
348
352
|
id: "case-1"
|
|
349
353
|
}
|
|
350
|
-
}
|
|
354
|
+
}],
|
|
351
355
|
formResponses: [{
|
|
352
356
|
form: {
|
|
353
357
|
id: "f1",
|
|
@@ -370,9 +374,10 @@ describe('Review Page', () => {
|
|
|
370
374
|
it('should display the consent form after submitting referrals for an unconsented person', async () => {
|
|
371
375
|
render(/*#__PURE__*/_jsx(Review, {}), {
|
|
372
376
|
appContextProviderProps: {
|
|
373
|
-
person:
|
|
377
|
+
person: {
|
|
378
|
+
...person,
|
|
374
379
|
consent: null
|
|
375
|
-
}
|
|
380
|
+
},
|
|
376
381
|
referrals: [referrals[0]],
|
|
377
382
|
currentProvider: mockAppReferralsProps.appState.currentProvider,
|
|
378
383
|
currentEmployee: mockAppReferralsProps.appState.currentEmployee
|
|
@@ -421,13 +426,16 @@ describe('Review Page', () => {
|
|
|
421
426
|
referral1.getByText('T61.001D');
|
|
422
427
|
});
|
|
423
428
|
it('should hide icd-10 field when clinical modification codes are not required on fee schedule program', async () => {
|
|
424
|
-
const referralWithAuthorizationNoIcd = [
|
|
425
|
-
|
|
426
|
-
|
|
429
|
+
const referralWithAuthorizationNoIcd = [{
|
|
430
|
+
...referralWithAuthorization[0],
|
|
431
|
+
programs: [{
|
|
432
|
+
...referralWithAuthorization[0].programs[0],
|
|
433
|
+
fee_schedule_program: {
|
|
434
|
+
...referralWithAuthorization[0].programs[0].fee_schedule_program,
|
|
427
435
|
cm_code_required_on_authorization: false
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
}
|
|
436
|
+
}
|
|
437
|
+
}]
|
|
438
|
+
}];
|
|
431
439
|
render(/*#__PURE__*/_jsx(Review, {}), {
|
|
432
440
|
appContextProviderProps: {
|
|
433
441
|
person,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Review.test.js","names":["screen","act","render","within","fireEvent","waitFor","person","mockAppReferralsProps","referrals","referralWithAuthorization","Review","server","rest","getUrl","CALLBACKS","CONSENT_DESCRIPTION","mockCases","useFeatureFlag","mockUseFeatureFlag","jsx","_jsx","mockedUsedNavigate","jest","fn","mock","_objectSpread","requireActual","feeScheduleProgramUtils","PAYMENT_TYPES","fee_for_service","cost_reimbursement","isCostPaymentType","paymentType","INITIAL_ADDRESSES","APP_ENVIRONMENT","sharesUrl","providerId","notify","success","error","warning","info","useNavigate","describe","it","appContextProviderProps","currentProvider","appState","currentEmployee","referralRows","getAllByTestId","expect","toHaveLength","referral1","getByRole","name","getByText","referral2","click","queryByText","toBeNull","toBeInTheDocument","rerender","getAllByRole","toHaveBeenCalledWith","returnedReferralRows","mockReset","newReferralList","confirmButtons","topButton","findByText","use","post","req","res","ctx","status","json","errors","detail","formResponses","form","id","service_type_ids","relationships","service","data","responses","state","case","programs","fee_schedule_program","authorization_required","patch","saveDraftButtons","consent","referralWithAuthorizationNoIcd","cm_code_required_on_authorization","not","patchPayload","body","clinical_modifications","toEqual","type"],"sources":["../../../../src/pages/review/__tests__/Review.test.js"],"sourcesContent":["import { screen, act } from \"@testing-library/react\";\nimport { render, within, fireEvent, waitFor } from \"../../../__testUtils__/test-utils\";\nimport { person } from \"../../../__testUtils__/mockData/mockPeople\";\nimport mockAppReferralsProps from \"../../../__testUtils__/mockData/components/mockAppReferrals\";\nimport { referrals, referralWithAuthorization } from \"./data\";\nimport Review from \"../Review\";\nimport { server } from \"../../../__testUtils__/mockServer/server\";\nimport { rest } from \"msw\";\nimport { getUrl } from \"../../../__testUtils__/mockServer/handlers\";\nimport { CALLBACKS } from \"../../../api/config\";\nimport { CONSENT_DESCRIPTION } from \"../constants\";\nimport { mockCases } from \"../../../__testUtils__/mockData/mockCases\";\nimport { useFeatureFlag as mockUseFeatureFlag } from \"../../../utils/useFeatureFlag\";\n\n// mock useNavigate\nconst mockedUsedNavigate = jest.fn();\n\njest.mock('@unite-us/app-components', () => ({\n ...jest.requireActual('@unite-us/app-components'),\n feeScheduleProgramUtils: {\n PAYMENT_TYPES: {\n fee_for_service: 'Fee for service',\n cost_reimbursement: 'Cost reimbursement',\n },\n isCostPaymentType: (paymentType) => paymentType === 'cost_reimbursement',\n },\n}));\n\njest.mock(\"../../../api/config\", () => ({\n ...jest.requireActual('../../../api/config'),\n INITIAL_ADDRESSES: {},\n APP_ENVIRONMENT: { sharesUrl: 'localhost:8080/test', providerId: \"test-provider-id\"},\n CALLBACKS: {\n notify: {\n success: jest.fn(),\n error: jest.fn(),\n warning: jest.fn(),\n info: jest.fn()\n }\n }\n}));\n\njest.mock(\"../../../utils/useFeatureFlag\", () => ({\n useFeatureFlag: jest.fn(),\n}));\n\njest.mock('react-router-dom', () => ({\n ...jest.requireActual('react-router-dom'),\n useNavigate: () => mockedUsedNavigate, // Return an empty jest function to test whether it was called or not...I'm not depending on the results so no need to put in a return value\n}));\n\ndescribe('Review Page', () => {\n it('should render Review Page', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n referral1.getByRole(\"heading\", { name: \"Referral 1: Benefits\" });\n referral1.getByText('Referral Programs');\n referral1.getByText('All Service Types Program [Kevin] (Kevin Org [Dev Only])');\n referral1.getByText('Referral Network');\n referral1.getByText('Developer Playground [DEVS ONLY]');\n referral1.getByText('Referral Description');\n referral1.getByText('help1');\n referral1.getByText('Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.');\n\n const referral2 = within(referralRows[1]);\n referral2.getByRole(\"heading\", { name: \"Referral 2: Benefits Eligibility Screening\" });\n referral2.getByText('Referral Programs');\n referral2.getByText('All Services (11 AA Provider2)');\n referral2.getByText('Referral Network');\n referral2.getByText('Developer Playground [DEVS ONLY]');\n referral2.getByText('Referral Description');\n referral2.getByText('help2');\n referral2.getByText('Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.');\n });\n\n it('should collapse/expand card', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n referral1.getByText('Referral Programs');\n\n // Collapsed (by default it's expanded)\n fireEvent.click(referral1.getByRole('button', { name: \"expand\" }));\n expect(referral1.queryByText('Referral Programs')).toBeNull();\n\n // Expanded \n fireEvent.click(referral1.getByRole('button', { name: \"expand\" }));\n expect(referral1.queryByText('Referral Programs')).toBeInTheDocument();\n });\n\n it('should preserve collapsed cards after returning to review', async () => {\n const { rerender } = render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n const referral2 = within(referralRows[1]);\n\n fireEvent.click(referral1.getByRole('button', { name: \"expand\" }));\n expect(referral1.queryByText('Referral Programs')).toBeNull();\n expect(referral2.queryByText('Referral Programs')).toBeInTheDocument();\n\n fireEvent.click(screen.getAllByRole('button', { name: \"Back\" })[0]);\n expect(mockedUsedNavigate).toHaveBeenCalledWith(-1);\n\n rerender(<div data-testid=\"builder-step\" />);\n rerender(<Review />);\n\n const returnedReferralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(returnedReferralRows).toHaveLength(2);\n expect(within(returnedReferralRows[0]).queryByText('Referral Programs')).toBeNull();\n expect(within(returnedReferralRows[1]).queryByText('Referral Programs')).toBeInTheDocument();\n });\n\n it('should navigate on edit card', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n fireEvent.click(referral1.getByRole('button', { name: \"edit\" }));\n\n await expect(mockedUsedNavigate).toHaveBeenCalledWith(\"/create/builder\", { \"state\": { \"selectedReferral\": 0 } });\n mockedUsedNavigate.mockReset();\n\n const referral2 = within(referralRows[1]);\n fireEvent.click(referral2.getByRole('button', { name: \"edit\" }));\n\n await expect(mockedUsedNavigate).toHaveBeenCalledWith(\"/create/builder\", { \"state\": { \"selectedReferral\": 1 } });\n });\n\n it('should delete the referral', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n // Delete icon\n fireEvent.click(referral1.getByRole('button', { name: \"delete\" }));\n\n // Modal\n screen.getByText('Are you sure you want to delete this referral?');\n fireEvent.click(screen.getByRole('button', { name: \"Delete\" }));\n\n const newReferralList = screen.getAllByTestId(/referral-review-card-/i);\n expect(newReferralList).toHaveLength(1);\n });\n\n it('should submit referrals', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n await waitFor(() => screen.findByText(\"Referrals Successfully Created!\"));\n expect(screen.getByText(\"Referrals Successfully Created!\")).toBeInTheDocument();\n });\n\n it('should notify failure creating the case', async () => {\n server.use(\n rest.post(getUrl('/cases'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: \"\" }] }))\n }),\n )\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => {\n expect(screen.getByText('Error: Referral creation failed. Get help resolving the issue by reaching out to')).toBeInTheDocument();\n });\n });\n\n it('should notify failure creating the referral', async () => {\n server.use(\n rest.post(getUrl('/referrals'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: \"\" }] }))\n }),\n )\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => {\n expect(screen.getByText('Error: Referral creation failed. Get help resolving the issue by reaching out to')).toBeInTheDocument();\n });\n });\n\n it('should notify failure creating forms submissions', async () => {\n server.use(\n rest.post(getUrl('/form_submissions'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: \"\" }] }))\n }),\n )\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n formResponses: [{\n form: { id: \"f1\", service_type_ids: mockCases[0].relationships.service.data.id },\n responses: [{ id: \"r1\" }]\n }],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => expect(CALLBACKS.notify.error).toHaveBeenCalledWith('Error submitting Assessments'));\n });\n\n it('should update a draft referral', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [\n {\n ...referrals[0],\n id: \"e22e1119-9068-4950-9379-15b1b1d04429\",\n state: 'draft',\n case: { id: \"86f64bd4-8850-4c07-8195-d9748222e64c\" },\n programs: [{\n ...referrals[0].programs[0],\n fee_schedule_program: {\n ...referrals[0].programs[0].fee_schedule_program,\n authorization_required: false,\n },\n }],\n }\n ],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n\n await waitFor(() => {\n expect(screen.getByText('Referrals Successfully Created!')).toBeInTheDocument();\n });\n });\n\n it('should notify when saving a draft referral fails', async () => {\n server.use(\n rest.patch(getUrl('/referrals/:id'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: \"\" }] }))\n }),\n )\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [\n {\n ...referrals[0],\n id: \"referral-1\",\n state: 'draft',\n case: { id: \"case-1\" },\n }\n ],\n formResponses: [{\n form: { id: \"f1\", service_type_ids: mockCases[0].relationships.service.data.id },\n responses: [{ id: \"r1\" }]\n }],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n const saveDraftButtons = screen.getAllByRole('button', { name: \"Save Draft Referral(s)\" });\n fireEvent.click(saveDraftButtons[0]);\n\n await waitFor(() => expect(CALLBACKS.notify.error).toHaveBeenCalledWith('Unable to save draft referral'));\n });\n\n it('should display the consent form after submitting referrals for an unconsented person', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person: { ...person, consent: null },\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n expect(await screen.findByText(\"Complete Consent\")).toBeInTheDocument();\n expect(await screen.findByText(CONSENT_DESCRIPTION)).toBeInTheDocument();\n expect(await screen.findByText(\"Informed Consent\")).toBeInTheDocument();\n });\n\n it('should display authorization request summary', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: referralWithAuthorization,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(1);\n const referral1 = within(referralRows[0]);\n referral1.getByText('Authorization Request');\n referral1.getByText('Contracted Program:');\n referral1.getByText('Fake Mock Box (Delivered) (Small)');\n referral1.getByText('Payment Approach:');\n referral1.getByText('Fee for service');\n referral1.getByText('Unit:');\n referral1.getByText('food box');\n referral1.getByText('Rate:');\n referral1.getByText('$150.36');\n referral1.getByText('per food box');\n referral1.getByText('Program Cap:');\n referral1.getByText('Fake cap per month');\n referral1.getByText('Amount Requested:');\n referral1.getByText('1 food box');\n referral1.getByText('Service Delivery Dates:');\n referral1.getByText('8/9/2024 - 8/9/2024');\n referral1.getByText(/ICD-10 Code/i);\n referral1.getByText('T61.001D');\n });\n\n it('should hide icd-10 field when clinical modification codes are not required on fee schedule program', async () => {\n const referralWithAuthorizationNoIcd = [\n {\n ...referralWithAuthorization[0],\n programs: [{\n ...referralWithAuthorization[0].programs[0],\n fee_schedule_program: {\n ...referralWithAuthorization[0].programs[0].fee_schedule_program,\n cm_code_required_on_authorization: false,\n },\n }],\n }];\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: referralWithAuthorizationNoIcd,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n expect(screen.queryByText('ICD-10 Code')).not.toBeInTheDocument();\n });\n\n it('should submit referral with ICD code when CM value submitted', async () => {\n let patchPayload;\n\n server.use(rest.post('*/service_authorizations', (req, res, ctx) => {\n patchPayload = req.body.data;\n return res(\n ctx.status(200),\n );\n }));\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n expect(patchPayload.relationships.clinical_modifications).toEqual({\n data: [{\n type: 'clinical_modification',\n id: '9073e4e0-34d4-4248-8ad1-25705972d6ff'\n }],\n });\n\n await waitFor(() => screen.findByText(\"Referrals Successfully Created!\"));\n expect(screen.getByText(\"Referrals Successfully Created!\")).toBeInTheDocument();\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Review.test.js","names":["screen","act","render","within","fireEvent","waitFor","person","mockAppReferralsProps","referrals","referralWithAuthorization","Review","server","rest","getUrl","CALLBACKS","CONSENT_DESCRIPTION","mockCases","useFeatureFlag","mockUseFeatureFlag","jsx","_jsx","mockedUsedNavigate","jest","fn","mock","requireActual","feeScheduleProgramUtils","PAYMENT_TYPES","fee_for_service","cost_reimbursement","isCostPaymentType","paymentType","INITIAL_ADDRESSES","APP_ENVIRONMENT","sharesUrl","providerId","notify","success","error","warning","info","useNavigate","describe","it","appContextProviderProps","currentProvider","appState","currentEmployee","referralRows","getAllByTestId","expect","toHaveLength","referral1","getByRole","name","getByText","referral2","click","queryByText","toBeNull","toBeInTheDocument","rerender","getAllByRole","toHaveBeenCalledWith","returnedReferralRows","mockReset","newReferralList","confirmButtons","topButton","findByText","use","post","req","res","ctx","status","json","errors","detail","formResponses","form","id","service_type_ids","relationships","service","data","responses","state","case","programs","fee_schedule_program","authorization_required","patch","saveDraftButtons","consent","referralWithAuthorizationNoIcd","cm_code_required_on_authorization","not","patchPayload","body","clinical_modifications","toEqual","type"],"sources":["../../../../src/pages/review/__tests__/Review.test.js"],"sourcesContent":["import { screen, act } from \"@testing-library/react\";\nimport { render, within, fireEvent, waitFor } from \"../../../__testUtils__/test-utils\";\nimport { person } from \"../../../__testUtils__/mockData/mockPeople\";\nimport mockAppReferralsProps from \"../../../__testUtils__/mockData/components/mockAppReferrals\";\nimport { referrals, referralWithAuthorization } from \"./data\";\nimport Review from \"../Review\";\nimport { server } from \"../../../__testUtils__/mockServer/server\";\nimport { rest } from \"msw\";\nimport { getUrl } from \"../../../__testUtils__/mockServer/handlers\";\nimport { CALLBACKS } from \"../../../api/config\";\nimport { CONSENT_DESCRIPTION } from \"../constants\";\nimport { mockCases } from \"../../../__testUtils__/mockData/mockCases\";\nimport { useFeatureFlag as mockUseFeatureFlag } from \"../../../utils/useFeatureFlag\";\n\n// mock useNavigate\nconst mockedUsedNavigate = jest.fn();\n\njest.mock('@unite-us/app-components', () => ({\n ...jest.requireActual('@unite-us/app-components'),\n feeScheduleProgramUtils: {\n PAYMENT_TYPES: {\n fee_for_service: 'Fee for service',\n cost_reimbursement: 'Cost reimbursement',\n },\n isCostPaymentType: (paymentType) => paymentType === 'cost_reimbursement',\n },\n}));\n\njest.mock(\"../../../api/config\", () => ({\n ...jest.requireActual('../../../api/config'),\n INITIAL_ADDRESSES: {},\n APP_ENVIRONMENT: { sharesUrl: 'localhost:8080/test', providerId: \"test-provider-id\"},\n CALLBACKS: {\n notify: {\n success: jest.fn(),\n error: jest.fn(),\n warning: jest.fn(),\n info: jest.fn()\n }\n }\n}));\n\njest.mock(\"../../../utils/useFeatureFlag\", () => ({\n useFeatureFlag: jest.fn(),\n}));\n\njest.mock('react-router-dom', () => ({\n ...jest.requireActual('react-router-dom'),\n useNavigate: () => mockedUsedNavigate, // Return an empty jest function to test whether it was called or not...I'm not depending on the results so no need to put in a return value\n}));\n\ndescribe('Review Page', () => {\n it('should render Review Page', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n referral1.getByRole(\"heading\", { name: \"Referral 1: Benefits\" });\n referral1.getByText('Referral Programs');\n referral1.getByText('All Service Types Program [Kevin] (Kevin Org [Dev Only])');\n referral1.getByText('Referral Network');\n referral1.getByText('Developer Playground [DEVS ONLY]');\n referral1.getByText('Referral Description');\n referral1.getByText('help1');\n referral1.getByText('Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.');\n\n const referral2 = within(referralRows[1]);\n referral2.getByRole(\"heading\", { name: \"Referral 2: Benefits Eligibility Screening\" });\n referral2.getByText('Referral Programs');\n referral2.getByText('All Services (11 AA Provider2)');\n referral2.getByText('Referral Network');\n referral2.getByText('Developer Playground [DEVS ONLY]');\n referral2.getByText('Referral Description');\n referral2.getByText('help2');\n referral2.getByText('Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.');\n });\n\n it('should collapse/expand card', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n referral1.getByText('Referral Programs');\n\n // Collapsed (by default it's expanded)\n fireEvent.click(referral1.getByRole('button', { name: \"expand\" }));\n expect(referral1.queryByText('Referral Programs')).toBeNull();\n\n // Expanded \n fireEvent.click(referral1.getByRole('button', { name: \"expand\" }));\n expect(referral1.queryByText('Referral Programs')).toBeInTheDocument();\n });\n\n it('should preserve collapsed cards after returning to review', async () => {\n const { rerender } = render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n const referral2 = within(referralRows[1]);\n\n fireEvent.click(referral1.getByRole('button', { name: \"expand\" }));\n expect(referral1.queryByText('Referral Programs')).toBeNull();\n expect(referral2.queryByText('Referral Programs')).toBeInTheDocument();\n\n fireEvent.click(screen.getAllByRole('button', { name: \"Back\" })[0]);\n expect(mockedUsedNavigate).toHaveBeenCalledWith(-1);\n\n rerender(<div data-testid=\"builder-step\" />);\n rerender(<Review />);\n\n const returnedReferralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(returnedReferralRows).toHaveLength(2);\n expect(within(returnedReferralRows[0]).queryByText('Referral Programs')).toBeNull();\n expect(within(returnedReferralRows[1]).queryByText('Referral Programs')).toBeInTheDocument();\n });\n\n it('should navigate on edit card', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n fireEvent.click(referral1.getByRole('button', { name: \"edit\" }));\n\n await expect(mockedUsedNavigate).toHaveBeenCalledWith(\"/create/builder\", { \"state\": { \"selectedReferral\": 0 } });\n mockedUsedNavigate.mockReset();\n\n const referral2 = within(referralRows[1]);\n fireEvent.click(referral2.getByRole('button', { name: \"edit\" }));\n\n await expect(mockedUsedNavigate).toHaveBeenCalledWith(\"/create/builder\", { \"state\": { \"selectedReferral\": 1 } });\n });\n\n it('should delete the referral', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(2);\n\n const referral1 = within(referralRows[0]);\n // Delete icon\n fireEvent.click(referral1.getByRole('button', { name: \"delete\" }));\n\n // Modal\n screen.getByText('Are you sure you want to delete this referral?');\n fireEvent.click(screen.getByRole('button', { name: \"Delete\" }));\n\n const newReferralList = screen.getAllByTestId(/referral-review-card-/i);\n expect(newReferralList).toHaveLength(1);\n });\n\n it('should submit referrals', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n await waitFor(() => screen.findByText(\"Referrals Successfully Created!\"));\n expect(screen.getByText(\"Referrals Successfully Created!\")).toBeInTheDocument();\n });\n\n it('should notify failure creating the case', async () => {\n server.use(\n rest.post(getUrl('/cases'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: \"\" }] }))\n }),\n )\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => {\n expect(screen.getByText('Error: Referral creation failed. Get help resolving the issue by reaching out to')).toBeInTheDocument();\n });\n });\n\n it('should notify failure creating the referral', async () => {\n server.use(\n rest.post(getUrl('/referrals'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: \"\" }] }))\n }),\n )\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => {\n expect(screen.getByText('Error: Referral creation failed. Get help resolving the issue by reaching out to')).toBeInTheDocument();\n });\n });\n\n it('should notify failure creating forms submissions', async () => {\n server.use(\n rest.post(getUrl('/form_submissions'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: \"\" }] }))\n }),\n )\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n formResponses: [{\n form: { id: \"f1\", service_type_ids: mockCases[0].relationships.service.data.id },\n responses: [{ id: \"r1\" }]\n }],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n\n await waitFor(() => expect(CALLBACKS.notify.error).toHaveBeenCalledWith('Error submitting Assessments'));\n });\n\n it('should update a draft referral', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [\n {\n ...referrals[0],\n id: \"e22e1119-9068-4950-9379-15b1b1d04429\",\n state: 'draft',\n case: { id: \"86f64bd4-8850-4c07-8195-d9748222e64c\" },\n programs: [{\n ...referrals[0].programs[0],\n fee_schedule_program: {\n ...referrals[0].programs[0].fee_schedule_program,\n authorization_required: false,\n },\n }],\n }\n ],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n\n await waitFor(() => {\n expect(screen.getByText('Referrals Successfully Created!')).toBeInTheDocument();\n });\n });\n\n it('should notify when saving a draft referral fails', async () => {\n server.use(\n rest.patch(getUrl('/referrals/:id'), (req, res, ctx) => {\n return res(ctx.status(400), ctx.json({ errors: [{ detail: \"\" }] }))\n }),\n )\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [\n {\n ...referrals[0],\n id: \"referral-1\",\n state: 'draft',\n case: { id: \"case-1\" },\n }\n ],\n formResponses: [{\n form: { id: \"f1\", service_type_ids: mockCases[0].relationships.service.data.id },\n responses: [{ id: \"r1\" }]\n }],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n const saveDraftButtons = screen.getAllByRole('button', { name: \"Save Draft Referral(s)\" });\n fireEvent.click(saveDraftButtons[0]);\n\n await waitFor(() => expect(CALLBACKS.notify.error).toHaveBeenCalledWith('Unable to save draft referral'));\n });\n\n it('should display the consent form after submitting referrals for an unconsented person', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person: { ...person, consent: null },\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n });\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n expect(await screen.findByText(\"Complete Consent\")).toBeInTheDocument();\n expect(await screen.findByText(CONSENT_DESCRIPTION)).toBeInTheDocument();\n expect(await screen.findByText(\"Informed Consent\")).toBeInTheDocument();\n });\n\n it('should display authorization request summary', async () => {\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: referralWithAuthorization,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n const referralRows = screen.getAllByTestId(/referral-review-card-/i);\n expect(referralRows).toHaveLength(1);\n const referral1 = within(referralRows[0]);\n referral1.getByText('Authorization Request');\n referral1.getByText('Contracted Program:');\n referral1.getByText('Fake Mock Box (Delivered) (Small)');\n referral1.getByText('Payment Approach:');\n referral1.getByText('Fee for service');\n referral1.getByText('Unit:');\n referral1.getByText('food box');\n referral1.getByText('Rate:');\n referral1.getByText('$150.36');\n referral1.getByText('per food box');\n referral1.getByText('Program Cap:');\n referral1.getByText('Fake cap per month');\n referral1.getByText('Amount Requested:');\n referral1.getByText('1 food box');\n referral1.getByText('Service Delivery Dates:');\n referral1.getByText('8/9/2024 - 8/9/2024');\n referral1.getByText(/ICD-10 Code/i);\n referral1.getByText('T61.001D');\n });\n\n it('should hide icd-10 field when clinical modification codes are not required on fee schedule program', async () => {\n const referralWithAuthorizationNoIcd = [\n {\n ...referralWithAuthorization[0],\n programs: [{\n ...referralWithAuthorization[0].programs[0],\n fee_schedule_program: {\n ...referralWithAuthorization[0].programs[0].fee_schedule_program,\n cm_code_required_on_authorization: false,\n },\n }],\n }];\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: referralWithAuthorizationNoIcd,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n expect(screen.queryByText('ICD-10 Code')).not.toBeInTheDocument();\n });\n\n it('should submit referral with ICD code when CM value submitted', async () => {\n let patchPayload;\n\n server.use(rest.post('*/service_authorizations', (req, res, ctx) => {\n patchPayload = req.body.data;\n return res(\n ctx.status(200),\n );\n }));\n\n render(<Review />, {\n appContextProviderProps: {\n person,\n referrals: [referrals[0]],\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n })\n\n await act(async () => {\n const confirmButtons = screen.getAllByRole('button', { name: \"Confirm & Submit\" });\n const topButton = confirmButtons[0];\n fireEvent.click(topButton);\n });\n\n expect(patchPayload.relationships.clinical_modifications).toEqual({\n data: [{\n type: 'clinical_modification',\n id: '9073e4e0-34d4-4248-8ad1-25705972d6ff'\n }],\n });\n\n await waitFor(() => screen.findByText(\"Referrals Successfully Created!\"));\n expect(screen.getByText(\"Referrals Successfully Created!\")).toBeInTheDocument();\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export const READY_TO_SUMBIT_INFO_TEXT = 'Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.';
|
|
2
|
-
export const REVIEW_REFERRAL_DESCRIPTION =
|
|
3
|
-
export const CONSENT_DESCRIPTION =
|
|
2
|
+
export const REVIEW_REFERRAL_DESCRIPTION = `You're almost there. Review the referrals for accuracy and submit them.`;
|
|
3
|
+
export const CONSENT_DESCRIPTION = `To send referrals, you need your client's permission.`;
|
|
4
4
|
export const CONSENT_COMPLETED = 'consent-completed';
|
|
5
|
-
export const REVIEW_LOADING_SCREEN_DESCRIPTION =
|
|
5
|
+
export const REVIEW_LOADING_SCREEN_DESCRIPTION = `Submitting referrals. Don’t refresh or click the back button.`;
|
|
6
6
|
export const REFERRAL_STATUS = {
|
|
7
7
|
FAILED: 'failed',
|
|
8
8
|
PARTIAL: 'partial',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","REFERRAL_STATUS","FAILED","PARTIAL","SUCCESS","MESSAGES","FORWARD","DEFAULT","CREATE"],"sources":["../../../src/pages/review/constants.js"],"sourcesContent":["export const READY_TO_SUMBIT_INFO_TEXT = 'Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.';\n\nexport const REVIEW_REFERRAL_DESCRIPTION = `You're almost there. Review the referrals for accuracy and submit them.`;\n\nexport const CONSENT_DESCRIPTION = `To send referrals, you need your client's permission.`;\n\nexport const CONSENT_COMPLETED = 'consent-completed';\n\nexport const REVIEW_LOADING_SCREEN_DESCRIPTION = `Submitting referrals. Don’t refresh or click the back button.`;\n\nexport const REFERRAL_STATUS = {\n FAILED: 'failed',\n PARTIAL: 'partial',\n SUCCESS: 'success',\n};\n\nexport const MESSAGES = {\n FORWARD: {\n [REFERRAL_STATUS.SUCCESS]: 'Referrals Successfully Forwarded!',\n [REFERRAL_STATUS.PARTIAL]: 'Some Referrals Successfully Forwarded',\n DEFAULT: 'Referrals Not Forwarded!'\n },\n CREATE: {\n [REFERRAL_STATUS.SUCCESS]: 'Referrals Successfully Created!',\n [REFERRAL_STATUS.PARTIAL]: 'Some Referrals Successfully Created',\n DEFAULT: 'Referrals Not Created'\n }\n};\n"],"mappings":"AAAA,OAAO,MAAMA,yBAAyB,GAAG,kJAAkJ;AAE3L,OAAO,MAAMC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"constants.js","names":["READY_TO_SUMBIT_INFO_TEXT","REVIEW_REFERRAL_DESCRIPTION","CONSENT_DESCRIPTION","CONSENT_COMPLETED","REVIEW_LOADING_SCREEN_DESCRIPTION","REFERRAL_STATUS","FAILED","PARTIAL","SUCCESS","MESSAGES","FORWARD","DEFAULT","CREATE"],"sources":["../../../src/pages/review/constants.js"],"sourcesContent":["export const READY_TO_SUMBIT_INFO_TEXT = 'Ready to submit? Great! Confirm that the client agrees to share their information with the receiving organization(s) and click Confirm & Submit.';\n\nexport const REVIEW_REFERRAL_DESCRIPTION = `You're almost there. Review the referrals for accuracy and submit them.`;\n\nexport const CONSENT_DESCRIPTION = `To send referrals, you need your client's permission.`;\n\nexport const CONSENT_COMPLETED = 'consent-completed';\n\nexport const REVIEW_LOADING_SCREEN_DESCRIPTION = `Submitting referrals. Don’t refresh or click the back button.`;\n\nexport const REFERRAL_STATUS = {\n FAILED: 'failed',\n PARTIAL: 'partial',\n SUCCESS: 'success',\n};\n\nexport const MESSAGES = {\n FORWARD: {\n [REFERRAL_STATUS.SUCCESS]: 'Referrals Successfully Forwarded!',\n [REFERRAL_STATUS.PARTIAL]: 'Some Referrals Successfully Forwarded',\n DEFAULT: 'Referrals Not Forwarded!'\n },\n CREATE: {\n [REFERRAL_STATUS.SUCCESS]: 'Referrals Successfully Created!',\n [REFERRAL_STATUS.PARTIAL]: 'Some Referrals Successfully Created',\n DEFAULT: 'Referrals Not Created'\n }\n};\n"],"mappings":"AAAA,OAAO,MAAMA,yBAAyB,GAAG,kJAAkJ;AAE3L,OAAO,MAAMC,2BAA2B,GAAG,yEAAyE;AAEpH,OAAO,MAAMC,mBAAmB,GAAG,uDAAuD;AAE1F,OAAO,MAAMC,iBAAiB,GAAG,mBAAmB;AAEpD,OAAO,MAAMC,iCAAiC,GAAG,+DAA+D;AAEhH,OAAO,MAAMC,eAAe,GAAG;EAC7BC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,QAAQ,GAAG;EACtBC,OAAO,EAAE;IACP,CAACL,eAAe,CAACG,OAAO,GAAG,mCAAmC;IAC9D,CAACH,eAAe,CAACE,OAAO,GAAG,uCAAuC;IAClEI,OAAO,EAAE;EACX,CAAC;EACDC,MAAM,EAAE;IACN,CAACP,eAAe,CAACG,OAAO,GAAG,iCAAiC;IAC5D,CAACH,eAAe,CAACE,OAAO,GAAG,qCAAqC;IAChEI,OAAO,EAAE;EACX;AACF,CAAC","ignoreList":[]}
|
|
@@ -16,7 +16,7 @@ const ReferralError = _ref => {
|
|
|
16
16
|
size: 10
|
|
17
17
|
}), /*#__PURE__*/_jsxs("h2", {
|
|
18
18
|
className: "text-base p-2 text-black",
|
|
19
|
-
children: [
|
|
19
|
+
children: [`${isNetworkError ? error : "Error: Referral creation failed. Get help resolving the issue by reaching out to "}`, !isNetworkError && /*#__PURE__*/_jsx("button", {
|
|
20
20
|
id: "website-link",
|
|
21
21
|
className: "text-base ui-contact-information__icon-text--website pl-quarter underline text-blue-600",
|
|
22
22
|
onClick: () => {
|
|
@@ -61,7 +61,7 @@ const OffPlatformSuccess = _ref2 => {
|
|
|
61
61
|
className: "mt-4",
|
|
62
62
|
children: programs.map((program, index) => /*#__PURE__*/_jsxs("p", {
|
|
63
63
|
className: "text-base text-grey mb-2",
|
|
64
|
-
children: [program.name, " ", get(program, 'provider.name') &&
|
|
64
|
+
children: [program.name, " ", get(program, 'provider.name') && `(${get(program, 'provider.name')})`]
|
|
65
65
|
}, index))
|
|
66
66
|
}), /*#__PURE__*/_jsx("div", {
|
|
67
67
|
className: "mt-4",
|
|
@@ -116,7 +116,6 @@ const RegularSuccess = _ref3 => {
|
|
|
116
116
|
};
|
|
117
117
|
const referralStatusRedesign = (referralsResultDetail, referrals) => {
|
|
118
118
|
return referralsResultDetail.map(_ref4 => {
|
|
119
|
-
var _error$includes;
|
|
120
119
|
let {
|
|
121
120
|
sent,
|
|
122
121
|
error,
|
|
@@ -127,9 +126,9 @@ const referralStatusRedesign = (referralsResultDetail, referrals) => {
|
|
|
127
126
|
attachmentStatus
|
|
128
127
|
} = _ref4;
|
|
129
128
|
const isOffPlatformReferral = referralIsOON(referrals[index]);
|
|
130
|
-
const referralName =
|
|
129
|
+
const referralName = `Referral ${index + 1}: ${get(referrals[index], 'service.name')}${isOffPlatformReferral ? ', Off-Platform' : ''}`;
|
|
131
130
|
const programs = get(referrals[index], 'programs', []);
|
|
132
|
-
const isNetworkError =
|
|
131
|
+
const isNetworkError = error?.includes?.('network') || false;
|
|
133
132
|
return /*#__PURE__*/_jsxs("div", {
|
|
134
133
|
className: "w-3/4 p-8 mb-4 border border-solid border-table-border-color bg-white",
|
|
135
134
|
children: [/*#__PURE__*/_jsx("h1", {
|
|
@@ -147,7 +146,7 @@ const referralStatusRedesign = (referralsResultDetail, referrals) => {
|
|
|
147
146
|
isGrouped: isGrouped
|
|
148
147
|
}), (attachmentStatus === 'partial' || attachmentStatus === 'failed') && /*#__PURE__*/_jsx(AttachmentWarning, {})]
|
|
149
148
|
})]
|
|
150
|
-
},
|
|
149
|
+
}, `referral-status-${caseId}`);
|
|
151
150
|
});
|
|
152
151
|
};
|
|
153
152
|
export default referralStatusRedesign;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referralStatusRedesign.js","names":["get","addHttpIfNeeded","Button","Icon","referralIsOON","CALLBACKS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralError","_ref","isNetworkError","error","className","children","icon","size","
|
|
1
|
+
{"version":3,"file":"referralStatusRedesign.js","names":["get","addHttpIfNeeded","Button","Icon","referralIsOON","CALLBACKS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralError","_ref","isNetworkError","error","className","children","icon","size","id","onClick","window","open","title","AttachmentWarning","color","OffPlatformSuccess","_ref2","programs","caseId","map","program","index","name","link","label","position","disabled","redirectToOffPlatformCaseDetails","RegularSuccess","_ref3","referralId","isGrouped","redirect","redirectToOutboundReferralsAll","redirectToReferralDetails","referralStatusRedesign","referralsResultDetail","referrals","_ref4","sent","attachmentStatus","isOffPlatformReferral","referralName","includes"],"sources":["../../../src/pages/review/referralStatusRedesign.jsx"],"sourcesContent":["import get from 'lodash/get';\nimport { addHttpIfNeeded, Button, Icon } from '@unite-us/app-components';\nimport { referralIsOON } from '../builder/utils.js';\nimport { CALLBACKS } from '../../api/config';\n\nconst ReferralError = ({ isNetworkError, error }) => (\n <div className='flex flex-row items-center mt-4 rounded border border-solid border-red bg-light-red'>\n <Icon className=\"text-white fill-current bg-red rounded-full p-1 ml-4\" icon={'Cross'} size={10} />\n <h2 className=\"text-base p-2 text-black\">\n {`${isNetworkError ? error : \"Error: Referral creation failed. Get help resolving the issue by reaching out to \"}`}\n {!isNetworkError && (\n <button\n id=\"website-link\"\n className=\"text-base ui-contact-information__icon-text--website pl-quarter underline text-blue-600\"\n onClick={() => {\n window.open(addHttpIfNeeded('support@uniteus.com'), '_blank', 'noopener,noreferrer');\n }}\n title={'Organization Website'}\n >\n {'support@uniteus.com.'}\n </button>\n )}\n </h2>\n </div>\n);\n\nconst AttachmentWarning = () => (\n <div className='flex flex-row items-center mt-4 rounded border border-solid border-yellow bg-light-yellow'>\n <Icon className=\"ml-4\" color={'yellow'} icon={'ExclamationTriangle'} size={18} />\n <h2 className=\"text-base p-2 text-black\">\n Referral created, but some attachments could not be uploaded. Open the referral to upload them again.\n </h2>\n </div>\n);\n\nconst OffPlatformSuccess = ({ programs, caseId }) => (\n <>\n <div className='flex flex-row items-center mt-4 rounded border border-solid border-yellow bg-light-yellow'>\n <Icon className=\"ml-4\" color={'yellow'} icon={'ExclamationTriangle'} size={18} />\n <h2 className=\"text-base p-2 text-black\">\n Action required: Off-platform case created. Follow up with programs outside Unite Us.\n </h2>\n </div>\n <div className='mt-4'>\n {programs.map((program, index) => (\n <p key={index} className='text-base text-grey mb-2'>\n {program.name} {get(program, 'provider.name') && `(${get(program, 'provider.name')})`}\n </p>\n ))}\n </div>\n <div className='mt-4'>\n <Button\n className=\"p-0\"\n link\n label=\"View Off-Platform Case\"\n icon={{\n name: 'Case',\n color: 'blue',\n position: 'left',\n }}\n disabled={!caseId}\n onClick={() => CALLBACKS.redirectToOffPlatformCaseDetails(caseId)}\n />\n </div>\n </>\n);\n\nconst RegularSuccess = ({ referralId, isGrouped }) => (\n <>\n <div className='flex flex-row items-center mt-4 rounded border border-solid border-green bg-light-green'>\n <Icon className=\"ml-4\" color={'green'} icon={'CheckCircle'} size={18} />\n <h2 className=\"text-base p-2 text-black\">\n No further action required: Referral created.\n </h2>\n </div>\n <Button\n className=\"p-0 mt-4\"\n link\n label=\"View Referral(s)\"\n icon={{\n name: 'Referral',\n color: 'blue',\n position: 'left',\n }}\n disabled={!referralId}\n onClick={() => {\n const redirect = isGrouped\n ? CALLBACKS.redirectToOutboundReferralsAll\n : CALLBACKS.redirectToReferralDetails;\n redirect(referralId);\n }}\n />\n </>\n);\n\nconst referralStatusRedesign = (referralsResultDetail, referrals) => {\n return referralsResultDetail.map(({ sent, error, index, caseId, referralId, isGrouped, attachmentStatus }) => {\n const isOffPlatformReferral = referralIsOON(referrals[index]);\n const referralName = `Referral ${index + 1}: ${get(referrals[index], 'service.name')}${isOffPlatformReferral ? ', Off-Platform' : ''}`;\n const programs = get(referrals[index], 'programs', []);\n const isNetworkError = error?.includes?.('network') || false;\n\n return (\n <div\n key={`referral-status-${caseId}`}\n className='w-3/4 p-8 mb-4 border border-solid border-table-border-color bg-white'\n >\n <h1 className='capitalize font-black text-grey'>{referralName}</h1>\n {!sent ? (\n <ReferralError isNetworkError={isNetworkError} error={error} />\n ) : (\n <>\n {isOffPlatformReferral ? (\n <OffPlatformSuccess programs={programs} caseId={caseId} />\n ) : (\n <RegularSuccess referralId={referralId} isGrouped={isGrouped} />\n )}\n {(attachmentStatus === 'partial' || attachmentStatus === 'failed') && <AttachmentWarning />}\n </>\n )}\n </div>\n );\n });\n};\n\nexport default referralStatusRedesign;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
1
|
import React, { useEffect, useRef, useState, useCallback } from 'react';
|
|
5
2
|
import { useNavigate } from 'react-router-dom';
|
|
6
3
|
import { get, isEmpty, some } from 'lodash';
|
|
@@ -39,9 +36,9 @@ export default function SupportingInfo() {
|
|
|
39
36
|
const [isDisabled, setIsDisabled] = useState(true);
|
|
40
37
|
const [isSavingDraft, setIsSavingDraft] = useState(false);
|
|
41
38
|
const formsRenderedRef = useRef(0);
|
|
42
|
-
const providerId = currentProvider
|
|
39
|
+
const providerId = currentProvider?.id;
|
|
43
40
|
useEffect(() => {
|
|
44
|
-
const serviceIds = referrals
|
|
41
|
+
const serviceIds = referrals?.map(referral => referral.service.id);
|
|
45
42
|
fetchCoreGroupForms(providerId, serviceIds).then(data => {
|
|
46
43
|
setGroupForms(data);
|
|
47
44
|
if (isEmpty(data)) {
|
|
@@ -62,10 +59,7 @@ export default function SupportingInfo() {
|
|
|
62
59
|
|
|
63
60
|
// no dependencies in order to hide error message by checking hasErrors on every render of forms
|
|
64
61
|
useEffect(() => {
|
|
65
|
-
const hasErrors = some(formRefs
|
|
66
|
-
var _form$ref;
|
|
67
|
-
return form === null || form === void 0 || (_form$ref = form.ref) === null || _form$ref === void 0 ? void 0 : _form$ref.hasErrors();
|
|
68
|
-
});
|
|
62
|
+
const hasErrors = some(formRefs?.current, form => form?.ref?.hasErrors());
|
|
69
63
|
if (!hasErrors) {
|
|
70
64
|
setShowErrors(false);
|
|
71
65
|
}
|
|
@@ -99,12 +93,11 @@ export default function SupportingInfo() {
|
|
|
99
93
|
let hasErrors = false;
|
|
100
94
|
const forms = formRefs.current;
|
|
101
95
|
Object.keys(forms).forEach(formId => {
|
|
102
|
-
var _formRef$ref;
|
|
103
96
|
const formRef = forms[formId];
|
|
104
|
-
if (formRef
|
|
97
|
+
if (formRef?.ref?.hasErrors()) {
|
|
105
98
|
hasErrors = true;
|
|
106
99
|
}
|
|
107
|
-
if (formRef
|
|
100
|
+
if (formRef?.ref) {
|
|
108
101
|
const response = buildResponses(formRef.ref);
|
|
109
102
|
if (!isEmpty(response)) {
|
|
110
103
|
formResponses[formId] = {
|
|
@@ -180,15 +173,15 @@ export default function SupportingInfo() {
|
|
|
180
173
|
className: "add-supporting-details-step",
|
|
181
174
|
children: /*#__PURE__*/_jsx("div", {
|
|
182
175
|
children: groupForms.map((form, index) => {
|
|
183
|
-
|
|
184
|
-
const formRef = formRefs === null || formRefs === void 0 || (_formRefs$current$for = formRefs.current[form.id]) === null || _formRefs$current$for === void 0 ? void 0 : _formRefs$current$for.ref;
|
|
176
|
+
const formRef = formRefs?.current[form.id]?.ref;
|
|
185
177
|
return /*#__PURE__*/_jsx(FormForm, {
|
|
186
|
-
id:
|
|
187
|
-
className:
|
|
178
|
+
id: `group-form-${index}`,
|
|
179
|
+
className: `custom-form-${index}`,
|
|
188
180
|
setRef: ref => {
|
|
189
|
-
formRefs.current =
|
|
181
|
+
formRefs.current = {
|
|
182
|
+
...formRefs.current,
|
|
190
183
|
[form.id]: ref
|
|
191
|
-
}
|
|
184
|
+
};
|
|
192
185
|
handleRef();
|
|
193
186
|
},
|
|
194
187
|
formId: form.id,
|
|
@@ -196,12 +189,12 @@ export default function SupportingInfo() {
|
|
|
196
189
|
handleExpandChange: () => handleExpandChange(index),
|
|
197
190
|
expanded: index === expandedFormCard,
|
|
198
191
|
currentEmployee: currentEmployee,
|
|
199
|
-
hasErrors: showErrors ? formRef
|
|
192
|
+
hasErrors: showErrors ? formRef?.hasErrors() : false,
|
|
200
193
|
contextType: "case",
|
|
201
194
|
contextPerson: person.id,
|
|
202
|
-
response: formResponses
|
|
195
|
+
response: formResponses?.[form.id],
|
|
203
196
|
usage_type: "referral_assessment"
|
|
204
|
-
},
|
|
197
|
+
}, `${form.id}formform`);
|
|
205
198
|
})
|
|
206
199
|
})
|
|
207
200
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupportingInfo.js","names":["React","useEffect","useRef","useState","useCallback","useNavigate","get","isEmpty","some","buildResponses","Icon","StepHeader","SUPPORTING_INFO","setData","useAppCreateReferralContext","CreateReferralContainer","fetchCoreGroupForms","NavButtons","FormForm","useCreateReferrals","CALLBACKS","hasOffPlatformReferrals","clearDraftState","jsx","_jsx","jsxs","_jsxs","SupportingInfo","navigate","dispatch","state","person","currentEmployee","currentProvider","referrals","fieldsConfig","formResponses","groupForms","setGroupForms","formRefs","expandedFormCard","setExpandedFormCard","showErrors","setShowErrors","isDisabled","setIsDisabled","isSavingDraft","setIsSavingDraft","formsRenderedRef","providerId","id","serviceIds","map","referral","service","then","data","handleRef","totalForms","length","current","hasErrors","form","_form$ref","ref","handleExpandChange","index","goToReviewStep","dispatchAssessmentResponses","responses","getAssessmentsResponses","onButtonClick","back","dispatchedResponses","forms","Object","keys","forEach","formId","_formRef$ref","formRef","response","find","f","createReferrals","handleSaveDraftReferral","draft","latestResponses","shippingDetail","_ref","error","onSaveDraftReferral","children","header","className","onBackClick","onForwardClick","primaryLabel","disabled","hideSaveDraftLink","icon","color","size","_formRefs$current$for","concat","setRef","_objectSpread","groupId","expanded","contextType","contextPerson","usage_type"],"sources":["../../../src/pages/supporting-info/SupportingInfo.js"],"sourcesContent":["import React, { useEffect, useRef, useState, useCallback } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { get, isEmpty, some } from 'lodash';\nimport { buildResponses } from '@unite-us/ui-surveyjs2';\nimport { Icon } from '@unite-us/app-components';\nimport StepHeader from '../../components/StepHeader';\nimport { SUPPORTING_INFO } from '../builder/constants';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport fetchCoreGroupForms from '../../actions/Group/fetchCoreGroupForms';\nimport NavButtons from '../../components/NavButtons';\nimport FormForm from '../../common/form/FormForm';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS } from '../../api/config';\nimport { hasOffPlatformReferrals } from '../builder/utils';\nimport clearDraftState from '../builder/clearDraftState';\nimport './SupportingInfo.scss';\n\nexport default function SupportingInfo() {\n const navigate = useNavigate();\n const { dispatch, state: { person, currentEmployee, currentProvider, referrals, fieldsConfig, formResponses } } = useAppCreateReferralContext();\n const [groupForms, setGroupForms] = useState([]);\n const formRefs = useRef({});\n const [expandedFormCard, setExpandedFormCard] = useState(0);\n const [showErrors, setShowErrors] = useState(false);\n const [isDisabled, setIsDisabled] = useState(true);\n const [isSavingDraft, setIsSavingDraft] = useState(false);\n const formsRenderedRef = useRef(0);\n const providerId = currentProvider?.id;\n\n useEffect(() => {\n const serviceIds = referrals?.map((referral) => referral.service.id);\n fetchCoreGroupForms(providerId, serviceIds).then((data) => {\n setGroupForms(data);\n if(isEmpty(data)) { setIsDisabled(false) };\n });\n }, [providerId, referrals]);\n\n const handleRef = useCallback(() => {\n if (isDisabled) {\n const totalForms = groupForms.length;\n formsRenderedRef.current += 1;\n if (formsRenderedRef.current === totalForms) {\n setIsDisabled(false);\n }\n }\n }, [isDisabled, groupForms.length]);\n\n // no dependencies in order to hide error message by checking hasErrors on every render of forms\n useEffect(() => {\n const hasErrors = some((formRefs?.current), (form) =>\n form?.ref?.hasErrors()\n );\n if (!hasErrors) { setShowErrors(false) };\n }, []);\n\n const handleExpandChange = (index) => {\n if (index === expandedFormCard)\n setExpandedFormCard(null);\n else {\n setExpandedFormCard(index);\n }\n };\n\n const goToReviewStep = () => {\n navigate('/create/review')\n }\n\n const dispatchAssessmentResponses = () => {\n const responses = getAssessmentsResponses();\n dispatch(setData({\n formResponses: responses,\n }));\n return responses;\n }\n\n const onButtonClick = (back) => {\n const dispatchedResponses = dispatchAssessmentResponses();\n if (back) {\n navigate('/create/builder')\n } else if (dispatchedResponses) {\n goToReviewStep();\n }\n }\n\n const getAssessmentsResponses = () => {\n const formResponses = {};\n let hasErrors = false;\n const forms = formRefs.current;\n Object.keys(forms).forEach((formId) => {\n const formRef = forms[formId];\n\n if (formRef?.ref?.hasErrors()) {\n hasErrors = true;\n }\n if (formRef?.ref) {\n const response = buildResponses(formRef.ref);\n if (!isEmpty(response)) {\n formResponses[formId] = {\n responses: response,\n form: groupForms.find(f => f.id === formId)\n }\n }\n }\n });\n\n if (hasErrors) {\n setShowErrors(true);\n return;\n };\n\n return formResponses\n }\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n if (isSavingDraft) return;\n\n setIsSavingDraft(true);\n try {\n const responses = dispatchAssessmentResponses();\n const response = await createReferrals({ draft: true, latestResponses: responses });\n if (some(response.shippingDetail, ({ error }) => error)) {\n return;\n }\n\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n clearDraftState(dispatch);\n } finally {\n setIsSavingDraft(false);\n }\n };\n\n return (\n <CreateReferralContainer>\n <StepHeader header={'Complete Assessments'}>\n {SUPPORTING_INFO}\n </StepHeader>\n\n <div className=\"px-12 pb-6\">\n <NavButtons\n onBackClick={() => onButtonClick(true)}\n onForwardClick={() => onButtonClick(false)}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n disabled={isDisabled || isSavingDraft}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isSavingDraft={isSavingDraft}\n />\n\n {\n showErrors ? (\n <div className=\"flex justify-end responsive-max-width mx-auto mb-4\">\n <Icon icon=\"ExclamationTriangle\" color=\"#D0021B\" className=\"mr-2 mt-0.5\" size={12} />\n <p className=\"text-red\">One or more assessments require your attention.</p>\n </div>\n ) : null\n }\n\n <div className=\"bg-white border border-solid border-blue-border rounded mx-auto responsive-max-width\">\n <div className=\"add-supporting-details-step\">\n <div>\n {\n groupForms.map((form, index) => {\n const formRef = formRefs?.current[form.id]?.ref;\n\n return (\n <FormForm\n id={`group-form-${index}`}\n className={`custom-form-${index}`}\n setRef={(ref) => {\n formRefs.current = {\n ...formRefs.current,\n [form.id]: ref,\n };\n handleRef();\n }}\n key={`${form.id}formform`}\n formId={form.id}\n groupId={providerId}\n handleExpandChange={() => handleExpandChange(index)}\n expanded={index === expandedFormCard}\n currentEmployee={currentEmployee}\n hasErrors={showErrors ? formRef?.hasErrors() : false}\n contextType=\"case\"\n contextPerson={person.id}\n response={formResponses?.[form.id]}\n usage_type=\"referral_assessment\"\n />\n )\n })\n }\n </div>\n </div>\n </div>\n {!isEmpty(groupForms) && (\n <div className=\"pt-6\">\n <NavButtons\n onBackClick={() => onButtonClick(true)}\n onForwardClick={() => onButtonClick(false)}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n disabled={isDisabled || isSavingDraft}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isSavingDraft={isSavingDraft}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SupportingInfo.js","names":["React","useEffect","useRef","useState","useCallback","useNavigate","get","isEmpty","some","buildResponses","Icon","StepHeader","SUPPORTING_INFO","setData","useAppCreateReferralContext","CreateReferralContainer","fetchCoreGroupForms","NavButtons","FormForm","useCreateReferrals","CALLBACKS","hasOffPlatformReferrals","clearDraftState","jsx","_jsx","jsxs","_jsxs","SupportingInfo","navigate","dispatch","state","person","currentEmployee","currentProvider","referrals","fieldsConfig","formResponses","groupForms","setGroupForms","formRefs","expandedFormCard","setExpandedFormCard","showErrors","setShowErrors","isDisabled","setIsDisabled","isSavingDraft","setIsSavingDraft","formsRenderedRef","providerId","id","serviceIds","map","referral","service","then","data","handleRef","totalForms","length","current","hasErrors","form","ref","handleExpandChange","index","goToReviewStep","dispatchAssessmentResponses","responses","getAssessmentsResponses","onButtonClick","back","dispatchedResponses","forms","Object","keys","forEach","formId","formRef","response","find","f","createReferrals","handleSaveDraftReferral","draft","latestResponses","shippingDetail","_ref","error","onSaveDraftReferral","children","header","className","onBackClick","onForwardClick","primaryLabel","disabled","hideSaveDraftLink","icon","color","size","setRef","groupId","expanded","contextType","contextPerson","usage_type"],"sources":["../../../src/pages/supporting-info/SupportingInfo.js"],"sourcesContent":["import React, { useEffect, useRef, useState, useCallback } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { get, isEmpty, some } from 'lodash';\nimport { buildResponses } from '@unite-us/ui-surveyjs2';\nimport { Icon } from '@unite-us/app-components';\nimport StepHeader from '../../components/StepHeader';\nimport { SUPPORTING_INFO } from '../builder/constants';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport fetchCoreGroupForms from '../../actions/Group/fetchCoreGroupForms';\nimport NavButtons from '../../components/NavButtons';\nimport FormForm from '../../common/form/FormForm';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS } from '../../api/config';\nimport { hasOffPlatformReferrals } from '../builder/utils';\nimport clearDraftState from '../builder/clearDraftState';\nimport './SupportingInfo.scss';\n\nexport default function SupportingInfo() {\n const navigate = useNavigate();\n const { dispatch, state: { person, currentEmployee, currentProvider, referrals, fieldsConfig, formResponses } } = useAppCreateReferralContext();\n const [groupForms, setGroupForms] = useState([]);\n const formRefs = useRef({});\n const [expandedFormCard, setExpandedFormCard] = useState(0);\n const [showErrors, setShowErrors] = useState(false);\n const [isDisabled, setIsDisabled] = useState(true);\n const [isSavingDraft, setIsSavingDraft] = useState(false);\n const formsRenderedRef = useRef(0);\n const providerId = currentProvider?.id;\n\n useEffect(() => {\n const serviceIds = referrals?.map((referral) => referral.service.id);\n fetchCoreGroupForms(providerId, serviceIds).then((data) => {\n setGroupForms(data);\n if(isEmpty(data)) { setIsDisabled(false) };\n });\n }, [providerId, referrals]);\n\n const handleRef = useCallback(() => {\n if (isDisabled) {\n const totalForms = groupForms.length;\n formsRenderedRef.current += 1;\n if (formsRenderedRef.current === totalForms) {\n setIsDisabled(false);\n }\n }\n }, [isDisabled, groupForms.length]);\n\n // no dependencies in order to hide error message by checking hasErrors on every render of forms\n useEffect(() => {\n const hasErrors = some((formRefs?.current), (form) =>\n form?.ref?.hasErrors()\n );\n if (!hasErrors) { setShowErrors(false) };\n }, []);\n\n const handleExpandChange = (index) => {\n if (index === expandedFormCard)\n setExpandedFormCard(null);\n else {\n setExpandedFormCard(index);\n }\n };\n\n const goToReviewStep = () => {\n navigate('/create/review')\n }\n\n const dispatchAssessmentResponses = () => {\n const responses = getAssessmentsResponses();\n dispatch(setData({\n formResponses: responses,\n }));\n return responses;\n }\n\n const onButtonClick = (back) => {\n const dispatchedResponses = dispatchAssessmentResponses();\n if (back) {\n navigate('/create/builder')\n } else if (dispatchedResponses) {\n goToReviewStep();\n }\n }\n\n const getAssessmentsResponses = () => {\n const formResponses = {};\n let hasErrors = false;\n const forms = formRefs.current;\n Object.keys(forms).forEach((formId) => {\n const formRef = forms[formId];\n\n if (formRef?.ref?.hasErrors()) {\n hasErrors = true;\n }\n if (formRef?.ref) {\n const response = buildResponses(formRef.ref);\n if (!isEmpty(response)) {\n formResponses[formId] = {\n responses: response,\n form: groupForms.find(f => f.id === formId)\n }\n }\n }\n });\n\n if (hasErrors) {\n setShowErrors(true);\n return;\n };\n\n return formResponses\n }\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n if (isSavingDraft) return;\n\n setIsSavingDraft(true);\n try {\n const responses = dispatchAssessmentResponses();\n const response = await createReferrals({ draft: true, latestResponses: responses });\n if (some(response.shippingDetail, ({ error }) => error)) {\n return;\n }\n\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n clearDraftState(dispatch);\n } finally {\n setIsSavingDraft(false);\n }\n };\n\n return (\n <CreateReferralContainer>\n <StepHeader header={'Complete Assessments'}>\n {SUPPORTING_INFO}\n </StepHeader>\n\n <div className=\"px-12 pb-6\">\n <NavButtons\n onBackClick={() => onButtonClick(true)}\n onForwardClick={() => onButtonClick(false)}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n disabled={isDisabled || isSavingDraft}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isSavingDraft={isSavingDraft}\n />\n\n {\n showErrors ? (\n <div className=\"flex justify-end responsive-max-width mx-auto mb-4\">\n <Icon icon=\"ExclamationTriangle\" color=\"#D0021B\" className=\"mr-2 mt-0.5\" size={12} />\n <p className=\"text-red\">One or more assessments require your attention.</p>\n </div>\n ) : null\n }\n\n <div className=\"bg-white border border-solid border-blue-border rounded mx-auto responsive-max-width\">\n <div className=\"add-supporting-details-step\">\n <div>\n {\n groupForms.map((form, index) => {\n const formRef = formRefs?.current[form.id]?.ref;\n\n return (\n <FormForm\n id={`group-form-${index}`}\n className={`custom-form-${index}`}\n setRef={(ref) => {\n formRefs.current = {\n ...formRefs.current,\n [form.id]: ref,\n };\n handleRef();\n }}\n key={`${form.id}formform`}\n formId={form.id}\n groupId={providerId}\n handleExpandChange={() => handleExpandChange(index)}\n expanded={index === expandedFormCard}\n currentEmployee={currentEmployee}\n hasErrors={showErrors ? formRef?.hasErrors() : false}\n contextType=\"case\"\n contextPerson={person.id}\n response={formResponses?.[form.id]}\n usage_type=\"referral_assessment\"\n />\n )\n })\n }\n </div>\n </div>\n </div>\n {!isEmpty(groupForms) && (\n <div className=\"pt-6\">\n <NavButtons\n onBackClick={() => onButtonClick(true)}\n onForwardClick={() => onButtonClick(false)}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n disabled={isDisabled || isSavingDraft}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isSavingDraft={isSavingDraft}\n />\n </div>\n )}\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const ensureAttachmentArray = value => Array.isArray(value) ? value : [];
|
|
2
|
-
export const isPendingAttachment = attachment => Boolean(
|
|
2
|
+
export const isPendingAttachment = attachment => Boolean(attachment?.tempId && attachment?.file);
|
|
3
3
|
export const splitAttachments = attachments => {
|
|
4
4
|
const attachmentList = ensureAttachmentArray(attachments);
|
|
5
5
|
return {
|