Feat: add prometheus compatible endpoint, seed fallback store and add env.example
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
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);
|
||||
Reference in New Issue
Block a user