Path: blob/master/test/externalTests/experience.js
2155 views
const assert = require('assert')1const { once } = require('../../lib/promise_utils')23module.exports = () => async (bot) => {4await bot.test.becomeSurvival()5await bot.test.wait(1000)67// Initial state8const initialState = {9level: bot.experience.level,10points: bot.experience.points,11progress: bot.experience.progress12}13assert(initialState.level >= 0, 'Initial experience level should be non-negative')14assert(initialState.points >= 0, 'Initial experience points should be non-negative')15assert(initialState.progress >= 0 && initialState.progress <= 1, 'Initial experience progress should be between 0 and 1')1617// Test experience points18const xpCommand = bot.registry.isOlderThan('1.13')19? `/xp 10 ${bot.username}`20: `/xp add ${bot.username} 10 points`2122await bot.chat(xpCommand)23await once(bot, 'experience')2425// Verify after points26assert(bot.experience.points >= 10, 'Experience points should be at least 10 after adding points')27assert(bot.experience.level >= initialState.level, 'Experience level should not decrease after adding points')28assert(bot.experience.progress >= 0 && bot.experience.progress <= 1, 'Experience progress should be between 0 and 1 after adding points')2930// Test experience levels31const levelCommand = bot.registry.isOlderThan('1.13')32? `/xp 100L ${bot.username}`33: `/xp add ${bot.username} 100 levels`3435await bot.chat(levelCommand)36await once(bot, 'experience')3738// Verify after levels39assert(bot.experience.level >= 100, 'Experience level should be at least 100 after adding levels')40assert(bot.experience.points > 0, 'Experience points should be positive after adding levels')41assert(bot.experience.progress >= 0 && bot.experience.progress <= 1, 'Experience progress should be between 0 and 1 after adding levels')42}434445