import { describe, expect, it } from 'vitest'; import { RESIDENCE_TYPES, createResidentialInterestSchema, updateResidentialInterestSchema, } from '@/lib/validators/residential'; describe('residential interest residenceType', () => { it('accepts a known residence type', () => { const parsed = createResidentialInterestSchema.parse({ residentialClientId: 'rc_1', residenceType: 'Two Bedroom Marina Villa', }); expect(parsed.residenceType).toBe('Two Bedroom Marina Villa'); }); it('coerces empty string to null (inline-select clear)', () => { const parsed = updateResidentialInterestSchema.parse({ residenceType: '' }); expect(parsed.residenceType).toBeNull(); }); it('accepts explicit null', () => { const parsed = updateResidentialInterestSchema.parse({ residenceType: null }); expect(parsed.residenceType).toBeNull(); }); it('rejects an unknown residence type', () => { expect(() => createResidentialInterestSchema.parse({ residentialClientId: 'rc_1', residenceType: 'Penthouse Suite', }), ).toThrow(); }); it('exposes the three offered unit types', () => { expect(RESIDENCE_TYPES).toEqual([ 'Two Bedroom Marina Villa', 'Four Bedroom Oceanfront Villa', 'Five Bedroom Oceanfront Villa', ]); }); });