UNPKG

fhir-react

Version:

React component library for displaying FHIR Resources

96 lines (81 loc) 3.7 kB
import React from 'react'; import { render } from '@testing-library/react'; import { fhirVersions } from '../../../index'; import List from './List'; import example1Dstu2 from '../../../fixtures/dstu2/resources/list/example1.json'; import example2R4 from '../../../fixtures/r4/resources/list/example2.json'; describe('should render List component properly', () => { it('should render with DSTU2 source data', () => { const defaultProps = { fhirResource: example1Dstu2, fhirVersion: fhirVersions.DSTU2, }; const { container, getByTestId, queryByTestId } = render( <List {...defaultProps} />, ); expect(container).not.toBeNull(); expect(getByTestId('title').textContent).toContain('List example'); expect(getByTestId('status').textContent).toContain('current'); expect(getByTestId('identifier').textContent).toContain('23974652'); expect(getByTestId('mode').textContent).toContain('changes'); expect(getByTestId('subject').textContent).toContain('Patient/example'); expect(getByTestId('date').textContent).toContain('2012-11-25'); expect(queryByTestId('code')).toBeNull(); expect(getByTestId('source').textContent).toContain('Patient/example'); expect(getByTestId('entries')).not.toBeNull(); expect(queryByTestId('usdfExtensions')).toBeNull(); }); it('should render R4 without daVinci PDex profile', () => { const defaultProps = { fhirResource: example2R4, fhirVersion: fhirVersions.R4, }; const { container, getByTestId, queryByTestId } = render( <List {...defaultProps} />, ); expect(container).not.toBeNull(); expect(getByTestId('identifier').textContent).toContain('test'); expect(getByTestId('mode').textContent).toContain('snapshot'); expect(getByTestId('date').textContent).toContain('2015-06-12'); expect(getByTestId('entries')).not.toBeNull(); expect(queryByTestId('usdfExtensions')).toBeNull(); }); it('should render R4 with daVinci PDex profile', () => { const defaultProps = { fhirResource: example2R4, fhirVersion: fhirVersions.R4, withDaVinciPDex: true, }; const { container, getByTestId, queryByTestId } = render( <List {...defaultProps} />, ); expect(container).not.toBeNull(); expect(getByTestId('identifier').textContent).toContain('test'); expect(getByTestId('mode').textContent).toContain('snapshot'); expect(getByTestId('date').textContent).toContain('2015-06-12'); expect(getByTestId('entries')).not.toBeNull(); expect(queryByTestId('usdfExtensions')).not.toBeNull(); expect(getByTestId('drugTierDefinition')).not.toBeNull(); expect(getByTestId('drugTierID').textContent).toContain('Generic:'); expect(getByTestId('mailOrder').textContent).toContain('yes'); expect(getByTestId('costSharing')).not.toBeNull(); expect(getByTestId('pharmacyType').textContent).toContain( '(1-month-in-retail)', ); expect(getByTestId('copayAmount').textContent).toContain('0'); expect(getByTestId('usdfNetwork').textContent).toContain('PREFERRED'); expect(getByTestId('usdfSummaryURL').textContent).toContain( 'http://url/to/health/plan/information', ); expect(getByTestId('usdfFormularyURL').textContent).toContain( 'http://url/to/formulary/information', ); expect(getByTestId('usdfEmailPlanContact').textContent).toContain( 'Patrick.Breen@carefirst.com', ); expect(getByTestId('usdfMarketingURL').textContent).toContain( 'https://content.carefirst.com/sbc/D,$0/ D,$0/ D,$0/ D,$0/ D,$0B+', ); expect(getByTestId('usdfPlanIDType').textContent).toContain('HIOS-PLAN-ID'); }); });