47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import { faker } from "@faker-js/faker";
|
|
import { createGenerator } from "ts-json-schema-generator";
|
|
|
|
export const generateRandomNumbersArray = (): number[] =>
|
|
Array.from({ length: 6 }, () => faker.number.int({ min: 0, max: 9 }));
|
|
|
|
const getRandomChar = (characters: string): string => {
|
|
const randomIndex = Math.floor(Math.random() * characters.length);
|
|
return characters[randomIndex];
|
|
};
|
|
|
|
export function jsonSchema(projectFileName: string, typeName: string) {
|
|
const generator = createGenerator({
|
|
path: `./tests/helpers/models/${projectFileName}`,
|
|
type: typeName,
|
|
});
|
|
|
|
return generator.createSchema(typeName);
|
|
}
|
|
|
|
export const randomNameWithPrefix = async (prefix: string) => {
|
|
return `test-${prefix}-${faker.lorem.word({
|
|
length: { min: 3, max: 7 },
|
|
})}-${faker.number.int({ min: 1000, max: 9999 })}`;
|
|
};
|
|
|
|
export const returnPassword = async (length: number) => {
|
|
const uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
const lowercaseLetters = "abcdefghijklmnopqrstuvwxyz";
|
|
const numbers = "0123456789";
|
|
const symbols = "!@#$%^&*()";
|
|
|
|
const allCharacters = uppercaseLetters + lowercaseLetters + numbers + symbols;
|
|
let result = "";
|
|
|
|
result += getRandomChar(uppercaseLetters);
|
|
result += getRandomChar(lowercaseLetters);
|
|
result += getRandomChar(numbers);
|
|
result += getRandomChar(symbols);
|
|
|
|
for (let i = result.length; i < length; i++) {
|
|
result += getRandomChar(allCharacters);
|
|
}
|
|
|
|
return result;
|
|
};
|