/** * Entity System Testing Utilities * * Comprehensive testing utilities for the WordPress-like Entity System. * Includes mock generators, test helpers, and validation utilities. */ import type { EntityConfig, EntityField, PlanType, UserFlag } from './types'; import type { UserRole } from '../../types/user.types'; /** * Generate mock entity configuration for testing */ export declare function createMockEntityConfig(overrides?: Partial): EntityConfig; /** * Generate mock entity data for testing */ export declare function createMockEntityData(entityConfig: EntityConfig, count?: number): Record[]; /** * Generate mock value for a specific field */ export declare function generateMockFieldValue(field: EntityField): unknown; /** * Create mock user for testing permissions */ export declare function createMockUser(role?: UserRole, plan?: PlanType, flags?: UserFlag[]): { id: string; role: any; plan: PlanType; flags: UserFlag[]; email: string; }; /** * Test entity configuration validation */ export declare function validateEntityConfig(config: EntityConfig): { valid: boolean; errors: string[]; }; /** * Test entity access system (permission system removed) */ export declare function testEntityAccess(entityConfig: EntityConfig): { passed: boolean; results: Array<{ test: string; passed: boolean; message: string; }>; }; /** * Performance test for entity operations */ export declare function performanceTestEntity(entityConfig: EntityConfig, operations?: Array<'create' | 'read' | 'update' | 'delete'>): Promise<{ operation: string; averageTime: number; minTime: number; maxTime: number; iterations: number; }[]>; /** * Integration test for complete entity workflow */ export declare function integrationTestEntity(entityConfig: EntityConfig): Promise<{ passed: boolean; steps: Array<{ step: string; passed: boolean; duration: number; error?: string; }>; }>; /** * Clean up test entities from registry */ export declare function cleanupTestEntities(): void; /** * Generate comprehensive test report */ export declare function generateTestReport(entityConfig: EntityConfig, validationResults: ReturnType, accessResults: ReturnType, integrationResults: Awaited>): string; //# sourceMappingURL=testing.d.ts.map