@unite-us/app-create-referral 0.15.101 → 0.15.103

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ReferralBuilder.js","names":["React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","values","intersectionBy","compact","useNavigate","useLocation","Button","Icon","setData","useAppCreateReferralContext","StepHeader","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","coreApi","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralBuilder","_location$state$selec","_location$state","location","navigate","dispatch","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","contextCaseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","previousWindowWidthRef","window","innerWidth","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb854ForwardingSuperset","showClientNeeds","servicesState","setServicesState","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","selectedIndex","setSelectedIndex","selectedReferral","fieldErrors","setFieldErrors","nextClicked","setNextClicked","saveDraftClicked","setSaveDraftClicked","expandReferralsCard","setExpandReferralsCard","documents","setDocuments","caseDocuments","setCaseDocuments","loadedDocuments","setloadedDocuments","isEmrSource","networksUnlistedProgram","setNetworksUnlistedProgram","caseData","setCaseData","hasDraftReferral","referralBuilderTitle","isForwardReferralPath","query","URLSearchParams","search","personId","id","errors","Object","keys","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","icd10_code","client_need","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onReferralsBuilt","groupedReferrals","initErrors","forEach","_referral","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","name","mapProgramsToServicesState","flatMap","program","services","serviceName","length","initialState","hasUnlistedPrograms","then","networks","syncExpandedCardWhenChevronHidden","currentWindowWidth","previousWindowWidth","addEventListener","removeEventListener","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","fetchCaseData","data","findRecord","error","console","updatedReferrals","attachableDocuments","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_index","Boolean","focusErrors","setFocus","onNextClick","concat","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","filter","p","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","r","newSelectedPrograms","updateAttachments","attachments","navigateBack","draftCaseId","redirectToDraftReferral","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","draft","onSaveDraftReferral","notify","success","changeWidthReferralCard","prevExpandReferralsCard","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","children","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","icon","color","direction","ariaLabel","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, coreApi } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport fetchCaseDocuments from '../../actions/Document/Contact/Group/fetchCaseDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\nimport {\n REFERRAL_BUILDER_DESCRIPTION,\n} from './constants';\nimport { handleKeyDown } from '../../common/utils/utils';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\n\nexport default function ReferralBuilder() {\n const location = useLocation();\n const navigate = useNavigate();\n const {\n dispatch,\n state: {\n referrals,\n selectedPrograms,\n currentEmployee,\n currentProvider,\n fieldsConfig,\n source,\n person,\n draftState,\n referralDescription,\n caseId: contextCaseId,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\n const previousWindowWidthRef = useRef(window.innerWidth);\n\n const openChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.openDialog();\n }, []);\n\n const closeChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.closeDialog();\n }, []);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n\n const [servicesState, setServicesState] = useState([]);\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [isOpenChooseOneServiceTypeModal, setChooseOneServiceTypeModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [fieldErrors, setFieldErrors] = useState({})\n const [nextClicked, setNextClicked] = useState(false);\n const [saveDraftClicked, setSaveDraftClicked] = useState(false);\n const [expandReferralsCard, setExpandReferralsCard] = useState(false);\n const [documents, setDocuments] = useState([]);\n const [caseDocuments, setCaseDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const [caseData, setCaseData] = useState(null);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isForwardReferralPath = !!referralId && !!referralType;\n const query = new URLSearchParams(location.search);\n const caseId = contextCaseId || query.get('caseId');\n const personId = person?.id || query.get('person');\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n service: fieldError?.service,\n network: fieldError?.network,\n primary_worker: fieldError?.primary_worker,\n description: fieldError?.description,\n amount_requested: fieldError?.amount_requested || fieldError?.amount_exceeded,\n service_end: fieldError?.service_end || fieldError?.invalid_insurance_auth_dates,\n passthrough_dates: fieldError?.passthrough_dates,\n opened_date: fieldError?.opened_date,\n icd10_code: fieldError?.icd10_code,\n client_need: fieldError?.client_need,\n }\n return acc;\n }, {});\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n \n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n \n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onReferralsBuilt = (groupedReferrals) => {\n if(!isEmpty(groupedReferrals)) {\n const initErrors = initializeReferralErrors(groupedReferrals, showClientNeeds);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms?.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n ) || [];\n };\n\n useEffect(() => {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const syncExpandedCardWhenChevronHidden = () => {\n const currentWindowWidth = window.innerWidth;\n const previousWindowWidth = previousWindowWidthRef.current;\n\n if (currentWindowWidth >= 1024) {\n setExpandReferralsCard(true);\n } else if (previousWindowWidth >= 1024) {\n setExpandReferralsCard(false);\n }\n\n previousWindowWidthRef.current = currentWindowWidth;\n };\n\n syncExpandedCardWhenChevronHidden();\n window.addEventListener('resize', syncExpandedCardWhenChevronHidden);\n return () => window.removeEventListener('resize', syncExpandedCardWhenChevronHidden);\n }, []);\n\n\n const onLearnMoreClick = () => {\n setAboutGroupedReferralsModalIsOpen(true);\n };\n\n const onCloseGroupedReferralsModal = () => {\n setAboutGroupedReferralsModalIsOpen(false);\n }\n\n const refModal = useRef(null);\n useEffect(() => {\n if (aboutGroupedReferralsModalIsOpen) {\n refModal.current.openModal();\n } else {\n refModal.current.closeModal();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (!isLoading && isOpenChooseOneServiceTypeModal) {\n openChooseOneServiceTypeModal();\n }\n }, [isLoading]);\n\n const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n fetchContactDocuments(person.id).then((result) => {\n setDocuments(result);\n });\n }, []);\n\n useEffect(() => {\n if (caseId && crtb854ForwardingSuperset) {\n fetchCaseDocuments(caseId).then((result) => {\n setCaseDocuments(result);\n });\n }\n }, []);\n\n useEffect(() => {\n const fetchCaseData = async () => {\n if (caseId) {\n try {\n const { data: { data: caseData } } = await coreApi.findRecord('case', caseId);\n setCaseData(caseData);\n } catch (error) {\n console.error('Error fetching case data:', error);\n }\n }\n };\n fetchCaseData();\n }, [caseId]);\n\n useEffect(() => {\n if (!isEmpty(referrals) && !loadedDocuments && (!isEmpty(documents) || !isEmpty(caseDocuments))) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: [...documents, ...caseDocuments].map((doc) => ({ attached: false, document: doc })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n }\n\n const hasMoreThanOneServiceType = selectedPrograms?.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\n }\n }, 100);\n };\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (hasDraftReferral) {\n const draftCaseId = get(draftState, 'case.id', null);\n CALLBACKS.redirectToDraftReferral(draftCaseId);\n } else if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n };\n\n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isEmptyErrors(errors)) {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } else {\n focusErrors();\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard((prevExpandReferralsCard) => !prevExpandReferralsCard);\n };\n\n if (isLoading) return <Spinner center />;\n\n const referralSubtitle = getReferralSubtitle(referrals, getSelected());\n const unselectedReferralIndexes = referrals.map((_referral, index) => index).filter((index) => index !== selectedIndex);\n const allPrograms = referrals?.flatMap((r) => r.programs);\n const errorMessage = generateErrorMessage(errors);\n const currentReferral = getSelected();\n\n const xlOrLgInvisibleChevron = classNames({\n 'lg:invisible': true\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': true\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected });\n const filteredNonSelectedServices = servicesState.filter((service) => { return !service.selected });\n const updatedReferrals = updatedReferralsBySelectedServices(referrals, filteredSelectedServices);\n\n const initErrors = initializeReferralErrors(updatedReferrals, showClientNeeds);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Click here to learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n isForwardReferralPath={isForwardReferralPath}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"relative mx-auto responsive-max-width\">\n {\n (errorMessage && (nextClicked || saveDraftClicked)) ? (\n <div className=\"flex justify-end\">\n <Icon icon=\"InfoCircle\" color=\"red\" className=\"mr-2 mt-px\" />\n <p className=\"text-red\">{errorMessage}</p>\n </div>\n ) : null\n }\n <div className={`flex justify-end my-5 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded\n ${expandReferralsCard ? 'relative md:max-w-none lg:w-3/6 z-20' : 'md:w-2/6 lg:w-2/6'}`}>\n <div className=\"p-5 h-full\">\n <div className=\"flex justify-between relative\">\n <div>\n <h3 className=\"text-xl font-black mb-5\">\n Referrals\n </h3>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon \n icon='ChevronArrow' \n direction={expandReferralsCard ? \"left\" : \"right\"} \n ariaLabel={expandReferralsCard ? \"Collapse sidebar\" : \"Expand Sidebar\"} \n className=\"w-6 h-6\" \n onClick={() => changeWidthReferralCard()}\n />\n </div>\n </div>\n {referrals?.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${index}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n errors={errors[index]}\n expandReferralsCard={expandReferralsCard}\n isEmrSource={isEmrSource}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(currentReferral, 'programs', [])) ? (\n <ReferralBuilderForm\n currentEmployee={currentEmployee}\n currentProvider={currentProvider} \n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n referral={currentReferral}\n referrals={referrals}\n referralSubtitle={referralSubtitle}\n index={selectedIndex}\n onChange={saveValuesOnChange}\n unselected={unselectedReferralIndexes}\n removeProgram={removeProgram}\n onSetForm={(newForm) => { form.current = newForm; }}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n updateAttachments={updateAttachments}\n source={source}\n networksUnlistedProgram={networksUnlistedProgram}\n setReferralErrors={setReferralErrors}\n referralDescription={referralDescription}\n person={person}\n caseData={caseData}\n personId={personId}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n onClick={navigateBack}\n />\n )\n }\n\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasDraftReferral={hasDraftReferral}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isForwardReferralPath={isForwardReferralPath}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ReferralBuilder.js","names":["React","useEffect","useState","useRef","useCallback","isEqual","isEmpty","get","some","values","intersectionBy","compact","useNavigate","useLocation","Button","Icon","setData","useAppCreateReferralContext","StepHeader","ReferralCard","ReferralBuilderForm","isUnlistedProgram","getReferralSubtitle","initializeReferralErrors","generateErrorMessage","hasOffPlatformReferrals","isEmptyErrors","removeErrorByIndex","updatedReferralsBySelectedServices","useBuildReferrals","CreateReferralContainer","NavButtons","NoReferralsDisplay","removeReferralProgram","Spinner","useCreateReferrals","CALLBACKS","coreApi","fetchContactDocuments","fetchCaseDocuments","classNames","fetchNetworks","useFeatureFlag","ChooseOneServiceTypeModal","REFERRAL_BUILDER_DESCRIPTION","handleKeyDown","AboutGroupedReferralsModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ReferralBuilder","_location$state$selec","_location$state","location","navigate","dispatch","state","referrals","selectedPrograms","currentEmployee","currentProvider","fieldsConfig","source","person","draftState","referralDescription","caseId","contextCaseId","referralId","referralType","form","ChooseOneServiceTypeModalRef","previousWindowWidthRef","window","innerWidth","openChooseOneServiceTypeModal","current","openDialog","closeChooseOneServiceTypeModal","closeDialog","hint542SupersetUnlistedPrograms","crtb854ForwardingSuperset","showClientNeeds","servicesState","setServicesState","aboutGroupedReferralsModalIsOpen","setAboutGroupedReferralsModalIsOpen","isOpenChooseOneServiceTypeModal","setChooseOneServiceTypeModalIsOpen","selectedIndex","setSelectedIndex","selectedReferral","fieldErrors","setFieldErrors","nextClicked","setNextClicked","saveDraftClicked","setSaveDraftClicked","isSavingDraft","setIsSavingDraft","expandReferralsCard","setExpandReferralsCard","documents","setDocuments","caseDocuments","setCaseDocuments","loadedDocuments","setloadedDocuments","isEmrSource","networksUnlistedProgram","setNetworksUnlistedProgram","caseData","setCaseData","hasDraftReferral","referralBuilderTitle","isForwardReferralPath","query","URLSearchParams","search","personId","id","errors","Object","keys","reduce","acc","index","fieldError","service","network","primary_worker","description","amount_requested","amount_exceeded","service_end","invalid_insurance_auth_dates","passthrough_dates","opened_date","icd10_code","client_need","setReferralErrors","referralIndex","newErrors","prevFieldErrors","currentErrors","updatedErrors","_objectSpread","onReferralsBuilt","groupedReferrals","initErrors","forEach","_referral","isLoading","handleServiceSelectionChange","programId","serviceId","prevState","map","selected","findServiceName","_ref","_referralThatHasTheSe","serviceToFind","referralThatHasTheService","find","referral","_referral$service","name","mapProgramsToServicesState","flatMap","program","services","serviceName","length","initialState","hasUnlistedPrograms","then","networks","syncExpandedCardWhenChevronHidden","currentWindowWidth","previousWindowWidth","addEventListener","removeEventListener","onLearnMoreClick","onCloseGroupedReferralsModal","refModal","openModal","closeModal","onReferralCardClick","result","fetchCaseData","data","findRecord","error","console","updatedReferrals","attachableDocuments","doc","attached","document","hasMoreThanOneServiceType","_program$services","getSelected","saveValuesOnChange","props","setTimeout","firstIndexWithErrors","entries","findIndex","_ref2","_index","Boolean","focusErrors","setFocus","onNextClick","concat","errorFieldMap","key","fieldName","getElement","getElementById","_document$getElementB","parentElement","_document$getElementB2","_document$getElementB3","errorObj","_form$current","mutators","setFieldTouched","element","focus","moveToExistingReferral","programs","filter","p","newIndex","moveToNewReferral","newReferral","newReferrals","removeProgram","programName","newReferralPrograms","r","newSelectedPrograms","updateAttachments","attachments","navigateBack","draftCaseId","redirectToDraftReferral","onNavigateBack","navigateToAddResources","onNavigateToAddResources","createReferrals","handleSaveDraftReferral","draft","onSaveDraftReferral","notify","success","changeWidthReferralCard","prevExpandReferralsCard","center","referralSubtitle","unselectedReferralIndexes","allPrograms","errorMessage","currentReferral","xlOrLgInvisibleChevron","xlOrLgSpaceReferralDiv","onConfirmApplyChanges","filteredSelectedServices","filteredNonSelectedServices","onDeselectProgram","children","className","header","type","onClick","onKeyDown","event","label","link","ref","onClose","modalRef","onConfirm","onServiceSelectionChange","onBackClick","onForwardClick","primaryLabel","hideForwardButtons","hideSaveDraftLink","disabled","icon","color","direction","ariaLabel","onChange","unselected","onSetForm","newForm"],"sources":["../../../src/pages/builder/ReferralBuilder.js"],"sourcesContent":["import React, { useEffect, useState, useRef, useCallback } from 'react';\nimport { isEqual, isEmpty, get, some, values, intersectionBy, compact } from 'lodash';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { Button, Icon } from '@unite-us/app-components';\nimport { setData, useAppCreateReferralContext } from '../../context/AppCreateReferralProvider';\nimport StepHeader from '../../components/StepHeader';\nimport ReferralCard from './ReferralCard';\nimport ReferralBuilderForm from './ReferralBuilderForm';\nimport { isUnlistedProgram, getReferralSubtitle, initializeReferralErrors, generateErrorMessage, hasOffPlatformReferrals, isEmptyErrors, removeErrorByIndex, updatedReferralsBySelectedServices } from './utils';\nimport useBuildReferrals from './useBuildReferrals';\nimport CreateReferralContainer from '../../components/CreateReferralContainer';\nimport NavButtons from '../../components/NavButtons';\nimport NoReferralsDisplay from './NoReferralsDisplay';\nimport { removeReferralProgram } from '../../actions/Referral/removeReferralProgram';\nimport Spinner from '../../components/spinners/Spinner';\nimport useCreateReferrals from '../../hooks/useCreateReferrals';\nimport { CALLBACKS, coreApi } from '../../api/config';\nimport fetchContactDocuments from '../../actions/Document/Contact/Group/fetchContactDocuments';\nimport fetchCaseDocuments from '../../actions/Document/Contact/Group/fetchCaseDocuments';\nimport classNames from 'classnames';\nimport fetchNetworks from '../../actions/Referral/fetchNetworks';\nimport { useFeatureFlag } from '../../utils/useFeatureFlag';\nimport ChooseOneServiceTypeModal from './ChooseOneServiceTypeModal';\nimport {\n REFERRAL_BUILDER_DESCRIPTION,\n} from './constants';\nimport { handleKeyDown } from '../../common/utils/utils';\nimport AboutGroupedReferralsModal from './AboutGroupedReferralsModal';\n\nexport default function ReferralBuilder() {\n const location = useLocation();\n const navigate = useNavigate();\n const {\n dispatch,\n state: {\n referrals,\n selectedPrograms,\n currentEmployee,\n currentProvider,\n fieldsConfig,\n source,\n person,\n draftState,\n referralDescription,\n caseId: contextCaseId,\n referralId,\n referralType,\n },\n } = useAppCreateReferralContext();\n const form = useRef();\n const ChooseOneServiceTypeModalRef = useRef();\n const previousWindowWidthRef = useRef(window.innerWidth);\n\n const openChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.openDialog();\n }, []);\n\n const closeChooseOneServiceTypeModal = useCallback(() => {\n ChooseOneServiceTypeModalRef.current.closeDialog();\n }, []);\n\n const hint542SupersetUnlistedPrograms = useFeatureFlag('hint542SupersetUnlistedPrograms', false);\n const crtb854ForwardingSuperset = useFeatureFlag('crtb854ForwardingSuperset', false);\n const showClientNeeds = useFeatureFlag('crtb2130MultipleClientNeeds', false);\n\n const [servicesState, setServicesState] = useState([]);\n const [aboutGroupedReferralsModalIsOpen, setAboutGroupedReferralsModalIsOpen] = useState(false);\n const [isOpenChooseOneServiceTypeModal, setChooseOneServiceTypeModalIsOpen] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(location.state?.selectedReferral ?? 0);\n const [fieldErrors, setFieldErrors] = useState({})\n const [nextClicked, setNextClicked] = useState(false);\n const [saveDraftClicked, setSaveDraftClicked] = useState(false);\n const [isSavingDraft, setIsSavingDraft] = useState(false);\n const [expandReferralsCard, setExpandReferralsCard] = useState(false);\n const [documents, setDocuments] = useState([]);\n const [caseDocuments, setCaseDocuments] = useState([]);\n const [loadedDocuments, setloadedDocuments] = useState(false);\n const isEmrSource = source === 'emr';\n const [networksUnlistedProgram, setNetworksUnlistedProgram] = useState([]);\n const [caseData, setCaseData] = useState(null);\n const hasDraftReferral = draftState?.state === 'draft';\n const referralBuilderTitle = hasDraftReferral ? 'Edit Your Referrals' : 'Prepare Your Referrals';\n const isForwardReferralPath = !!referralId && !!referralType;\n const query = new URLSearchParams(location.search);\n const caseId = contextCaseId || query.get('caseId');\n const personId = person?.id || query.get('person');\n\n const errors = Object.keys(fieldErrors).reduce((acc, index) => {\n const fieldError = fieldErrors[index];\n acc[index] = {\n service: fieldError?.service,\n network: fieldError?.network,\n primary_worker: fieldError?.primary_worker,\n description: fieldError?.description,\n amount_requested: fieldError?.amount_requested || fieldError?.amount_exceeded,\n service_end: fieldError?.service_end || fieldError?.invalid_insurance_auth_dates,\n passthrough_dates: fieldError?.passthrough_dates,\n opened_date: fieldError?.opened_date,\n icd10_code: fieldError?.icd10_code,\n client_need: fieldError?.client_need,\n }\n return acc;\n }, {});\n const setReferralErrors = (referralIndex, newErrors) => {\n setFieldErrors((prevFieldErrors) => {\n const currentErrors = prevFieldErrors[referralIndex];\n const updatedErrors = { ...currentErrors, ...newErrors };\n \n if (isEqual(updatedErrors, currentErrors)) {\n return prevFieldErrors;\n }\n \n return {\n ...prevFieldErrors,\n [referralIndex]: updatedErrors,\n };\n });\n };\n\n const onReferralsBuilt = (groupedReferrals) => {\n if(!isEmpty(groupedReferrals)) {\n const initErrors = initializeReferralErrors(groupedReferrals, showClientNeeds);\n groupedReferrals.forEach((_referral, index) => {\n setReferralErrors(index, initErrors[index]);\n });\n }\n };\n\n const { isLoading } = useBuildReferrals(onReferralsBuilt);\n\n const handleServiceSelectionChange = (programId, serviceId) => {\n setServicesState(prevState =>\n prevState.map(service =>\n service.programId === programId && service.serviceId === serviceId\n ? { ...service, selected: !service.selected }\n : service\n )\n );\n };\n\n const findServiceName = ({ serviceToFind }) => {\n const referralThatHasTheService = referrals?.find((referral) => referral?.service?.id === serviceToFind);\n return referralThatHasTheService?.service?.name;\n };\n\n const mapProgramsToServicesState = () => {\n return selectedPrograms?.flatMap(program =>\n program.services.map(serviceToFind => {\n const serviceName = findServiceName({ serviceToFind });\n return {\n programId: program.id,\n serviceId: serviceToFind,\n serviceName,\n selected: program.services.length === 1\n };\n })\n ) || [];\n };\n\n useEffect(() => {\n const initialState = mapProgramsToServicesState();\n setServicesState(initialState);\n }, [selectedPrograms]);\n\n useEffect(() => {\n if (!isLoading && hint542SupersetUnlistedPrograms) {\n // If the selected programs contain unlisted programs, fetch the networks from the user provider\n const hasUnlistedPrograms = selectedPrograms?.some((program) => isUnlistedProgram(program));\n if (hasUnlistedPrograms) {\n fetchNetworks(currentProvider).then((networks) => {\n setNetworksUnlistedProgram(networks);\n });\n }\n }\n }, [isLoading]);\n\n useEffect(() => {\n const syncExpandedCardWhenChevronHidden = () => {\n const currentWindowWidth = window.innerWidth;\n const previousWindowWidth = previousWindowWidthRef.current;\n\n if (currentWindowWidth >= 1024) {\n setExpandReferralsCard(true);\n } else if (previousWindowWidth >= 1024) {\n setExpandReferralsCard(false);\n }\n\n previousWindowWidthRef.current = currentWindowWidth;\n };\n\n syncExpandedCardWhenChevronHidden();\n window.addEventListener('resize', syncExpandedCardWhenChevronHidden);\n return () => window.removeEventListener('resize', syncExpandedCardWhenChevronHidden);\n }, []);\n\n\n const onLearnMoreClick = () => {\n setAboutGroupedReferralsModalIsOpen(true);\n };\n\n const onCloseGroupedReferralsModal = () => {\n setAboutGroupedReferralsModalIsOpen(false);\n }\n\n const refModal = useRef(null);\n useEffect(() => {\n if (aboutGroupedReferralsModalIsOpen) {\n refModal.current.openModal();\n } else {\n refModal.current.closeModal();\n }\n }, [aboutGroupedReferralsModalIsOpen]);\n\n useEffect(() => {\n if (!isLoading && isOpenChooseOneServiceTypeModal) {\n openChooseOneServiceTypeModal();\n }\n }, [isLoading]);\n\n const onReferralCardClick = (index) => {\n setSelectedIndex(index);\n }\n\n useEffect(() => {\n fetchContactDocuments(person.id).then((result) => {\n setDocuments(result);\n });\n }, []);\n\n useEffect(() => {\n if (caseId && crtb854ForwardingSuperset) {\n fetchCaseDocuments(caseId).then((result) => {\n setCaseDocuments(result);\n });\n }\n }, []);\n\n useEffect(() => {\n const fetchCaseData = async () => {\n if (caseId) {\n try {\n const { data: { data: caseData } } = await coreApi.findRecord('case', caseId);\n setCaseData(caseData);\n } catch (error) {\n console.error('Error fetching case data:', error);\n }\n }\n };\n fetchCaseData();\n }, [caseId]);\n\n useEffect(() => {\n if (!isEmpty(referrals) && !loadedDocuments && (!isEmpty(documents) || !isEmpty(caseDocuments))) {\n const updatedReferrals = referrals.map((referral) => {\n if(!referral.attachableDocuments) {\n return {\n ...referral,\n attachableDocuments: [...documents, ...caseDocuments].map((doc) => ({ attached: false, document: doc })),\n };\n } else {\n return referral;\n }\n });\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n setloadedDocuments(true);\n }\n\n const hasMoreThanOneServiceType = selectedPrograms?.some((program) => {\n return program?.services?.length > 1\n })\n setChooseOneServiceTypeModalIsOpen(hasMoreThanOneServiceType)\n }, [referrals]);\n\n const getSelected = () => referrals && referrals[selectedIndex]\n\n const saveValuesOnChange = (props) => {\n const { values } = props;\n const updatedReferrals = referrals;\n updatedReferrals[selectedIndex] = {\n ...values\n }\n\n // Testing: Avoid React Final Form error: FormSpy Cannot update a component while rendering\n // https://github.com/final-form/react-final-form/issues/809#issue-638963034\n setTimeout(() =>\n dispatch(setData({\n referrals: [...updatedReferrals]\n })), 0\n )\n }\n\n const firstIndexWithErrors = Object.entries(errors).findIndex(([_index, values]) => Object.values(values).some(Boolean));\n\n const focusErrors = () => {\n let index = selectedIndex;\n if (!some(values(errors[index]), Boolean)) {\n index = firstIndexWithErrors; \n setSelectedIndex(index);\n }\n\n setFocus(index);\n }\n\n const onNextClick = () => {\n if (isEmptyErrors(errors)) {\n return navigate(`/create/${isForwardReferralPath ? 'review' : 'supporting-info'}`);\n }\n\n focusErrors();\n setNextClicked(true);\n }\n\n const setFocus = (index) => {\n setTimeout(() => {\n const errorFieldMap = [\n { key: 'description', fieldName: 'description', getElement: () => document.getElementById(\"referral-description\") },\n { key: 'opened_date', fieldName: 'opened_date', getElement: () => document.getElementById(\"opened-date\") },\n { key: 'network', fieldName: 'network', getElement: () => document.getElementById(\"network-selection\")?.parentElement?.parentElement },\n { key: 'amount_requested', fieldName: 'paymentAuthForm.amount_requested', getElement: () => document.getElementById(\"authorization-request-amount-requested\") },\n { key: 'service_end', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'passthrough_dates', fieldName: 'paymentAuthForm.service_end', getElement: () => document.getElementById(\"authorization-request-service-dates\") },\n { key: 'icd10_code', fieldName: 'paymentAuthForm.icd10_code', getElement: () => document.getElementById(\"authorization-request-icd10-code\") },\n { key: 'primary_worker', fieldName: 'primaryWorker', getElement: () => document.getElementById(\"primary-worker\")?.parentElement?.parentElement },\n { key: 'client_need', fieldName: 'client_need', getElement: () => document.getElementById(\"client_need\")?.parentElement?.parentElement },\n ];\n\n const errorObj = errors[index];\n for (const { key, fieldName, getElement } of errorFieldMap) {\n if (errorObj?.[key]) {\n form.current?.mutators?.setFieldTouched(fieldName, true);\n\n const element = getElement();\n if (element) element.focus();\n\n break;\n }\n }\n }, 100);\n };\n\n const moveToExistingReferral = (index, program) => {\n const { programs } = referrals[selectedIndex];\n\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n programs: programs.filter((p) => p.id !== program.id),\n }\n if (isEmpty(referrals[selectedIndex].programs)) {\n referrals[selectedIndex] = null;\n }\n\n referrals[index] = {\n ...referrals[index],\n programs: [...referrals[index].programs, program]\n }\n\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n\n dispatch(setData({\n referrals: compact(referrals),\n }));\n\n const newIndex = selectedIndex < index ? index - 1 : index;\n setSelectedIndex(newIndex);\n }\n\n const moveToNewReferral = (program) => {\n const referral = referrals[selectedIndex];\n referral.programs = referral.programs.filter((p) => p.id !== program.id);\n\n const newReferral = {\n ...referral,\n programs: [program],\n description: '',\n }\n\n const newReferrals = [...referrals, newReferral];\n\n dispatch(setData({\n referrals: newReferrals,\n }));\n\n setSelectedIndex(newReferrals.length - 1);\n }\n\n const removeProgram = (programName, programId, serviceId) => {\n const referral = referrals[selectedIndex];\n const newReferral = removeReferralProgram({ referral, programName, programId, serviceId });\n\n referrals[selectedIndex] = newReferral ? {\n ...newReferral\n } : null;\n\n const newReferrals = compact(referrals);\n const newReferralPrograms = newReferrals.flatMap((r) => r.programs);\n const newSelectedPrograms = intersectionBy(selectedPrograms, newReferralPrograms, 'id');\n\n dispatch(setData({\n referrals: [...newReferrals],\n selectedPrograms: [...newSelectedPrograms],\n }));\n\n if (!referrals[selectedIndex]) {\n const newErrors = removeErrorByIndex(errors, selectedIndex);\n setFieldErrors(newErrors);\n setSelectedIndex(0);\n }\n }\n\n const updateAttachments = (attachments) => {\n referrals[selectedIndex] = {\n ...referrals[selectedIndex],\n attachments,\n };\n \n dispatch(setData({\n referrals,\n }));\n };\n\n const navigateBack = () => {\n if (hasDraftReferral) {\n const draftCaseId = get(draftState, 'case.id', null);\n CALLBACKS.redirectToDraftReferral(draftCaseId);\n } else if (CALLBACKS.onNavigateBack) {\n CALLBACKS.onNavigateBack(crtb854ForwardingSuperset ? { referralId, referralDescription } : { referralDescription });\n } else {\n navigate(-1);\n }\n };\n\n const navigateToAddResources = () => CALLBACKS.onNavigateToAddResources();\n\n const createReferrals = useCreateReferrals();\n const handleSaveDraftReferral = async () => {\n setSaveDraftClicked(true);\n if (isSavingDraft) return;\n if (!isEmptyErrors(errors)) {\n focusErrors();\n return;\n }\n\n setIsSavingDraft(true);\n try {\n await createReferrals({ draft: true });\n const { onSaveDraftReferral } = CALLBACKS;\n onSaveDraftReferral && onSaveDraftReferral();\n CALLBACKS.notify.success('Draft referral successfully saved');\n } finally {\n setIsSavingDraft(false);\n }\n };\n\n const changeWidthReferralCard = () => {\n setExpandReferralsCard((prevExpandReferralsCard) => !prevExpandReferralsCard);\n };\n\n if (isLoading) return <Spinner center />;\n\n const referralSubtitle = getReferralSubtitle(referrals, getSelected());\n const unselectedReferralIndexes = referrals.map((_referral, index) => index).filter((index) => index !== selectedIndex);\n const allPrograms = referrals?.flatMap((r) => r.programs);\n const errorMessage = generateErrorMessage(errors);\n const currentReferral = getSelected();\n\n const xlOrLgInvisibleChevron = classNames({\n 'lg:invisible': true\n });\n\n const xlOrLgSpaceReferralDiv = classNames({\n 'lg:space-x-6': true\n });\n\n const onConfirmApplyChanges = () => {\n const filteredSelectedServices = servicesState.filter((service) => { return service.selected });\n const filteredNonSelectedServices = servicesState.filter((service) => { return !service.selected });\n const updatedReferrals = updatedReferralsBySelectedServices(referrals, filteredSelectedServices);\n\n const initErrors = initializeReferralErrors(updatedReferrals, showClientNeeds);\n setFieldErrors(initErrors);\n\n dispatch(setData({\n referrals: updatedReferrals,\n }));\n\n filteredNonSelectedServices.forEach((service) => {\n CALLBACKS.onDeselectProgram({\n id: service.programId,\n service: service.serviceId,\n });\n });\n\n closeChooseOneServiceTypeModal();\n };\n\n return (\n <CreateReferralContainer>\n <div className=\"px-12\">\n <StepHeader header={referralBuilderTitle}>\n {REFERRAL_BUILDER_DESCRIPTION}\n <br />\n <Button\n type=\"button\"\n onClick={onLearnMoreClick}\n onKeyDown={(event) => handleKeyDown(event, onLearnMoreClick)}\n aria-expanded={aboutGroupedReferralsModalIsOpen}\n label=\"Click here to learn more about referrals.\"\n link\n />\n </StepHeader>\n\n <AboutGroupedReferralsModal ref={refModal} onClose={onCloseGroupedReferralsModal} />\n\n {isOpenChooseOneServiceTypeModal && (\n <ChooseOneServiceTypeModal \n closeDialog={closeChooseOneServiceTypeModal}\n programs={selectedPrograms}\n referrals={referrals}\n modalRef={ChooseOneServiceTypeModalRef}\n findServiceName={findServiceName}\n onConfirm={onConfirmApplyChanges}\n onServiceSelectionChange={handleServiceSelectionChange}\n servicesState={servicesState}\n />\n )}\n <>\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n hasDraftReferral={hasDraftReferral}\n isForwardReferralPath={isForwardReferralPath}\n disabled={isSavingDraft}\n isSavingDraft={isSavingDraft}\n />\n\n {\n !isEmpty(allPrograms) ? (\n <div className=\"relative mx-auto responsive-max-width\">\n {\n (errorMessage && (nextClicked || saveDraftClicked)) ? (\n <div className=\"flex justify-end\">\n <Icon icon=\"InfoCircle\" color=\"red\" className=\"mr-2 mt-px\" />\n <p className=\"text-red\">{errorMessage}</p>\n </div>\n ) : null\n }\n <div className={`flex justify-end my-5 ${xlOrLgSpaceReferralDiv}`}>\n <div id=\"referrals-card\"\n className={`bg-white border border-solid border-blue-border rounded\n ${expandReferralsCard ? 'relative md:max-w-none lg:w-3/6 z-20' : 'md:w-2/6 lg:w-2/6'}`}>\n <div className=\"p-5 h-full\">\n <div className=\"flex justify-between relative\">\n <div>\n <h3 className=\"text-xl font-black mb-5\">\n Referrals\n </h3>\n </div>\n <div className={xlOrLgInvisibleChevron}>\n <Icon \n icon='ChevronArrow' \n direction={expandReferralsCard ? \"left\" : \"right\"} \n ariaLabel={expandReferralsCard ? \"Collapse sidebar\" : \"Expand Sidebar\"} \n className=\"w-6 h-6\" \n onClick={() => changeWidthReferralCard()}\n />\n </div>\n </div>\n {referrals?.map((referral, index) => (\n <div className=\"mb-5\" key={`referral-card-${index}-wrapper`}>\n <ReferralCard\n referral={referral}\n index={index}\n selectedIndex={selectedIndex}\n onClick={onReferralCardClick}\n errors={errors[index]}\n expandReferralsCard={expandReferralsCard}\n isEmrSource={isEmrSource}\n />\n </div>\n ))}\n </div>\n </div>\n {\n !isEmpty(get(currentReferral, 'programs', [])) ? (\n <ReferralBuilderForm\n currentEmployee={currentEmployee}\n currentProvider={currentProvider} \n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n referral={currentReferral}\n referrals={referrals}\n referralSubtitle={referralSubtitle}\n index={selectedIndex}\n onChange={saveValuesOnChange}\n unselected={unselectedReferralIndexes}\n removeProgram={removeProgram}\n onSetForm={(newForm) => { form.current = newForm; }}\n moveToNewReferral={moveToNewReferral}\n moveToExistingReferral={moveToExistingReferral}\n updateAttachments={updateAttachments}\n source={source}\n networksUnlistedProgram={networksUnlistedProgram}\n setReferralErrors={setReferralErrors}\n referralDescription={referralDescription}\n person={person}\n caseData={caseData}\n personId={personId}\n />\n ) : null\n }\n </div>\n </div>\n ) : (\n <NoReferralsDisplay\n hasDraftReferral={hasDraftReferral}\n navigateToAddResources={navigateToAddResources}\n onClick={navigateBack}\n />\n )\n }\n\n <NavButtons\n onBackClick={navigateBack}\n onForwardClick={onNextClick}\n onSaveDraftReferral={handleSaveDraftReferral}\n primaryLabel=\"Next\"\n hideForwardButtons={isEmpty(referrals)}\n hideSaveDraftLink={get(fieldsConfig, 'hideSaveDraftLink')}\n hasDraftReferral={hasDraftReferral}\n hasOffPlatformReferrals={hasOffPlatformReferrals(referrals)}\n isForwardReferralPath={isForwardReferralPath}\n disabled={isSavingDraft}\n isSavingDraft={isSavingDraft}\n />\n </>\n </div>\n </CreateReferralContainer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -505,6 +505,7 @@ describe('ReferralBuilder', () => {
505
505
  programCount: 2,
506
506
  serviceCount: 1
507
507
  });
