I'm trying to create a random generator for emails in my cypress code
this is my exemple :
export function userEmail(): string {
let email = "",
domainName = "",
possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (let i = 0; i < tabSize9; i++)
email += possible.charAt(Math.floor(Math.random() * possible.length));
domainName += possible.charAt(Math.floor(Math.random() * possible.length));
return `${email}@${domainName}.com`;
}
it's working for me as well , but the problem is when i lunch my eslint script , it says to me that the variable email should not be initialized on declaration , even my domainName variable
Any help !
thank you in advance
Just split the declarations on 3 different lines
let email = "";
let domainName = "";
let possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
You try this :
export function userEmail(): string {
const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
let email = "";
let domainName = "";
for (let i = 0; i < tabSize9; i++){
email += possible.charAt(Math.floor(Math.random() * possible.length));
domainName += possible.charAt(Math.floor(Math.random() * possible.length));
}
return `${email}@${domainName}.com`;
}
You can also use faker.js to generate random emails.
Install faker js with npm install @faker-js/faker --save-dev
In order to have faker working properly, you need to check if these compilerOptions are set correctly in your tsconfig file:
{
"compilerOptions": {
"esModuleInterop": true,
"moduleResolution": "Node"
}
}
import { faker } from '@faker-js/faker';
export function userEmail(): string {
return faker.internet.email();
}
You can play around with what type of random emails you want to generate. Like if you want to keep the domain name or first, the last name constant etc. Refer Faker Js Document
faker.internet.email(firstName?: string, lastName?: string, provider?: string, options?: {
allowSpecialCharacters: boolean
} = { allowSpecialCharacters: false }): string
faker.internet.email() // => "Larry_Ratke85@yahoo.com"
faker.internet.email() // 'Kassandra4@hotmail.com'
faker.internet.email('Jeanne', 'Doe') // 'Jeanne63@yahoo.com'
faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev') // 'Jeanne_Doe88@example.fakerjs.dev'
faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev', { allowSpecialCharacters: true }) // 'Jeanne%Doe88@example.fakerjs.dev'