diff --git a/src/lib/output.test.ts b/src/lib/output.test.ts index 824bfbf..9f27027 100644 --- a/src/lib/output.test.ts +++ b/src/lib/output.test.ts @@ -101,6 +101,11 @@ describe('formatFieldOutput', () => { expect(formatFieldOutput(field, 'hharar', stubSpecies, 'tajara')).toBe('Ethnicity: Hharar'); }); + it('formats custom subspecies with dynamic label', () => { + const field: FieldDef = { label: 'Subspecies', type: 'subspecies' }; + expect(formatFieldOutput(field, 'asdfg', stubSpecies, 'tajara')).toBe('Ethnicity: asdfg'); + }); + it('returns null for empty subspecies', () => { const field: FieldDef = { label: 'Subspecies', type: 'subspecies' }; expect(formatFieldOutput(field, '', stubSpecies, 'tajara')).toBeNull(); diff --git a/src/lib/output.ts b/src/lib/output.ts index da0647c..05481b1 100644 --- a/src/lib/output.ts +++ b/src/lib/output.ts @@ -48,7 +48,7 @@ export function formatFieldOutput( const sp = speciesData.find((s) => s.id === currentSpecies); if (!sp) return null; const sub = sp.subspecies.find((s) => s.id === value); - return sub ? `${sp.subspeciesLabel}: ${sub.name}` : null; + return sub ? `${sp.subspeciesLabel}: ${sub.name}` : `${sp.subspeciesLabel}: ${value}`; } case 'languages': {