fabricatorjs
Version:
Generate fake test data
85 lines (71 loc) • 3.36 kB
JavaScript
import test from 'ava';
import Fabricator from '../src/index.js';
import UtilityService from '../src/utility';
const userAgent = new Fabricator().userAgent();
const util = new UtilityService();
const linuxProcessorList = util.getValuesArray('user_agent.linux_processor');
test(`Should generate random ${userAgent.macProcessor()} mac processor`, t => {
const macProcessor = userAgent.macProcessor();
const macProcessorList = util.getValuesArray('user_agent.mac_processor');
t.true(macProcessorList.indexOf(macProcessor) > -1);
});
test(`Should generate random ${userAgent.linuxProcessor()} linux processor`, t => {
const linuxProcessor = userAgent.linuxProcessor();
t.true(linuxProcessorList.indexOf(linuxProcessor) > -1);
});
test(`Should generate random ${userAgent.browserName()} browser`, t => {
const browser = userAgent.browserName();
const browsersList = util.getValuesArray('user_agent.browser');
t.true(browsersList.indexOf(browser) > -1);
});
test(`Should generate random ${userAgent.windowsPlatformToken()}`, t => {
const winToken = userAgent.windowsPlatformToken();
const winTokenList = util.getValuesArray('user_agent.windows');
t.true(winTokenList.indexOf(winToken) > -1);
});
test(`Should generate random ${userAgent.linuxPlatformToken()} linux token`, t => {
const linuxToken = userAgent.linuxPlatformToken();
const part1 = linuxToken.split('Linux')[0];
const part2 = linuxToken.split('Linux')[1].trim();
t.is(part1, 'X11; ');
t.true(linuxProcessorList.indexOf(part2) > -1);
});
test(`Should generate random ${userAgent.macPlatformToken()} mac platform token`, t => {
const macToken = userAgent.macPlatformToken();
const part2 = macToken.split(' Mac OS X ')[1];
t.regex(part2, /10_[5-8]_[0-9]/);
});
test(`Should generate random ${userAgent.safari()} safari agent`, t => {
const safari = userAgent.safari();
const keyWords = ['(KHTML, like Gecko)', 'Safari', 'AppleWebKit'];
keyWords.map(keyword => t.true(safari.indexOf(keyword) > -1));
});
test(`Should generate random ${userAgent.chrome()} chrome name`, t => {
const chrome = userAgent.chrome();
const keyWords = ['(KHTML, like Gecko)', 'Chrome', 'AppleWebKit', 'Safari'];
keyWords.map(keyword => t.true(chrome.indexOf(keyword) > -1));
});
test(`Should generate random ${userAgent.firefox()} firefox agent`, t => {
const firefox = userAgent.firefox();
const keyWords = ['Gecko', 'Firefox', 'rv:'];
keyWords.map(keyword => t.true(firefox.indexOf(keyword) > -1));
});
test(`Should generate random ${userAgent.opera()} opera agent`, t => {
const opera = userAgent.opera();
const keyWords = ['Presto', 'Opera', 'Version'];
keyWords.map(keyword => t.true(opera.indexOf(keyword) > -1));
t.true(opera.indexOf('en-US') > -1 || opera.indexOf('sl-SI') > -1 || opera.indexOf('it-IT') > -1);
});
test(`SHould generate random ${userAgent.ie()} IE agent`, t => {
const ie = userAgent.ie();
const keyWords = ['Mozilla/5.0 (compatible; MSIE', 'Trident'];
keyWords.map(keyword => t.true(ie.indexOf(keyword) > -1));
});
test(`Should generate random ${userAgent.browser()} browser agent`, t => {
const browser = userAgent.browser();
t.true(browser.indexOf('Firefox') > -1 ||
browser.indexOf('Chrome') > -1 ||
browser.indexOf('Gecko') > -1 ||
browser.indexOf('MSIE') > -1 ||
browser.indexOf('Presto') > -1);
});