node-elizabeth
Version:

118 lines (92 loc) • 5.24 kB
JavaScript
;
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());
});
});