UNPKG

node-elizabeth

Version:
118 lines (92 loc) 5.24 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.js'); var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _file = require('../locales/int/file'); var _network = require('../locales/int/network'); var NETWORK = _interopRequireWildcard(_network); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var internet = new _providers.Internet(); describe('Test internet provider', function () { it('should return random status code', function () { var _internet$contentType = internet.contentType().split(': '), _internet$contentType2 = _slicedToArray(_internet$contentType, 2), ct = _internet$contentType2[0], mimeType_ = _internet$contentType2[1]; expect(ct).toEqual(ct); expect(_file.MIME_TYPES.application).toContain(mimeType_); }); it('should return random status code', function () { expect(internet.httpStatusCode()).toMatch(/\d{3}/g); expect(NETWORK.HTTP_STATUS_CODES).toContain(internet.httpStatusCode({ codeOnly: false })); }); it('should return random http method', function () { expect(NETWORK.HTTP_METHODS).toContain(internet.httpMethod()); }); it('should return random ipv4 address', function () { // TODO: Check regexp //expect(internet.ipv4()).toMatch(/\d{1,3}\.d{1,3}\.d{1,3}\.d{1,3}/g) expect(internet.ipv4().split('.')).toHaveLength(4); }); it('should return random ipv6 address', function () { // TODO: Add regexp check; expect(internet.ipv6().split(':')).toHaveLength(8); }); it('should return random mac address', function () { // TODO: Add regexp; var result = internet.macAddress(); expect(result.split(':')).toHaveLength(6); }); it('should return random emoji code', function () { expect(NETWORK.EMOJI).toContain(internet.emoji()); }); it('should return random image placeholder', function () { expect(internet.imagePlaceholder()).toEqual('http://placehold.it/400x300'); }); it('should return random stock image', function () { expect(internet.stockImage()).toMatch(/^(.*)\/category\/?(buildings|food|nature|people|technology|objects)\/1900x1080$/); expect(internet.stockImage({ category: 'no category' })).toMatch(/^(.*)\/category\/?(buildings|food|nature|people|technology|objects)\/1900x1080$/); expect(internet.stockImage({ category: 'food' })).toMatch(/^(.*)\/category\/food\/1900x1080$/); }); it('should return random image by keyword', function () { expect(internet.imageByKeyword()).toMatch(/^(.*)?(|cat|girl|boy|beauty|nature|woman|man|tech|space)$/); expect(internet.imageByKeyword({ keyword: 'man' })).toMatch(/^(.*)man$/); }); // TODO: Refactor it('should return array of random hashtags', function () { var result = internet.hashtags(); expect(result).toHaveLength(4); expect(result.every(function (ht) { return NETWORK.HASHTAGS.general.includes(ht); })).toEqual(true); var result_ = internet.hashtags({ quantity: 10, category: 'cars' }); expect(result_).toHaveLength(10); expect(result_.every(function (ht) { return NETWORK.HASHTAGS.cars.includes(ht); })).toEqual(true); var result__ = internet.hashtags({ quantity: 1 }); expect(_lodash2.default.isString(result__)).toBe(true); }); it('should return random homepage', function () { var result = internet.homePage(); expect(result).toMatch(/^http\:\/\/www\.(.*)/); expect(NETWORK.DOMAINS).toContain('.' + result.split('.')[2]); }); it('should return random subreddit', function () { expect(NETWORK.SUBREDDITS).toContain(internet.subReddit()); expect(NETWORK.SUBREDDITS_NSFW).toContain(internet.subReddit({ nsfw: true })); var nsfwFull = internet.subReddit({ nsfw: true, fullUrl: true }); expect(nsfwFull).toMatch(/^http\:\/\/www\.(.*)/); var sub = nsfwFull.match(/\/r\/(.*)/g); expect(NETWORK.SUBREDDITS_NSFW).toContain(sub[0]); var noNsfwFull = internet.subReddit({ fullUrl: true }); expect(noNsfwFull).toMatch(/^http\:\/\/www\.(.*)/); sub = noNsfwFull.match(/\/r\/(.*)/g); expect(NETWORK.SUBREDDITS).toContain(sub[0]); }); it('should return random user agent', function () { expect(NETWORK.USER_AGENTS).toContain(internet.userAgent()); }); });