61 lines
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
// utils/userGenerator.ts
|
||
|
||
// Список русских имён, фамилий, отчеств
|
||
const firstNames = ['Алексей', 'Игорь', 'Иван', 'Владислав', 'Дмитрий', 'Константин', 'Сергей', 'Всеволод'];
|
||
const lastNames = ['Иванов', 'Петров', 'Сидоров', 'Кузнецов', 'Смирнов', 'Попов', 'Фёдоров'];
|
||
const middleNames = ['Алексеевич', 'Иванович', 'Дмитриевич', 'Андреевич', 'Сергеевич', 'Олегович'];
|
||
|
||
function getRandomFromArray(array: string[]): string {
|
||
return array[Math.floor(Math.random() * array.length)];
|
||
}
|
||
|
||
export function generateFirstName(): string {
|
||
return getRandomFromArray(firstNames);
|
||
}
|
||
|
||
export function generateLastName(): string {
|
||
return getRandomFromArray(lastNames);
|
||
}
|
||
|
||
export function generateMiddleName(): string {
|
||
return getRandomFromArray(middleNames);
|
||
}
|
||
|
||
export function generateRandomString(length: number): string {
|
||
const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
||
let result = '';
|
||
for (let i = 0; i < length; i++) {
|
||
result += chars[Math.floor(Math.random() * chars.length)];
|
||
}
|
||
return result;
|
||
}
|
||
|
||
export function generateEmail(): string {
|
||
const timestamp = Date.now();
|
||
return `test_user_${timestamp}@mail.tm`;
|
||
}
|
||
|
||
export function generateLogin(): string {
|
||
return `user_${generateRandomString(6)}`;
|
||
}
|
||
|
||
export function generatePhone(): string {
|
||
const random = Math.floor(100000000 + Math.random() * 900000000); // 9 цифр
|
||
return `+790${random}`; // +79012345678
|
||
}
|
||
|
||
export function generateShortOrgName(): string {
|
||
return `Организация_${generateRandomString(3)}`;
|
||
}
|
||
|
||
export function generateFullOrgName(): string {
|
||
return `ООО Организация_${generateRandomString(3)}`;
|
||
}
|
||
|
||
export function generateKPP(): string {
|
||
return Array.from({ length: 9 }, () => Math.floor(Math.random() * 10)).join("");
|
||
}
|
||
|
||
export function generateINN(): string {
|
||
return Array.from({ length: 10 }, () => Math.floor(Math.random() * 10)).join("");
|
||
} |