#!/usr/bin/env node
/**
* š Medal Display Test for MCP
* Tests that championship medals render correctly in Claude Desktop
*/
const { getScoreMedal, formatScore, format3Lines } = require('./dist/src/utils/visual-style');
console.log('\nš CHAMPIONSHIP MEDAL DISPLAY TEST\n');
console.log('Testing all medal tiers for Claude Desktop rendering...\n');
const testScores = [
{ score: 100, expected: 'š Trophy - Championship' },
{ score: 99, expected: 'š„ Gold' },
{ score: 96, expected: 'š„ Target 2 - Silver' },
{ score: 88, expected: 'š„ Target 1 - Bronze' },
{ score: 77, expected: 'š¢ GO! - Ready for Target 1' },
{ score: 62, expected: 'š” Caution - Getting ready' },
{ score: 48, expected: 'š“ Stop - Needs work' },
];
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
let allPassed = true;
testScores.forEach(({ score, expected }) => {
const { medal, status } = getScoreMedal(score);
const result = `${medal} ${status}`;
const passed = result === expected;
if (!passed) allPassed = false;
console.log(`Score: ${score}%`);
console.log(`Expected: ${expected}`);
console.log(`Got: ${result}`);
console.log(passed ? 'ā
PASS' : 'ā FAIL');
console.log();
});
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
if (allPassed) {
console.log('š ALL TESTS PASSED - Medal system ready for Claude Desktop!\n');
} else {
console.log('ā SOME TESTS FAILED - Check medal logic\n');
process.exit(1);
}
// Visual display test
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
console.log('š VISUAL DISPLAY TEST (how it appears in Claude Desktop)');
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
testScores.forEach(({ score }) => {
const display = formatScore(score);
console.log(format3Lines(display));
console.log();
});
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
console.log('ā
Medal display test complete!');
console.log('šÆ Next: Test in actual Claude Desktop to verify rendering');
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');