the-tip-top-backend/scripts/test-infuseur-stock.js
2025-11-17 23:47:54 +01:00

39 lines
1.1 KiB
JavaScript

import 'dotenv/config';
import { pool } from '../db.js';
async function testInfuseurStock() {
try {
const result = await pool.query(`
SELECT
p.*,
COALESCE(COUNT(t.id), 0) as total_tickets,
COALESCE(COUNT(CASE WHEN t.played_at IS NOT NULL THEN 1 END), 0) as tickets_used,
p.stock + COALESCE(COUNT(t.id), 0) as initial_stock
FROM prizes p
LEFT JOIN tickets t ON p.id = t.prize_id
WHERE p.type = 'INFUSEUR'
GROUP BY p.id
`);
console.log('📊 Résultat de la requête SQL pour INFUSEUR:');
console.table(result.rows.map(r => ({
name: r.name,
stock: r.stock,
total_tickets: r.total_tickets,
tickets_used: r.tickets_used,
initial_stock: r.initial_stock
})));
console.log('\n✅ Calcul corrigé:');
console.log('Stock généré (initial_stock) = stock + total_tickets');
console.log(`${result.rows[0].initial_stock} = ${result.rows[0].stock} + ${result.rows[0].total_tickets}`);
} catch (error) {
console.error('❌ Erreur:', error);
} finally {
await pool.end();
}
}
testInfuseurStock();