UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

51 lines (40 loc) 1.79 kB
import DefinitionUtils from './definitionUtils' import Definitions from '../../../test-app/mocks/mockClients/reports/mockReportDefinition' import { components } from '../types/api' describe('DefinitionUtils tests', () => { let definitions: components['schemas']['ReportDefinitionSummary'][] beforeEach(() => { definitions = Definitions.reports }) describe('getCurrentVariantDefinition', () => { it('should get the current variant definition from a report summary', () => { const definition = DefinitionUtils.getCurrentVariantDefinition(definitions, 'filter-inputs', 'variantId-15') expect(definition.name).toEqual('Relative Daterange') expect(definition.specification.fields.length).toEqual(1) }) it('should return undefined if no definition', () => { const definition = DefinitionUtils.getCurrentVariantDefinition(definitions, 'test-report-2', 'variantId-15') expect(definition).toBeUndefined() }) }) describe('getFieldDisplayName', () => { it('should get the specific field name', () => { const variant15Definition = DefinitionUtils.getCurrentVariantDefinition( definitions, 'filter-inputs', 'variantId-15', ) const fieldDisplay = DefinitionUtils.getFieldDisplayName(variant15Definition.specification.fields, 'field1') expect(fieldDisplay).toEqual('Field 1') }) it('should return the specific field id if no match', () => { const variant15Definition = DefinitionUtils.getCurrentVariantDefinition( definitions, 'filter-inputs', 'variantId-15', ) const fieldDisplay = DefinitionUtils.getFieldDisplayName(variant15Definition.specification.fields, 'field8') expect(fieldDisplay).toEqual('field8') }) }) })