diff --git a/tests/getGuildCount.test.js b/tests/getGuildCount.test.js new file mode 100644 index 0000000..cc86368 --- /dev/null +++ b/tests/getGuildCount.test.js @@ -0,0 +1,17 @@ +const getGuildInfo = require('../util/getGuildInfo'); + + + +test("Testing getGuildCount", () => { + for(let i = 1; i < 200000; i = i+i*30 ){ + let client = {guilds: {cache: new Map()}} + client.guilds.cache.each = client.guilds.cache.forEach; + + for(let j = 0; j < i; j++){ + client.guilds.cache.set(`num: ${j}`, j); + } + + expect(getGuildInfo(client).guildCount).toBe(i); + + } +}) \ No newline at end of file diff --git a/util/getGuildInfo.js b/util/getGuildInfo.js index 5d1b74e..30b80fe 100644 --- a/util/getGuildInfo.js +++ b/util/getGuildInfo.js @@ -1,16 +1,16 @@ module.exports = function(client){ let guildCount = 0; let totalMembers = 0; - const uniqueMembers = new Map(); + let uniqueMembers = new Map(); client.guilds.cache.each(guild => { guildCount++ totalMembers += guild.memberCount; guild.members.cache.each(member => { - if(!uniqueMembers.has(member.id)){ + if(!uniqueMembers.get(member.id)){ uniqueMembers.set(member.id, true); } }) }); - const uniqueMemberCount = uniqueMembers.size; + let uniqueMemberCount = uniqueMembers.size; return {guildCount, totalMembers, uniqueMemberCount}; } \ No newline at end of file