import { cvvValidation, } from './cvv.validation'; describe('cvvValidation', () => { const runCvvValidTest = ({ cvvNumber, expectedToBeValid, }: { cvvNumber: string, expectedToBeValid: boolean, }) => { test(`Expect ${cvvNumber} to be ${ expectedToBeValid ? 'valid' : 'invalid' }`, () => { const result = cvvValidation(cvvNumber); if (expectedToBeValid) { expect(result).toBeNull(); } else { expect(result.cvvValidation).toBe(true); } }); }; const invalidCvvNumbers = [ 'abc', '12', '12356', '12a', ]; invalidCvvNumbers .forEach((cvvNumber) => runCvvValidTest({ cvvNumber, expectedToBeValid: false, })); const validCvvNumbers = [ '1234', '123', null, ]; validCvvNumbers .forEach((cvvNumber) => runCvvValidTest({ cvvNumber, expectedToBeValid: true, })); });