randex
Version:
Generates random filename, username, email, name, full name, etc for test purposes.
61 lines (60 loc) • 3.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var set_1 = require("../basic/set");
var custom_1 = require("../custom");
var test_util_1 = require("./test-util");
var r = set_1.RandexSetUtil;
function splitEmail(email) {
var _a = email.split("@"), prefix = _a[0], domain = _a[1];
var _b = domain.split("."), lowDomain = _b[0], hightDomain = _b[1];
return [prefix, domain, lowDomain, hightDomain];
}
function testEmail(options) {
var email = options.email, _a = options.prefixLength, prefixLength = _a === void 0 ? r.defaultEmailPrefixLength : _a, _b = options.hightDomainLength, hightDomainLength = _b === void 0 ? r.defaultHightDomainEmailLength : _b, _c = options.lowDomainLength, lowDomainLength = _c === void 0 ? r.defaultLowDomainEmailLength : _c, emailDomain = options.domain;
var _d = splitEmail(email), prefix = _d[0], domain = _d[1], lowDomain = _d[2], hightDomain = _d[3];
// // last char only english
test_util_1.TestUtil.testInSet(prefix, [["english", "l"], "number"], prefixLength);
if (emailDomain) {
expect(emailDomain).toBe(domain);
}
else {
test_util_1.TestUtil.testInSet(lowDomain, ["english"], lowDomainLength);
test_util_1.TestUtil.testInSet(hightDomain, ["english"], hightDomainLength);
}
}
describe("randomEmail", function () {
it("simple", function () {
test_util_1.TestUtil.loop(function () {
var email = custom_1.Randex.email();
testEmail({ email: email });
});
});
it("options: prefixLength", function () {
var prefixLength = [10, 15];
test_util_1.TestUtil.loop(function () {
var email = custom_1.Randex.email({ prefixLength: prefixLength });
testEmail({ email: email, prefixLength: prefixLength });
email = custom_1.Randex.email(prefixLength);
testEmail({ email: email, prefixLength: prefixLength });
});
});
it("options: hightDomainLength, lowDomainLength", function () {
var hightDomainLength = 8;
var lowDomainLength = 12;
test_util_1.TestUtil.loop(function () {
var email = custom_1.Randex.email({ hightDomainLength: hightDomainLength, lowDomainLength: lowDomainLength });
testEmail({ email: email, hightDomainLength: hightDomainLength, lowDomainLength: lowDomainLength });
email = custom_1.Randex.email(r.defaultEmailPrefixLength, lowDomainLength, hightDomainLength);
testEmail({ email: email, hightDomainLength: hightDomainLength, lowDomainLength: lowDomainLength, prefixLength: r.defaultEmailPrefixLength });
});
});
it("options: domain", function () {
var domain = "delta.com";
test_util_1.TestUtil.loop(function () {
var email = custom_1.Randex.email({ domain: domain });
testEmail({ email: email, domain: domain });
email = custom_1.Randex.email(domain);
testEmail({ email: email, domain: domain });
});
});
});