import { phoneNumberValidation, } from './phone-number.validation'; describe('phoneNumberValidation', () => { const runPhoneNumberValidTest = ({ phoneNumber, expectedToBeValid, }: { phoneNumber: string, expectedToBeValid: boolean, }) => { test(`Expect ${phoneNumber} to be ${ expectedToBeValid ? 'valid' : 'invalid' }`, () => { const result = phoneNumberValidation(phoneNumber); if (expectedToBeValid) { expect(result).toBeNull(); } else { expect(result.phoneNumberValidation).toBe(true); } }); }; const invalidPhoneNumbers = [ 'abc', '12', '12356', '12a', ]; invalidPhoneNumbers .forEach((phoneNumber) => runPhoneNumberValidTest({ expectedToBeValid: false, phoneNumber, })); const validPhoneNumbers = [ '07912312398', '+447912312398', '(0151) 336 7712', null, ]; validPhoneNumbers .forEach((phoneNumber) => runPhoneNumberValidTest({ expectedToBeValid: true, phoneNumber, })); });