import { describe, it } from 'vitest' import rules from './rules' describe('rules', () => { it('should return true if password has (numbers, letters, capitalize letters, special characters) ', () => { const testPassword = 'Qwerty123$12' const result = rules.password(testPassword) expect(result).toBeTruthy() }) it('should return false if password has not special characters', () => { const testPassword = 'Qwerty123' const result = rules.password(testPassword) expect(result).toBeFalsy() }) it('should return false if password has not numbers', () => { const testPassword = 'Qwerty$' const result = rules.password(testPassword) expect(result).toBeFalsy() }) it('should return false if password has not letters', () => { const testPassword = '123456$' const result = rules.password(testPassword) expect(result).toBeFalsy() }) it('should return true if email is valid', () => { const testEmail = 'some@email.com' const result = rules.email(testEmail) expect(result).toBeTruthy() }) it('should return false if email is not valid', () => { const testEmail = 'someemail.com' const result = rules.email(testEmail) expect(result).toBeFalsy() }) it('should return true if value length more than 2', () => { const testValue = '123' const testMin = 2 const result = rules.min(testValue, testMin) expect(result).toBeTruthy() }) it('should return false if value length less than 2', () => { const testValue = '1' const testMin = 2 const result = rules.min(testValue, testMin) expect(result).toBeFalsy() }) it('should return true if value length less than 10', () => { const testValue = '123456789' const testMax = 10 const result = rules.max(testValue, testMax) expect(result).toBeTruthy() }) it('should return false if value length more than 10', () => { const testValue = '12345678910' const testMax = 10 const result = rules.max(testValue, testMax) expect(result).toBeFalsy() }) it('should return true if value string is not empty', () => { const testStringValue = 'test value' const result = rules.required(testStringValue) expect(result).toBeTruthy() }) it('should return true if array is not empty', () => { const testArrayValue = ['test array'] const result = rules.required(testArrayValue) expect(result).toBeTruthy() }) it('should return false if string value is empty', () => { const testStringValue = '' const result = rules.required(testStringValue) expect(result).toBeFalsy() }) it('should return false if array is empty', () => { const testArrayValue = [] as any const result = rules.required(testArrayValue) expect(result).toBeFalsy() }) })