thrilled-be-testing
Version:
Testing utilities and helpers package with Jest, Supertest, and database testing support for Express applications
129 lines • 3.93 kB
TypeScript
import { MockFactory, MockFactoryOptions, DatabaseMockOptions, AuthMockOptions, MockUser, MockSession, MockJwtPayload, MockDatabaseRecord, MockApiResponse, MockErrorResponse, MockPagination, MockPaginatedResponse, MockQueryResult, MockConnection } from './types/mock-types.js';
/**
* Mock Data Factory
* Generates consistent test data using configurable factories
*/
export declare class MockDataFactory {
private static sequence;
/**
* Set global seed for consistent test data (resets sequences)
*/
static setSeed(_seed: number): void;
/**
* Get next sequence number for a given key
*/
private static getSequence;
/**
* Generate random string
*/
static randomString(length?: number, prefix?: string): string;
/**
* Generate random number within range
*/
static randomNumber(min?: number, max?: number): number;
/**
* Generate random email
*/
static randomEmail(domain?: string): string;
/**
* Generate random phone number
*/
static randomPhone(countryCode?: string): string;
/**
* Generate random date within range
*/
static randomDate(startDate?: Date, endDate?: Date): Date;
/**
* Pick random item from array
*/
static randomChoice<T>(items: T[]): T;
/**
* Generate multiple items using a factory
*/
static generateMultiple<T>(factory: MockFactory<T>, count: number, options?: MockFactoryOptions): T[];
}
/**
* User Mock Factory
*/
export declare const createMockUser: MockFactory<MockUser>;
/**
* Session Mock Factory
*/
export declare const createMockSession: MockFactory<MockSession>;
/**
* JWT Token Mock Factory
*/
export declare const createMockJwtPayload: MockFactory<MockJwtPayload>;
/**
* Database Record Mock Factory
*/
export declare const createMockDatabaseRecord: MockFactory<MockDatabaseRecord>;
/**
* API Response Mock Factory
*/
export declare const createMockApiResponse: MockFactory<MockApiResponse>;
/**
* Error Response Mock Factory
*/
export declare const createMockErrorResponse: MockFactory<MockErrorResponse>;
/**
* Validation Error Mock Factory
*/
export declare const createMockValidationError: MockFactory<MockErrorResponse>;
/**
* Pagination Mock Factory
*/
export declare const createMockPagination: MockFactory<MockPagination>;
/**
* Paginated Response Mock Factory
*/
export declare const createMockPaginatedResponse: MockFactory<MockPaginatedResponse>;
/**
* Auth Mock Utilities
*/
export declare class AuthMockUtils {
/**
* Create mock JWT token
*/
static createMockJwtToken(options?: AuthMockOptions): string;
/**
* Create mock authentication headers
*/
static createAuthHeaders(token?: string): Record<string, string>;
/**
* Create mock user session
*/
static createMockUserSession(options?: AuthMockOptions): MockSession;
}
/**
* Database Mock Utilities
*/
export declare class DatabaseMockUtils {
/**
* Create mock database connection
*/
static createMockConnection(): MockConnection;
/**
* Create mock query result
*/
static createMockQueryResult(rows?: unknown[], rowCount?: number): MockQueryResult;
/**
* Setup database mocks for testing
*/
static setupDatabaseMocks(_options?: DatabaseMockOptions): MockConnection;
}
/**
* Export all mock factories
*/
export declare const MockFactories: {
User: MockFactory<MockUser>;
Session: MockFactory<MockSession>;
JwtPayload: MockFactory<MockJwtPayload>;
DatabaseRecord: MockFactory<MockDatabaseRecord>;
ApiResponse: MockFactory<MockApiResponse<unknown>>;
ErrorResponse: MockFactory<MockErrorResponse>;
ValidationError: MockFactory<MockErrorResponse>;
Pagination: MockFactory<MockPagination>;
PaginatedResponse: MockFactory<MockPaginatedResponse<unknown>>;
};
//# sourceMappingURL=mock-factories.d.ts.map