import { describe, it, expect } from 'vitest' import { resolveRegulation } from '../advisor/regulation-display' describe('resolveRegulation', () => { it('groups DSK SDM building blocks under one family + extracts the chapter', () => { const b51 = resolveRegulation({ code: 'dsk_sdm_b51', short: 'DSK Sdm B51' }) const b41 = resolveRegulation({ code: 'dsk_sdm_b41', short: 'DSK Sdm B41' }) const v31 = resolveRegulation({ code: 'dsk_sdm_v31', short: 'DSK Sdm V31' }) expect(b51.familyKey).toBe('dsk_sdm') expect(b41.familyKey).toBe('dsk_sdm') expect(v31.familyKey).toBe('dsk_sdm') expect(b51.familyLabel).toContain('Standard-Datenschutzmodell') expect(b51.chapter).toBe('B51') expect(v31.chapter).toBe('V31') }) it('maps known regulations to friendly family keys', () => { expect(resolveRegulation({ code: 'cra', short: 'CRA' }).familyKey).toBe('cra') expect(resolveRegulation({ code: 'nis2', short: 'NIS2' }).familyKey).toBe('nis2') expect(resolveRegulation({ code: 'dpf', short: 'DPF' }).familyKey).toBe('dpf') expect(resolveRegulation({ code: 'dsgvo', short: 'DS-GVO' }).familyKey).toBe('dsgvo') expect(resolveRegulation({ code: 'bdsg', short: 'BDSG' }).familyKey).toBe('bdsg') }) it('falls back to code as family + short as label for unknown regulations', () => { const r = resolveRegulation({ code: 'xyz_reg', short: 'XYZ' }) expect(r.familyKey).toBe('xyz_reg') expect(r.familyLabel).toBe('XYZ') expect(r.chapter).toBeUndefined() }) })