49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
// Test setup and configuration
|
|
process.env.NODE_ENV = "test";
|
|
process.env.PORT = "0"; // Use random port for tests
|
|
process.env.REDIS_URL = "redis://localhost:6379";
|
|
process.env.LOG_LEVEL = "error"; // Reduce log noise during tests
|
|
process.env.PDF_OUTPUT_DIR = "test-tickets";
|
|
|
|
// Global test utilities
|
|
global.testUtils = {
|
|
// Generate unique test IDs
|
|
generateTestId: () =>
|
|
`test-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
|
|
// Wait for a specified time
|
|
wait: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
|
|
|
|
// Generate test event data
|
|
createTestEvent: (eventId = 1, ticketCount = 100) => ({
|
|
eventId: eventId.toString(),
|
|
name: `Test Event ${eventId}`,
|
|
description: `Test event description ${eventId}`,
|
|
totalTickets: ticketCount,
|
|
soldTickets: 0,
|
|
remainingTickets: ticketCount,
|
|
createdAt: new Date().toISOString(),
|
|
lastSoldAt: "never",
|
|
}),
|
|
|
|
// Generate test ticket data
|
|
createTestTicket: (eventId = 1, ticketId = "test-ticket-1") => ({
|
|
ticketId,
|
|
eventId: eventId.toString(),
|
|
purchaseId: `test-purchase-${Date.now()}`,
|
|
timestamp: new Date().toISOString(),
|
|
}),
|
|
};
|
|
|
|
// Mock console methods to reduce noise during tests
|
|
global.console = {
|
|
...console,
|
|
log: jest.fn(),
|
|
info: jest.fn(),
|
|
warn: jest.fn(),
|
|
error: jest.fn(),
|
|
};
|
|
|
|
// Increase timeout for integration tests
|
|
jest.setTimeout(30000);
|