pre-deploy commit
This commit is contained in:
81
scripts/legacy/testVipMethod.js
Normal file
81
scripts/legacy/testVipMethod.js
Normal 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();
|
||||
Reference in New Issue
Block a user