66 lines
2.3 KiB
JavaScript
66 lines
2.3 KiB
JavaScript
|
|
const fallbackStore = require("./src/utils/fallback-store");
|
||
|
|
|
||
|
|
async function testFallbackStore() {
|
||
|
|
console.log("🧪 Testing Fallback Store Functionality\n");
|
||
|
|
|
||
|
|
// Test 1: Check initial state
|
||
|
|
console.log("1. Initial State:");
|
||
|
|
console.log(` - Active: ${fallbackStore.isActive}`);
|
||
|
|
console.log(` - Events Count: ${fallbackStore.events.size}`);
|
||
|
|
console.log(` - Total Tickets: ${fallbackStore.globalStats.totalTickets}`);
|
||
|
|
console.log(` - Total Sold: ${fallbackStore.globalStats.totalSold}\n`);
|
||
|
|
|
||
|
|
// Test 2: Activate fallback store
|
||
|
|
console.log("2. Activating Fallback Store...");
|
||
|
|
fallbackStore.activate("Test activation");
|
||
|
|
console.log(` - Active: ${fallbackStore.isActive}\n`);
|
||
|
|
|
||
|
|
// Test 3: Check if seeding is needed
|
||
|
|
console.log("3. Checking Seeding Status:");
|
||
|
|
if (fallbackStore.events.size === 0) {
|
||
|
|
console.log(" - Fallback store is empty, attempting to seed...");
|
||
|
|
await fallbackStore.attemptReseed();
|
||
|
|
} else {
|
||
|
|
console.log(" - Fallback store already has data");
|
||
|
|
}
|
||
|
|
console.log(` - Events Count: ${fallbackStore.events.size}\n`);
|
||
|
|
|
||
|
|
// Test 4: Test ticket purchase if events exist
|
||
|
|
if (fallbackStore.events.size > 0) {
|
||
|
|
console.log("4. Testing Ticket Purchase:");
|
||
|
|
const eventId = "1";
|
||
|
|
const purchaseId = "test-purchase-123";
|
||
|
|
|
||
|
|
const result = fallbackStore.purchaseTicket(eventId, purchaseId);
|
||
|
|
if (result.success) {
|
||
|
|
console.log(` - Purchase successful: ${result.ticket}`);
|
||
|
|
console.log(` - Sold count: ${result.soldCount}`);
|
||
|
|
} else {
|
||
|
|
console.log(` - Purchase failed: ${result.error}`);
|
||
|
|
}
|
||
|
|
console.log(
|
||
|
|
` - Remaining tickets: ${
|
||
|
|
fallbackStore.getEventStats(eventId)?.remainingTickets || 0
|
||
|
|
}\n`
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
// Test 5: Get status
|
||
|
|
console.log("5. Fallback Store Status:");
|
||
|
|
const status = fallbackStore.getStatus();
|
||
|
|
console.log(` - Active: ${status.active}`);
|
||
|
|
console.log(` - Events: ${status.eventsCount}`);
|
||
|
|
console.log(` - Total Tickets: ${status.totalTickets}`);
|
||
|
|
console.log(` - Total Sold: ${status.totalSold}\n`);
|
||
|
|
|
||
|
|
// Test 6: Deactivate
|
||
|
|
console.log("6. Deactivating Fallback Store...");
|
||
|
|
fallbackStore.deactivate();
|
||
|
|
console.log(` - Active: ${fallbackStore.isActive}\n`);
|
||
|
|
|
||
|
|
console.log("✅ Fallback Store Test Completed!");
|
||
|
|
}
|
||
|
|
|
||
|
|
// Run the test
|
||
|
|
testFallbackStore().catch(console.error);
|