import { PasswordPolicy } from '../../src/gateway/auth/password-policy'; describe('PasswordPolicy', () => { it('should accept valid password', () => { const result = PasswordPolicy.validate('ValidPass123!'); expect(result.valid).toBe(true); expect(result.errors).toHaveLength(0); }); it('should reject short password', () => { const result = PasswordPolicy.validate('Short1!'); expect(result.valid).toBe(false); expect(result.errors.length).toBeGreaterThan(0); }); it('should reject password without uppercase', () => { const result = PasswordPolicy.validate('validpass123!'); expect(result.valid).toBe(false); expect(result.errors.some((e) => e.includes('uppercase'))).toBe(true); }); it('should reject password without numbers', () => { const result = PasswordPolicy.validate('ValidPassword!'); expect(result.valid).toBe(false); expect(result.errors.some((e) => e.includes('number'))).toBe(true); }); });