Skip to content

Commit

Permalink
Merge branch 'main' into vebt-729
Browse files Browse the repository at this point in the history
  • Loading branch information
GovCIOLiz authored Nov 14, 2024
2 parents 9575f06 + 5e1dd7b commit c972b94
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export default function TypeOfCarePage() {
pageChangeInProgress,
showCommunityCare,
showDirectScheduling,
removePodiatry,
showPodiatryApptUnavailableModal,
} = useSelector(selectTypeOfCarePage, shallowEqual);

Expand Down Expand Up @@ -70,7 +71,9 @@ export default function TypeOfCarePage() {
const { data, schema, setData, uiSchema } = useFormState({
initialSchema: () => {
const sortedCare = TYPES_OF_CARE.filter(
typeOfCare => typeOfCare.id !== PODIATRY_ID || showCommunityCare,
typeOfCare =>
typeOfCare.id !== PODIATRY_ID ||
(showCommunityCare && !removePodiatry),
).sort(
(careA, careB) =>
careA.name.toLowerCase() > careB.name.toLowerCase() ? 1 : -1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,19 @@ import { mockFetch, setFetchJSONResponse } from 'platform/testing/unit/helpers';

import moment from 'moment';
import environment from '@department-of-veterans-affairs/platform-utilities/environment';
import { createTestStore, renderWithStoreAndRouter } from '../../mocks/setup';

import TypeOfCarePage from './index';
import {
createTestStore,
renderWithStoreAndRouter,
} from '../../../tests/mocks/setup';
import {
mockVAOSParentSites,
mockV2CommunityCareEligibility,
} from '../../mocks/helpers';
} from '../../../tests/mocks/helpers';

import TypeOfCarePage from '../../../new-appointment/components/TypeOfCarePage';
import { NewAppointment } from '../../../new-appointment';
import { createMockFacility } from '../../mocks/data';
import { NewAppointment } from '../..';
import { createMockFacility } from '../../../tests/mocks/data';
import { FLOW_TYPES } from '../../../utils/constants';

const initialState = {
Expand Down Expand Up @@ -196,6 +200,23 @@ describe('VAOS Page: TypeOfCarePage', () => {
expect((await screen.findAllByRole('radio')).length).to.equal(11);
});

it('should show type of care page without podiatry when vaOnlineSchedulingRemovePodiatry feature flag is on and CC flag is on', async () => {
const store = createTestStore({
...initialState,
featureToggles: {
...initialState.featureToggles,
vaOnlineSchedulingCommunityCare: true,
vaOnlineSchedulingRemovePodiatry: true,
},
});
const screen = renderWithStoreAndRouter(
<Route component={TypeOfCarePage} />,
{ store },
);

expect((await screen.findAllByRole('radio')).length).to.equal(11);
});

it('should not allow users who are not CC eligible to use Podiatry', async () => {
const store = createTestStore(initialState);
mockV2CommunityCareEligibility({
Expand Down
2 changes: 2 additions & 0 deletions src/applications/vaos/new-appointment/redux/selectors.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {
selectFeatureDirectScheduling,
selectRegisteredCernerFacilityIds,
selectFeatureVAOSServiceVAAppointments,
selectFeatureRemovePodiatry,
} from '../../redux/selectors';
import { removeDuplicateId } from '../../utils/data';

Expand Down Expand Up @@ -373,6 +374,7 @@ export function selectTypeOfCarePage(state) {
pageChangeInProgress: selectPageChangeInProgress(state),
showCommunityCare: selectFeatureCommunityCare(state),
showDirectScheduling: selectFeatureDirectScheduling(state),
removePodiatry: selectFeatureRemovePodiatry(state),
showPodiatryApptUnavailableModal:
newAppointment.showPodiatryAppointmentUnavailableModal,
useV2: featureVAOSServiceVAAppointments,
Expand Down

0 comments on commit c972b94

Please sign in to comment.