UNPKG

node-elizabeth

Version:
238 lines (183 loc) 9.51 kB
'use strict'; var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); var _providers = require('./../providers'); var _util = require('./../util'); var _personal = require('./../locales/int/personal'); var data = (0, _util.pull)('personal.json', 'en'); var ruData = (0, _util.pull)('personal.json', 'ru'); var personal = new _providers.Personal(); describe('Test personal provider', function () { it('should return random age', function () { var res = personal.age(); expect(res).toBeGreaterThanOrEqual(16); expect(res).toBeLessThanOrEqual(66); expect(personal._store.age).toEqual(res); }); it('should return random child count', function () { var personal = new _providers.Personal(); personal._store.age = 17; expect(personal.childCount()).toEqual(0); personal._store.age = 50; var result = personal.childCount({ maxChildren: 10 }); expect(result).toBeGreaterThanOrEqual(0); expect(result).toBeLessThanOrEqual(10); }); it('should return random working experience', function () { var personal = new _providers.Personal(); personal._store.age = 18; expect(personal.workExperience()).toEqual(0); personal._store.age = 40; expect(personal.workExperience({ startFrom: 30 })).toEqual(10); }); it('should return random name for current locale and gender', function () { expect(data.names.female).toContain(personal.name()); expect(data.names.male).toContain(personal.name({ gender: 'male' })); }); it('should return random name for current locale and gender', function () { expect(data.surnames).toContain(personal.surname()); expect(data.surnames).toContain(personal.surname({ gender: 'male' })); var personal_ = new _providers.Personal({ locale: 'ru' }); expect(ruData.surnames.female).toContain(personal_.surname()); expect(ruData.surnames.male).toContain(personal_.surname({ gender: 'male' })); }); it('should return random title', function () { expect(data.title.female.typical).toContain(personal.title()); expect(data.title.female.academic).toContain(personal.title({ titleType: 'academic' })); expect(data.title.male.typical).toContain(personal.title({ gender: 'male' })); expect(data.title.male.academic).toContain(personal.title({ gender: 'male', titleType: 'academic' })); }); it('should return full name', function () { var _personal$fullName$sp = personal.fullName().split(' '), _personal$fullName$sp2 = _slicedToArray(_personal$fullName$sp, 2), firstName = _personal$fullName$sp2[0], lastName = _personal$fullName$sp2[1]; expect(data.names.female).toContain(firstName); expect(data.surnames).toContain(lastName); var _personal$fullName$sp3 = personal.fullName({ reversed: true }).split(' '); var _personal$fullName$sp4 = _slicedToArray(_personal$fullName$sp3, 2); lastName = _personal$fullName$sp4[0]; firstName = _personal$fullName$sp4[1]; expect(data.names.female).toContain(firstName); expect(data.surnames).toContain(lastName); var _personal$fullName$sp5 = personal.fullName({ gender: 'male' }).split(' '); var _personal$fullName$sp6 = _slicedToArray(_personal$fullName$sp5, 2); firstName = _personal$fullName$sp6[0]; lastName = _personal$fullName$sp6[1]; expect(data.names.male).toContain(firstName); expect(data.surnames).toContain(lastName); var _personal$fullName$sp7 = personal.fullName({ gender: 'male', reversed: true }).split(' '); var _personal$fullName$sp8 = _slicedToArray(_personal$fullName$sp7, 2); lastName = _personal$fullName$sp8[0]; firstName = _personal$fullName$sp8[1]; expect(data.names.male).toContain(firstName); expect(data.surnames).toContain(lastName); }); // TODO: Check regexp; it('should return random username', function () { expect(personal.username()).toMatch(new RegExp(/[a-z]+?(_|-|.*)[0-9]{1,4}/g)); }); it('should return random email address', function () { expect(personal.email()).toMatch(new RegExp(/[a-z]+?(_|-|.*)[0-9]{1,4}\@?(@gmail.com|@yandex.com|@yahoo.com|@live.com|@outlook.com)/g)); }); it('should return random bitcoin address', function () { expect(personal.bitcoin()).toMatch(new RegExp(/^([13])[A-z0-9]{33}/g)); }); it('should return random cvv', function () { var result = personal.cvv(); expect(result).toBeGreaterThanOrEqual(100); expect(result).toBeLessThanOrEqual(999); }); it('should return random CC number', function () { var visa = new RegExp('^4[0-9]{12}(?:[0-9]{3})?$'); var amex = new RegExp('^3[47][0-9]{13}$'); var mastercard = new RegExp('^5[1-5][0-9]{14}$'); expect(personal.creditCardNumber()).toMatch(visa); expect(personal.creditCardNumber({ cardType: 'a' })).toMatch(amex); expect(personal.creditCardNumber({ cardType: 'm' })).toMatch(mastercard); expect(function () { return personal.creditCardNumber({ cardType: 'none' }); }).toThrow(new Error('Unsupported card type')); }); it('should return random CC expiration date', function () { expect(personal.creditCardExpirationDate()).toMatch(/^(0[1-9]|1[0-2])\/?([0-9]{4}|[0-9]{2})$/); }); it('should return random CID code', function () { var result = personal.cid(); expect(result).toBeGreaterThanOrEqual(1000); expect(result).toBeLessThanOrEqual(9999); }); it('should return random paypall account', function () { expect(personal.paypal()).toMatch(new RegExp(/[a-z]+?(_|-|.*)[0-9]{1,4}\@?(@gmail.com|@yandex.com|@yahoo.com|@live.com|@outlook.com)/g)); }); it('should return random social media profile', function () { expect(personal.socialMediaProfile()).toMatch(new RegExp(/^(http:\/\/facebook.com\/|http:\/\/twitter.com\/|http:\/\/medium.com\/@)[a-z]+?(_|-|.*)[0-9]{1,4}/g)); }); it('should return random gender', function () { expect([0, 1, 2, 9]).toContain(personal.gender({ iso5218: true })); expect(_personal.GENDER_SYMBOLS).toContain(personal.gender({ symbol: true })); expect(data.gender).toContain(personal.gender()); }); it('should return random height', function () { var result = personal.height(); expect(result).toBeGreaterThanOrEqual(1.5); expect(result).toBeLessThanOrEqual(2); }); it('should return random weight', function () { var result = personal.weight(); expect(result).toBeGreaterThanOrEqual(38); expect(result).toBeLessThanOrEqual(90); }); it('should return random blood group', function () { expect(_personal.BLOOD_GROUPS).toContain(personal.bloodType()); }); it('should return random sexual orientation', function () { expect(_personal.SEXUALITY_SYMBOLS).toContain(personal.sexualOrientation({ symbol: true })); expect(data.sexuality).toContain(personal.sexualOrientation()); }); it('should return random occupation', function () { expect(data.occupation).toContain(personal.occupation()); }); it('should return random political views', function () { expect(data.political_views).toContain(personal.politicalViews()); }); it('should return random world view', function () { expect(data.worldview).toContain(personal.worldView()); }); it('should return random view on', function () { expect(data.views_on).toContain(personal.viewOn()); }); it('should return random nationality', function () { expect(data.nationality).toContain(personal.nationality()); var personal_ = new _providers.Personal({ locale: 'ru' }); expect(ruData.nationality.male).toContain(personal_.nationality({ gender: 'male' })); expect(ruData.nationality.female).toContain(personal_.nationality()); }); it('should return random university', function () { expect(data.university).toContain(personal.university()); }); it('should return random academic degree', function () { expect(data.academic_degree).toContain(personal.academicDegree()); }); it('should return random language', function () { expect(data.language).toContain(personal.language()); }); it('should return random favorite movie', function () { expect(data.favorite_movie).toContain(personal.favoriteMovie()); }); it('should return random favorite music genre', function () { expect(_personal.FAVORITE_MUSIC_GENRE).toContain(personal.favoriteMusicGenre()); }); //TODO: implement personal.telephone(); it('should return phone number', function () { expect(personal.telephone()).toBeTruthy(); var result = personal.telephone({ mask: '###' }); expect(result).toHaveLength(3); expect(result).toMatch(/^\d{3}/); }); it('should return random identifier', function () { expect(personal.identifier()).toMatch(new RegExp(/[0-9]{2}-[0-9]{2}\/[0-9]{2}/g)); }); it('should return random level of english', function () { expect(_personal.ENGLISH_LEVEL).toContain(personal.levelOfEnglish()); }); });