UNPKG

agentic-qe

Version:

Agentic Quality Engineering Fleet System - AI-driven quality management platform

203 lines 5.26 kB
/** * FakerDataGenerator - Advanced test data generation utilities * * Provides comprehensive, realistic test data generation using Faker.js * with support for relationships, edge cases, and complex data structures. */ export interface DataGenerationOptions { seed?: number; locale?: string; count?: number; includeEdgeCases?: boolean; preserveRelationships?: boolean; } export interface UserData { id: string; firstName: string; lastName: string; fullName: string; email: string; phone: string; age: number; birthDate: Date; gender: string; avatar: string; address: AddressData; company: CompanyData; account: AccountData; metadata: Record<string, any>; } export interface AddressData { street: string; streetNumber: string; city: string; state: string; country: string; zipCode: string; latitude: number; longitude: number; timezone: string; } export interface CompanyData { name: string; industry: string; jobTitle: string; department: string; email: string; website: string; ein: string; } export interface AccountData { username: string; password: string; accountNumber: string; iban: string; creditCard: { number: string; cvv: string; issuer: string; expiryDate: string; }; balance: number; currency: string; } export interface ProductData { id: string; name: string; description: string; category: string; brand: string; sku: string; barcode: string; price: number; currency: string; stock: number; weight: number; dimensions: { width: number; height: number; depth: number; unit: string; }; images: string[]; tags: string[]; ratings: { average: number; count: number; }; createdAt: Date; updatedAt: Date; } export interface OrderData { id: string; orderNumber: string; userId: string; items: OrderItemData[]; subtotal: number; tax: number; shipping: number; total: number; currency: string; status: 'pending' | 'processing' | 'shipped' | 'delivered' | 'cancelled'; paymentMethod: string; shippingAddress: AddressData; billingAddress: AddressData; trackingNumber?: string; createdAt: Date; updatedAt: Date; deliveredAt?: Date; } export interface OrderItemData { productId: string; productName: string; quantity: number; unitPrice: number; total: number; discount?: number; } export declare class FakerDataGenerator { private faker; private options; constructor(options?: DataGenerationOptions); /** * Generate realistic user data with complete profile */ generateUser(): UserData; /** * Generate multiple users with optional relationships */ generateUsers(count?: number): UserData[]; /** * Generate realistic address data */ generateAddress(): AddressData; /** * Generate realistic company data */ generateCompany(): CompanyData; /** * Generate account and financial data */ generateAccount(firstName?: string, lastName?: string): AccountData; /** * Generate realistic product data */ generateProduct(): ProductData; /** * Generate multiple products */ generateProducts(count?: number): ProductData[]; /** * Generate realistic order data with relationships */ generateOrder(userId?: string, products?: ProductData[]): OrderData; /** * Generate multiple orders with user relationships */ generateOrders(count?: number, users?: UserData[], products?: ProductData[]): OrderData[]; /** * Generate edge case values for testing */ generateEdgeCases(): Record<string, any[]>; /** * Generate complete dataset with relationships preserved */ generateCompleteDataset(config?: { userCount?: number; productCount?: number; orderCount?: number; }): { users: UserData[]; products: ProductData[]; orders: OrderData[]; }; /** * Reset faker seed */ resetSeed(seed?: number): void; /** * Get current faker instance */ getFaker(): any; /** * Generate custom data using Faker API */ generateCustom<T>(generator: (faker: any) => T): T; } export declare const defaultFakerGenerator: FakerDataGenerator; export declare const generateUser: () => UserData; export declare const generateUsers: (count: number) => UserData[]; export declare const generateProduct: () => ProductData; export declare const generateProducts: (count: number) => ProductData[]; export declare const generateOrder: (userId?: string, products?: ProductData[]) => OrderData; export declare const generateOrders: (count: number, users?: UserData[], products?: ProductData[]) => OrderData[]; export declare const generateCompleteDataset: (config?: { userCount?: number; productCount?: number; orderCount?: number; }) => { users: UserData[]; products: ProductData[]; orders: OrderData[]; }; //# sourceMappingURL=FakerDataGenerator.d.ts.map