import { getMakeSut, getAnyNumber } from './helpers'; describe('Integration - Number Tests', () => { const makeSut = getMakeSut('number'); describe('should allow only numbers or null or undefined', () => { const numberCases = getAnyNumber(); numberCases.forEach(value => { test(`should allow [ ${value} ]`, () => { const { sut } = makeSut(); expect(sut.validate(value)).toBeValidResult(); }); }); const nonNumberCases = [ ['string-number', '201'], ['string', 'batata'], ['objeto', { batata: 2 }], ['array', []], ['Set', new Set()], ['Date', new Date()], ]; nonNumberCases.forEach(testCase => { const [name, value] = testCase.length === 1 ? [String(testCase), testCase] : testCase; test(`should not allow [ ${name} ]`, () => { const { sut } = makeSut(); expect(sut.validate(value)).not.toBeValidResult(); }); }); }); });