alpha-test

This commit is contained in:
2025-09-18 13:46:35 +09:00
parent 85027a7747
commit 5ea3e8c1f3
27 changed files with 5887 additions and 174 deletions

81
scripts/testVipMethod.js Normal file
View File

@@ -0,0 +1,81 @@
// Скрипт для тестирования метода checkPremiumStatus
require('dotenv').config();
const { Pool } = require('pg');
// Создаем пул соединений
const pool = new Pool({
user: process.env.DB_USERNAME,
host: process.env.DB_HOST,
database: process.env.DB_NAME,
password: process.env.DB_PASSWORD,
port: parseInt(process.env.DB_PORT || '5432')
});
async function testCheckPremiumMethod() {
try {
console.log('Тестирование метода checkPremiumStatus...');
// Получаем пользователя для тестирования
const userResult = await pool.query(`
SELECT id, telegram_id, first_name, username, premium
FROM users
ORDER BY last_active_at DESC NULLS LAST
LIMIT 1
`);
if (userResult.rows.length === 0) {
console.error('❌ Пользователи не найдены в базе данных');
return;
}
const user = userResult.rows[0];
console.log(`Выбран тестовый пользователь: ${user.first_name || user.username || 'Без имени'} (Telegram ID: ${user.telegram_id})`);
console.log(`Текущий премиум-статус: ${user.premium ? '✅ Активен' : '❌ Не активен'}`);
// Проверка работы метода checkPremiumStatus
console.log('\nЭмулируем вызов метода checkPremiumStatus из vipService:');
const result = await pool.query(`
SELECT id, premium
FROM users
WHERE telegram_id = $1
`, [user.telegram_id]);
if (result.rows.length === 0) {
console.log('❌ Пользователь не найден');
} else {
const isPremium = result.rows[0].premium || false;
console.log(`Результат метода: isPremium = ${isPremium ? '✅ true' : '❌ false'}`);
if (!isPremium) {
console.log('\nПремиум-статус отсутствует. Устанавливаем премиум...');
await pool.query(`
UPDATE users
SET premium = true
WHERE telegram_id = $1
`, [user.telegram_id]);
// Проверяем обновление
const updatedResult = await pool.query(`
SELECT premium
FROM users
WHERE telegram_id = $1
`, [user.telegram_id]);
const updatedPremium = updatedResult.rows[0].premium;
console.log(`Обновленный статус: isPremium = ${updatedPremium ? '✅ true' : '❌ false'}`);
}
}
console.log('\n✅ Тестирование завершено');
console.log('🔧 Теперь проверьте функциональность VIP поиска в боте');
} catch (error) {
console.error('❌ Ошибка при тестировании:', error);
} finally {
await pool.end();
console.log('Соединение с базой данных закрыто');
}
}
// Запускаем тест
testCheckPremiumMethod();