47 lines
2.2 KiB
JavaScript
47 lines
2.2 KiB
JavaScript
const AchievementSystem = require('./lib/achievementSystem');
|
|
|
|
async function testAchievements() {
|
|
console.log('=== Testing Achievement System ===');
|
|
|
|
const achievementSystem = new AchievementSystem();
|
|
const playerId = '08476bfc-5f48-486c-9f0b-90b81e5ccd8d';
|
|
|
|
try {
|
|
// Test 1: Load achievements
|
|
console.log('\n1. Loading achievements...');
|
|
await achievementSystem.loadAchievements();
|
|
console.log(`✅ Loaded ${achievementSystem.achievements.size} achievements`);
|
|
|
|
// Test 2: Load player achievements
|
|
console.log('\n2. Loading player achievements...');
|
|
await achievementSystem.loadPlayerAchievements(playerId);
|
|
const playerAchievements = achievementSystem.playerAchievements.get(playerId);
|
|
console.log(`✅ Player has ${playerAchievements ? playerAchievements.size : 0} achievements`);
|
|
|
|
// Test 3: Check first time achievement
|
|
console.log('\n3. Checking first time achievement...');
|
|
const firstTimeAchievement = Array.from(achievementSystem.achievements.values())
|
|
.find(a => a.category === 'consistency' && a.condition_type === 'first_time');
|
|
console.log('First time achievement:', firstTimeAchievement ? firstTimeAchievement.name : 'NOT FOUND');
|
|
|
|
// Test 4: Check September achievement
|
|
console.log('\n4. Checking September achievement...');
|
|
const septemberAchievement = Array.from(achievementSystem.achievements.values())
|
|
.find(a => a.category === 'monthly' && a.condition_type === 'september');
|
|
console.log('September achievement:', septemberAchievement ? septemberAchievement.name : 'NOT FOUND');
|
|
|
|
// Test 5: Check immediate achievements
|
|
console.log('\n5. Running immediate achievement check...');
|
|
const newAchievements = await achievementSystem.checkImmediateAchievements(playerId);
|
|
console.log(`✅ Found ${newAchievements.length} new achievements`);
|
|
newAchievements.forEach(achievement => {
|
|
console.log(` 🏆 ${achievement.name} (+${achievement.points} points)`);
|
|
});
|
|
|
|
} catch (error) {
|
|
console.error('❌ Error:', error);
|
|
}
|
|
}
|
|
|
|
testAchievements();
|