๐Ÿงช Direct Validation System Test ================================================== ๐Ÿ“ Test 1: AuthValidator - Invalid Registration Data โœ… PASS: Validation correctly rejected invalid data ๐Ÿ“‹ Validation Errors: - last_name: last_name is required - first_name: First name must be at least 2 characters long - email: Please enter a valid email address - password: Password must at least 8 characters long, contain at least one lowercase letter, contain at least one uppercase letter, contain at least one special character - phone: Please enter a valid phone number (10-15 digits) ๐Ÿ“ Test 2: AuthValidator - Valid Registration Data โœ… PASS: Valid registration data accepted ๐Ÿ“ Test 3: AuthValidator - Strong Password Validation โœ… PASS: Weak password 'weak' correctly rejected โœ… PASS: Weak password 'nouppercase123!' correctly rejected โœ… PASS: Weak password 'NOLOWERCASE123!' correctly rejected โœ… PASS: Weak password 'NoNumbers!' correctly rejected โœ… PASS: Weak password 'NoSpecialChars123' correctly rejected โœ… PASS: Weak password 'Short1!' correctly rejected ๐Ÿ“ Test 4: UserValidator - User Creation โœ… PASS: User validation correctly rejected invalid data ๐Ÿ“‹ User Validation Errors: - first_name: First name must be at least 2 characters long - last_name: Last name is required - email: Please enter a valid email address - password: Password must at least 8 characters long, contain at least one uppercase letter, contain at least one number, contain at least one special character - role: Invalid role specified ๐Ÿ“ Test 5: CompanyValidator - Company Creation โœ… PASS: Company validation correctly rejected invalid data ๐Ÿ“‹ Company Validation Errors: - name: Company name must be at least 2 characters long - email: Please enter a valid email address - address: Company address is required - city: City is required - country: Country is required - industry: Invalid industry type ๐Ÿ“ Test 6: CompanyValidator - Valid Company Data โœ… PASS: Valid company data accepted ๐Ÿ“ Test 7: ReportValidator - Report Generation โœ… PASS: Report validation correctly rejected invalid data ๐Ÿ“‹ Report Validation Errors: - type: Invalid report type - company_id: Company ID must be a valid integer - date_from: Date from cannot be later than date to - format: Invalid format. Must be one of: pdf, excel, csv, json ๐Ÿ“ Test 8: BaseValidator Features Test โœ… PASS: Email validation working ๐Ÿ“ Test 9: Phone Number Validation โœ… PASS: Invalid phone '123' correctly rejected โœ… PASS: Invalid phone 'abc-def-ghij' correctly rejected โœ… PASS: Invalid phone '1234567890123456789' correctly rejected โœ… PASS: Invalid phone '+' correctly rejected โœ… PASS: Invalid phone '++123456789' correctly rejected ๐Ÿ“ Test 10: ValidationException getErrors() Method โœ… PASS: getErrors() method returns proper array ๐Ÿ“‹ Error structure: - email: Please enter a valid email address - password: Password is required ================================================== ๐ŸŽฏ Direct Validation Test Complete! โœจ Enhanced validation framework is working with: โœ… BaseValidator with fluent interface โœ… Strong password validation โœ… Email validation โœ… Phone number validation โœ… Field-specific error mapping โœ… Required field validation โœ… Data type validation (integer, boolean, etc.) โœ… Length validation (min/max) โœ… Range validation โœ… Date validation and range checking โœ… ValidationException with getErrors() method