74 lines
2.2 KiB
JavaScript
74 lines
2.2 KiB
JavaScript
const fetch = require('node-fetch');
|
|
|
|
async function testSchedule() {
|
|
try {
|
|
console.log('Testing current round robin schedule...\n');
|
|
|
|
// Get all matches
|
|
const matchesRes = await fetch('http://localhost:4000/api/matches');
|
|
const matches = await matchesRes.json();
|
|
|
|
if (!Array.isArray(matches)) {
|
|
console.log('Failed to fetch matches:', matches);
|
|
return;
|
|
}
|
|
|
|
// Filter round robin matches
|
|
const roundRobinMatches = matches.filter(match => match.stage.type === 'ROUND_ROBIN');
|
|
|
|
if (roundRobinMatches.length === 0) {
|
|
console.log('No round robin matches found.');
|
|
return;
|
|
}
|
|
|
|
// Group matches by pool
|
|
const pools = {};
|
|
roundRobinMatches.forEach(match => {
|
|
if (!pools[match.pool]) {
|
|
pools[match.pool] = [];
|
|
}
|
|
pools[match.pool].push(match);
|
|
});
|
|
|
|
// Check each pool for consecutive games
|
|
Object.keys(pools).forEach(poolNum => {
|
|
console.log(`\n=== Pool ${poolNum} ===`);
|
|
const poolMatches = pools[poolNum];
|
|
|
|
let consecutiveGames = 0;
|
|
|
|
poolMatches.forEach((match, index) => {
|
|
const team1Id = match.team1.id;
|
|
const team2Id = match.team2.id;
|
|
|
|
console.log(`Match ${index + 1}: ${match.team1.name} vs ${match.team2.name}`);
|
|
|
|
// Check if either team played in the previous match
|
|
if (index > 0) {
|
|
const prevMatch = poolMatches[index - 1];
|
|
const prevTeams = [prevMatch.team1.id, prevMatch.team2.id];
|
|
|
|
if (prevTeams.includes(team1Id)) {
|
|
console.log(` ⚠️ ${match.team1.name} played in previous match!`);
|
|
consecutiveGames++;
|
|
}
|
|
if (prevTeams.includes(team2Id)) {
|
|
console.log(` ⚠️ ${match.team2.name} played in previous match!`);
|
|
consecutiveGames++;
|
|
}
|
|
}
|
|
});
|
|
|
|
console.log(`\nPool ${poolNum} consecutive games: ${consecutiveGames}`);
|
|
});
|
|
|
|
console.log('\n=== Summary ===');
|
|
console.log(`Total round robin matches: ${roundRobinMatches.length}`);
|
|
console.log(`Total pools: ${Object.keys(pools).length}`);
|
|
|
|
} catch (error) {
|
|
console.error('Error testing schedule:', error);
|
|
}
|
|
}
|
|
|
|
testSchedule();
|