508
+ expect(filteredPrograms.length).toEqual(2);
508
509
  if (filteredPrograms.length) {
509
510
  await act(async () => render(/*#__PURE__*/_jsx(ReferralBuilder, {}), {
510
511
  appContextProviderProps: {
@@ -518,8 +519,11 @@ describe('ReferralBuilder', () => {
518
519
  }));
519
520
  }
520
521
  expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();
521
- expect(screen.getByText(/Referral 1: Benefits Eligibility Screening, Grouped/i)).toBeInTheDocument();
522
- expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();
522
+ expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();
523
+ await act(async () => fireEvent.click(screen.getAllByRole('heading', {
524
+ name: "Referral 2:"
525
+ })[0]));
526
+ expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();
523
527
  });
524
528
  });
525
529
  describe('one off-platform program, one on-platform program', () => {
@@ -538,6 +542,7 @@ describe('ReferralBuilder', () => {
538
542
  programCount: 2,
539
543
  serviceCount: 1
540
544
  });
545
+ expect(filteredPrograms.length).toEqual(2);
541
546
  if (filteredPrograms.length) {
542
547
  await act(async () => render(/*#__PURE__*/_jsx(ReferralBuilder, {}), {
543
548
  appContextProviderProps: {
@@ -577,6 +582,9 @@ describe('ReferralBuilder', () => {
577
582
  programCount: 2,
578
583
  serviceCount: 1
579
584
  });
585
+
586
+ // Verify we have enough programs for this test scenario
587
+ expect(filteredPrograms.length).toEqual(2);
580
588
  if (filteredPrograms.length) {
581
589
  await act(async () => render(/*#__PURE__*/_jsx(ReferralBuilder, {}), {
582
590
  appContextProviderProps: {
@@ -615,6 +623,7 @@ describe('ReferralBuilder', () => {
615
623
  programCount: 2,
616
624
  serviceCount: 1
617
625
  });
626
+ expect(filteredPrograms.length).toEqual(2);
618
627
  if (filteredPrograms.length) {
619
628
  await act(async () => render(/*#__PURE__*/_jsx(ReferralBuilder, {}), {
620
629
  appContextProviderProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"NonSensitiveGroupedPrograms.test.js","names":["screen","fireEvent","render","act","person","ReferralBuilder","mockAppReferralsProps","getSelectedPrograms","getSelectedUnlistedPrograms","useFeatureFlag","mockUseFeatureFlag","jsx","_jsx","jest","mock","fn","describe","it","filteredPrograms","sendingProviderIsCC","sendingProviderSensitive","receivingProviderIsCC","programInCurrentProvider","receivingProviderLicensed","receivingProviderSensitive","receivingReferrals","programsInSameNetwork","programsInSameProvider","isGrouped","programCount","serviceCount","length","appContextProviderProps","selectedPrograms","currentProvider","appState","currentEmployee","id","expect","getByText","toBeInTheDocument","click","getAllByRole","name","onAndOffPlatformPrograms","singleNetwork","queryByText","not","ccAndNonCCPrograms","licensedAndUnlicensedReceivingProviders","licensedProviderIsCC","beforeEach","mockImplementation","flag","results","networks","getAllByText"],"sources":["../../../../src/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js"],"sourcesContent":["import { screen, fireEvent } from \"@testing-library/react\";\nimport { render, act } from \"../../../__testUtils__/test-utils\";\nimport { person } from \"../../../__testUtils__/mockData/mockPeople\";\nimport ReferralBuilder from \"../ReferralBuilder\";\nimport mockAppReferralsProps from \"../../../__testUtils__/mockData/components/mockAppReferrals\";\nimport { getSelectedPrograms, getSelectedUnlistedPrograms } from \"../../../__testUtils__/mockData/utils\";\nimport { useFeatureFlag as mockUseFeatureFlag } from \"../../../utils/useFeatureFlag\";\n\njest.mock(\"../../../utils/useFeatureFlag\", () => ({\n useFeatureFlag: jest.fn(),\n}));\n\ndescribe('ReferralBuilder', () => {\n describe('should build referral(s) with non-sensitive receiving provider, grouped programs', () => {\n describe('receiving programs in the same network', () => {\n describe('receiving programs in the same provider', () => {\n describe('receiving programs in licensed provider', () => {\n describe('provider_type: provider', () => {\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('one on-platform program, one off-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n\n describe('provider_type: coordination_center', () => {\n describe('on-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n programsInSameNetwork: true,\n programsInSameProvider: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('one on-platform program, one off-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n });\n });\n\n describe('receiving programs not in the same provider', () => {\n describe('receiving programs in licensed providers', () => {\n describe('provider_type: provider', () => {\n describe('on-platform programs', () => {\n it ('should group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n programsInSameNetwork: true,\n singleNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening, Grouped/i)).toBeInTheDocument();\n expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();\n });\n });\n\n describe('off-platform programs', () => {\n it ('should group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n singleNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening, Grouped/i)).toBeInTheDocument();\n expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();\n });\n });\n\n describe('one on-platform program, one off-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n\n describe('provider_type: coordination_center', () => {\n describe('on-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('one on-platform program, one off-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n\n describe('one provider_type: provider, one provider_type: coordination_center', () => {\n describe('on-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n ccAndNonCCPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n });\n\n describe('receiving programs in unlicensed providers, provider_type: provider, off-platform programs', () => {\n it ('should group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: false,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening, Grouped/i)).toBeInTheDocument();\n expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();\n });\n });\n\n describe('one receiving program in licensed provider, one receiving program in unlicensed provider', () => {\n describe('both provider_types: provider', () => {\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n programInCurrentProvider: false,\n licensedAndUnlicensedReceivingProviders: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n singleNetwork: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening, Grouped/i)).toBeInTheDocument();\n expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();\n });\n });\n\n describe('one off-platform program, one on-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n programInCurrentProvider: false,\n licensedAndUnlicensedReceivingProviders: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n\n describe('unlicensed provider_type: provider, licensed provider_type: coordination_center', () => {\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n licensedProviderIsCC: true,\n ccAndNonCCPrograms: true,\n programInCurrentProvider: false,\n licensedAndUnlicensedReceivingProviders: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('one off-platform program, one on-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n licensedProviderIsCC: true,\n ccAndNonCCPrograms: true,\n programInCurrentProvider: false,\n licensedAndUnlicensedReceivingProviders: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n onAndOffPlatformPrograms: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n });\n });\n });\n\n describe('receiving programs not in the same network or provider', () => {\n describe('on-platform receiving programs are in licensed provider, provider_type: provider', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n programsInSameNetwork: false,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n\n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n })\n });\n });\n\n describe('grouping unlisted programs', () => {\n beforeEach(() => {\n mockUseFeatureFlag.mockImplementation((flag) => flag === 'hint542SupersetUnlistedPrograms');\n });\n\n describe('two unlisted programs different service', () => {\n it ('it should display two referrals with one unlisted program on each referral', async () => {\n const filteredPrograms = getSelectedUnlistedPrograms({\n programCount: 1,\n results: 2,\n });\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: {\n id: 'p1', \n networks: [{ id: '4abb98dd-6e42-4890-a439-daa1a89e3aa3' }]\n },\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getAllByText(/Referral 1/i)[0]).toBeInTheDocument();\n expect(screen.getByText(/Network selection/i)).toBeInTheDocument();\n\n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getAllByText(/Referral 2/i)[0]).toBeInTheDocument();\n expect(screen.getByText(/Network selection/i)).toBeInTheDocument();\n }\n });\n });\n\n describe('two unlisted programs same service', () => {\n it ('it should display one referral with two unlisted programs', async () => {\n const filteredPrograms = getSelectedUnlistedPrograms({\n programCount: 2,\n });\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: {\n id: 'p1', \n networks: [{ id: '4abb98dd-6e42-4890-a439-daa1a89e3aa3' }]\n },\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getAllByText(/Referral 1/i)[0]).toBeInTheDocument();\n expect(screen.getByText(/Network selection/i)).toBeInTheDocument();\n expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();\n }\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NonSensitiveGroupedPrograms.test.js","names":["screen","fireEvent","render","act","person","ReferralBuilder","mockAppReferralsProps","getSelectedPrograms","getSelectedUnlistedPrograms","useFeatureFlag","mockUseFeatureFlag","jsx","_jsx","jest","mock","fn","describe","it","filteredPrograms","sendingProviderIsCC","sendingProviderSensitive","receivingProviderIsCC","programInCurrentProvider","receivingProviderLicensed","receivingProviderSensitive","receivingReferrals","programsInSameNetwork","programsInSameProvider","isGrouped","programCount","serviceCount","length","appContextProviderProps","selectedPrograms","currentProvider","appState","currentEmployee","id","expect","getByText","toBeInTheDocument","click","getAllByRole","name","onAndOffPlatformPrograms","singleNetwork","queryByText","not","ccAndNonCCPrograms","licensedAndUnlicensedReceivingProviders","toEqual","licensedProviderIsCC","beforeEach","mockImplementation","flag","results","networks","getAllByText"],"sources":["../../../../src/pages/builder/__tests__/NonSensitiveGroupedPrograms.test.js"],"sourcesContent":["import { screen, fireEvent } from \"@testing-library/react\";\nimport { render, act } from \"../../../__testUtils__/test-utils\";\nimport { person } from \"../../../__testUtils__/mockData/mockPeople\";\nimport ReferralBuilder from \"../ReferralBuilder\";\nimport mockAppReferralsProps from \"../../../__testUtils__/mockData/components/mockAppReferrals\";\nimport { getSelectedPrograms, getSelectedUnlistedPrograms } from \"../../../__testUtils__/mockData/utils\";\nimport { useFeatureFlag as mockUseFeatureFlag } from \"../../../utils/useFeatureFlag\";\n\njest.mock(\"../../../utils/useFeatureFlag\", () => ({\n useFeatureFlag: jest.fn(),\n}));\n\ndescribe('ReferralBuilder', () => {\n describe('should build referral(s) with non-sensitive receiving provider, grouped programs', () => {\n describe('receiving programs in the same network', () => {\n describe('receiving programs in the same provider', () => {\n describe('receiving programs in licensed provider', () => {\n describe('provider_type: provider', () => {\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('one on-platform program, one off-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n\n describe('provider_type: coordination_center', () => {\n describe('on-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n programsInSameNetwork: true,\n programsInSameProvider: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('one on-platform program, one off-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: true,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n });\n });\n\n describe('receiving programs not in the same provider', () => {\n describe('receiving programs in licensed providers', () => {\n describe('provider_type: provider', () => {\n describe('on-platform programs', () => {\n it ('should group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n programsInSameNetwork: true,\n singleNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening, Grouped/i)).toBeInTheDocument();\n expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();\n });\n });\n\n describe('off-platform programs', () => {\n it ('should group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n singleNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening, Grouped/i)).toBeInTheDocument();\n expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();\n });\n });\n\n describe('one on-platform program, one off-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n\n describe('provider_type: coordination_center', () => {\n describe('on-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('one on-platform program, one off-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: true,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n\n describe('one provider_type: provider, one provider_type: coordination_center', () => {\n describe('on-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n ccAndNonCCPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n \n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n \n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n });\n\n describe('receiving programs in unlicensed providers, provider_type: provider, off-platform programs', () => {\n it ('should group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: false,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening, Grouped/i)).toBeInTheDocument();\n expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();\n });\n });\n\n describe('one receiving program in licensed provider, one receiving program in unlicensed provider', () => {\n describe('both provider_types: provider', () => {\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n programInCurrentProvider: false,\n licensedAndUnlicensedReceivingProviders: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n singleNetwork: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n\n expect(filteredPrograms.length).toEqual(2);\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('one off-platform program, one on-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n programInCurrentProvider: false,\n licensedAndUnlicensedReceivingProviders: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n onAndOffPlatformPrograms: true,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n\n expect(filteredPrograms.length).toEqual(2);\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n\n describe('unlicensed provider_type: provider, licensed provider_type: coordination_center', () => {\n describe('off-platform programs', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n licensedProviderIsCC: true,\n ccAndNonCCPrograms: true,\n programInCurrentProvider: false,\n licensedAndUnlicensedReceivingProviders: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n\n // Verify we have enough programs for this test scenario\n expect(filteredPrograms.length).toEqual(2);\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n\n describe('one off-platform program, one on-platform program', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n licensedProviderIsCC: true,\n ccAndNonCCPrograms: true,\n programInCurrentProvider: false,\n licensedAndUnlicensedReceivingProviders: true,\n receivingProviderSensitive: false,\n receivingReferrals: false,\n programsInSameNetwork: true,\n onAndOffPlatformPrograms: true,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n\n expect(filteredPrograms.length).toEqual(2);\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n });\n });\n });\n });\n });\n\n describe('receiving programs not in the same network or provider', () => {\n describe('on-platform receiving programs are in licensed provider, provider_type: provider', () => {\n it ('should not group programs', async () => {\n const filteredPrograms = getSelectedPrograms({\n sendingProviderIsCC: false,\n sendingProviderSensitive: false,\n receivingProviderIsCC: false,\n programInCurrentProvider: false,\n receivingProviderLicensed: true,\n receivingProviderSensitive: false,\n receivingReferrals: true,\n programsInSameNetwork: false,\n programsInSameProvider: false,\n isGrouped: true,\n programCount: 2,\n serviceCount: 1,\n });\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: mockAppReferralsProps.appState.currentProvider,\n currentEmployee: mockAppReferralsProps.appState.currentEmployee\n }\n }))\n }\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getByText(/Referral 1: Benefits Eligibility Screening/i)).toBeInTheDocument();\n\n fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]);\n expect(screen.getByText(/Referral 2: Benefits Eligibility Screening/i)).toBeInTheDocument();\n });\n })\n });\n });\n\n describe('grouping unlisted programs', () => {\n beforeEach(() => {\n mockUseFeatureFlag.mockImplementation((flag) => flag === 'hint542SupersetUnlistedPrograms');\n });\n\n describe('two unlisted programs different service', () => {\n it ('it should display two referrals with one unlisted program on each referral', async () => {\n const filteredPrograms = getSelectedUnlistedPrograms({\n programCount: 1,\n results: 2,\n });\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: {\n id: 'p1', \n networks: [{ id: '4abb98dd-6e42-4890-a439-daa1a89e3aa3' }]\n },\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getAllByText(/Referral 1/i)[0]).toBeInTheDocument();\n expect(screen.getByText(/Network selection/i)).toBeInTheDocument();\n\n await act(async () => fireEvent.click(screen.getAllByRole('heading', { name: `Referral 2:` })[0]));\n expect(screen.getAllByText(/Referral 2/i)[0]).toBeInTheDocument();\n expect(screen.getByText(/Network selection/i)).toBeInTheDocument();\n }\n });\n });\n\n describe('two unlisted programs same service', () => {\n it ('it should display one referral with two unlisted programs', async () => {\n const filteredPrograms = getSelectedUnlistedPrograms({\n programCount: 2,\n });\n\n if (filteredPrograms.length) {\n await act(async () => render(<ReferralBuilder />, {\n appContextProviderProps: {\n person,\n selectedPrograms: filteredPrograms,\n currentProvider: {\n id: 'p1', \n networks: [{ id: '4abb98dd-6e42-4890-a439-daa1a89e3aa3' }]\n },\n currentEmployee: { id: \"3f9cdc2c-7868-4b5e-8438-8104aefcca24\" },\n }\n }))\n\n expect(screen.getByText(/Prepare Your Referrals/i)).toBeInTheDocument();\n expect(screen.getAllByText(/Referral 1/i)[0]).toBeInTheDocument();\n expect(screen.getByText(/Network selection/i)).toBeInTheDocument();\n expect(screen.queryByText(/Referral 2/i)).not.toBeInTheDocument();\n }\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}