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
CodePudding user response:
Just split the declarations on 3 different lines
let email = "";
let domainName = "";
let possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
CodePudding user response:
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`;
}
CodePudding user response:
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"
}
}
- In your test
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() // => "[email protected]"
faker.internet.email() // '[email protected]'
faker.internet.email('Jeanne', 'Doe') // '[email protected]'
faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev') // '[email protected]'
faker.internet.email('Jeanne', 'Doe', 'example.fakerjs.dev', { allowSpecialCharacters: true }) // 'Jeanne%[email protected]'