import { clearanceSettingCode, clearanceOutputSettingCode, } from './clearance.util'; describe('clearance.util — clearanceSettingCode', () => { it('resolves import container with/without customs', () => { expect(clearanceSettingCode('IMPORT', 'CONTAINER', true)).toBe( 'clearance_import_container_with_customs', ); // Non-customs bookings self-clear with the same document set a ONE_TIME // self-clear contract uses. expect(clearanceSettingCode('IMPORT', 'CONTAINER', false)).toBe( 'contract_clearance_selfclear_import_container', ); }); it('resolves export bulk with/without customs', () => { expect(clearanceSettingCode('EXPORT', 'BULK', true)).toBe( 'clearance_export_bulk_with_customs', ); expect(clearanceSettingCode('EXPORT', 'BULK', false)).toBe( 'contract_clearance_selfclear_export_bulk', ); }); it('returns null for DOMESTIC (no clearance gate)', () => { expect(clearanceSettingCode('DOMESTIC', 'CONTAINER', true)).toBeNull(); expect(clearanceSettingCode('DOMESTIC', 'BULK', false)).toBeNull(); }); }); describe('clearance.util — clearanceOutputSettingCode', () => { it('returns a container output code only for customs container bookings', () => { expect(clearanceOutputSettingCode('IMPORT', 'CONTAINER', true)).toBe( 'clearance_output_import_container', ); expect(clearanceOutputSettingCode('EXPORT', 'CONTAINER', true)).toBe( 'clearance_output_export_container', ); }); it('returns null without customs', () => { expect(clearanceOutputSettingCode('IMPORT', 'CONTAINER', false)).toBeNull(); }); it('resolves bulk output sets (mirrors container) and returns null for domestic', () => { expect(clearanceOutputSettingCode('IMPORT', 'BULK', true)).toBe( 'clearance_output_import_bulk', ); expect(clearanceOutputSettingCode('EXPORT', 'BULK', true)).toBe( 'clearance_output_export_bulk', ); expect(clearanceOutputSettingCode('DOMESTIC', 'CONTAINER', true)).toBeNull(); }); });