18 lines
778 B
JavaScript
18 lines
778 B
JavaScript
import { generateEmail, EMAIL_DOMAINS } from '../lib/generator.js';
|
|
import assert from 'node:assert/strict';
|
|
|
|
|
|
for (const style of ['random', 'pronounceable', 'wordnum']) {
|
|
for (const domain of EMAIL_DOMAINS) {
|
|
for (let i = 0; i < 200; i++) {
|
|
const e = generateEmail({ style, domain, withNumber: i % 2 === 0 });
|
|
assert.match(e, /^[a-z0-9][a-z0-9.]*@[a-z.]+$/, 'format for ' + style + '/' + domain + ' -> ' + e);
|
|
assert.ok(e.endsWith('@' + domain), 'domain kept: ' + e);
|
|
const local = e.split('@')[0];
|
|
assert.ok(local.length >= 5, 'local length ok: ' + e);
|
|
if (i % 2 === 0) assert.match(local, /\d/, 'has number: ' + e);
|
|
}
|
|
}
|
|
}
|
|
console.log('EMAIL SMOKE OK — ' + EMAIL_DOMAINS.length * 3 * 200 + ' адресов валидны');
|