#!/usr/bin/env node /** * Test Business Intelligence API Endpoints * Quick verification that cost config endpoints are working */ require('dotenv').config(); const mongoose = require('mongoose'); async function testBIEndpoints() { try { console.log('šŸ” Testing BI API Endpoints...\n'); // Connect to MongoDB await mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost:27017/tractatus_dev'); console.log('āœ“ Connected to MongoDB'); // Import controller (simulated API call) const auditController = require('../src/controllers/audit.controller'); // Test getCostConfig console.log('\nšŸ“Š Testing getCostConfig endpoint...'); const mockReq = {}; const mockRes = { json: (data) => { console.log('āœ“ getCostConfig response:'); console.log(JSON.stringify(data, null, 2)); return mockRes; }, status: (code) => { console.log(`Status: ${code}`); return mockRes; } }; await auditController.getCostConfig(mockReq, mockRes); // Test audit logs endpoint exists console.log('\nšŸ“‹ Checking audit logs collection...'); const AuditLog = require('../src/models/AuditLog.model'); const count = await AuditLog.countDocuments(); console.log(`āœ“ Audit logs in database: ${count}`); // Check for BI-enhanced logs (with activityType field) const biEnhancedCount = await AuditLog.countDocuments({ activityType: { $exists: true } }); console.log(`āœ“ BI-enhanced logs (with activityType): ${biEnhancedCount}`); console.log('\nāœ… All BI API endpoints accessible!'); await mongoose.connection.close(); console.log('āœ“ Disconnected from MongoDB\n'); } catch (error) { console.error('āŒ Error:', error.message); console.error(error.stack); process.exit(1); } } testBIEndpoints();