From 96d5f31a27d4c262431a227b4d7146fa4bfcd599 Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Sat, 16 Dec 2023 15:41:52 +0530 Subject: [PATCH 01/11] fix: updating user count --- groups/script.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/groups/script.js b/groups/script.js index 14501085..d83c06dc 100644 --- a/groups/script.js +++ b/groups/script.js @@ -281,6 +281,15 @@ async function removeRoleHandler() { memberAddRoleBody.roleid, memberAddRoleBody.userid, ); + if (isDev) { + const groupNameElement = document.getElementById( + `name-${memberAddRoleBody.roleid}`, + ); + const currentCount = groupNameElement.getAttribute('data-member-count'); + if (currentCount !== null && currentCount !== undefined) { + groupNameElement.setAttribute('data-member-count', currentCount - 1); + } + } showToaster(res.message); UserGroupData = await getUserGroupRoles(); updateButtonState(); From 431fe92d21ae45c99b84002c1beca0272dbe9292 Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Wed, 20 Dec 2023 10:29:17 +0530 Subject: [PATCH 02/11] test case added --- __tests__/groups/group.test.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index fb43d37d..951e0207 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -210,6 +210,19 @@ describe('Discord Groups Page', () => { expect(buttonText).toBe('Remove me from this group'); }); + test('Should decrease user count by one when user is removed from group', async () => { + const userCount = await page.$$eval('.group-role', (elements) => { + elements[1].click().getAttribute('data-member-count'); + }); + + // Wait for the btn-add-role and click it + const deleteRoleBtn = await page.$('.btn-add-role'); + await deleteRoleBtn.click(); + + // Now, check the text content of the button + expect(userCount).toBe(userCount - 1); + }); + test('Should show role deleted', async () => { await page.$$eval('.group-role', (elements) => { elements[1].click(); From c185483fdf05f832062459b05375666323aa07dc Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Wed, 20 Dec 2023 10:46:12 +0530 Subject: [PATCH 03/11] test case correction --- __tests__/groups/group.test.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index 951e0207..16db2ced 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -212,7 +212,9 @@ describe('Discord Groups Page', () => { test('Should decrease user count by one when user is removed from group', async () => { const userCount = await page.$$eval('.group-role', (elements) => { - elements[1].click().getAttribute('data-member-count'); + return elements[1].click((event) => + event.target.getAttribute('data-member-count'), + ); }); // Wait for the btn-add-role and click it From 145cf0b483fc2f21254328245c82173f24de539f Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Wed, 20 Dec 2023 10:47:31 +0530 Subject: [PATCH 04/11] test case correction --- __tests__/groups/group.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index 16db2ced..920e9181 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -221,7 +221,7 @@ describe('Discord Groups Page', () => { const deleteRoleBtn = await page.$('.btn-add-role'); await deleteRoleBtn.click(); - // Now, check the text content of the button + // Now, check the user count expect(userCount).toBe(userCount - 1); }); From 0dcb38ea123e41ccbe6721cb61acccaf6de45c5e Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Wed, 20 Dec 2023 11:18:26 +0530 Subject: [PATCH 05/11] test correction --- __tests__/groups/group.test.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index 920e9181..ee127029 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -212,9 +212,7 @@ describe('Discord Groups Page', () => { test('Should decrease user count by one when user is removed from group', async () => { const userCount = await page.$$eval('.group-role', (elements) => { - return elements[1].click((event) => - event.target.getAttribute('data-member-count'), - ); + return elements[1].getAttribute('data-member-count'); }); // Wait for the btn-add-role and click it From 598086e113f253ba325f90dc2093e122db9dcfa5 Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Wed, 20 Dec 2023 11:45:34 +0530 Subject: [PATCH 06/11] test correction --- __tests__/groups/group.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index ee127029..c729fbec 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -220,7 +220,7 @@ describe('Discord Groups Page', () => { await deleteRoleBtn.click(); // Now, check the user count - expect(userCount).toBe(userCount - 1); + if (userCount != null) expect(userCount).toBe(userCount - 1); }); test('Should show role deleted', async () => { From bb820a09f0654ae8f2466e44dfbda830a7e36974 Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Wed, 20 Dec 2023 22:23:27 +0530 Subject: [PATCH 07/11] new test added --- __tests__/groups/group.test.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index c729fbec..d3e713a2 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -211,16 +211,30 @@ describe('Discord Groups Page', () => { }); test('Should decrease user count by one when user is removed from group', async () => { - const userCount = await page.$$eval('.group-role', (elements) => { + await page.$$eval('.group-role', (elements) => { + elements[1].click(); + }); + // Wait for the btn-add-role and click it + const addRoleBtn = await page.$('.btn-add-role'); + await addRoleBtn.click(); + + await page.waitForNetworkIdle(); + + const oldUserCount = await page.$$eval('.group-role', (elements) => { return elements[1].getAttribute('data-member-count'); }); - // Wait for the btn-add-role and click it const deleteRoleBtn = await page.$('.btn-add-role'); await deleteRoleBtn.click(); + await page.waitForNetworkIdle(); + + const newUserCount = await page.$$eval('.group-role', (elements) => { + return elements[1].getAttribute('data-member-count'); + }); + // Now, check the user count - if (userCount != null) expect(userCount).toBe(userCount - 1); + expect(newUserCount).toBe(oldUserCount - 1); }); test('Should show role deleted', async () => { From 33e13c92ff42ecf59693bd08ba3ab12e39397ce8 Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Wed, 20 Dec 2023 22:55:12 +0530 Subject: [PATCH 08/11] test correction --- __tests__/groups/group.test.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index d3e713a2..a9ddb3fa 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -220,18 +220,18 @@ describe('Discord Groups Page', () => { await page.waitForNetworkIdle(); - const oldUserCount = await page.$$eval('.group-role', (elements) => { - return elements[1].getAttribute('data-member-count'); + const element = await page.$$eval('.group-role', (elements) => { + return elements[1].querySelector('[id^="name-"]'); }); + const oldUserCount = element.getAttribute('data-member-count'); + const deleteRoleBtn = await page.$('.btn-add-role'); await deleteRoleBtn.click(); await page.waitForNetworkIdle(); - const newUserCount = await page.$$eval('.group-role', (elements) => { - return elements[1].getAttribute('data-member-count'); - }); + const newUserCount = element.getAttribute('data-member-count'); // Now, check the user count expect(newUserCount).toBe(oldUserCount - 1); From c4271aa5b53f16b034595f9d6314391334a051f6 Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Wed, 20 Dec 2023 23:05:38 +0530 Subject: [PATCH 09/11] testing --- __tests__/groups/group.test.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index a9ddb3fa..d80b94f1 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -220,18 +220,22 @@ describe('Discord Groups Page', () => { await page.waitForNetworkIdle(); - const element = await page.$$eval('.group-role', (elements) => { - return elements[1].querySelector('[id^="name-"]'); + const oldUserCount = await page.$$eval('.group-role', (elements) => { + return elements[1] + .querySelector('[id^="name-"]') + .getAttribute('data-member-count'); }); - const oldUserCount = element.getAttribute('data-member-count'); - const deleteRoleBtn = await page.$('.btn-add-role'); await deleteRoleBtn.click(); await page.waitForNetworkIdle(); - const newUserCount = element.getAttribute('data-member-count'); + const newUserCount = await page.$$eval('.group-role', (elements) => { + return elements[1] + .querySelector('[id^="name-"]') + .getAttribute('data-member-count'); + }); // Now, check the user count expect(newUserCount).toBe(oldUserCount - 1); From 0def58ac91ff58cc955d1bd478254acc3c7e9bd1 Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Thu, 21 Dec 2023 11:21:39 +0530 Subject: [PATCH 10/11] test correction --- __tests__/groups/group.test.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index d80b94f1..b64743ae 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -1,6 +1,8 @@ const puppeteer = require('puppeteer'); const { allUsersData } = require('../../mock-data/users'); const { discordGroups, GroupRoleData } = require('../../mock-data/groups'); +const params = new URLSearchParams(window.location.search); +const isDev = params.get(DEV_FEATURE_FLAG) === 'true'; const BASE_URL = 'https://api.realdevsquad.com'; @@ -214,11 +216,6 @@ describe('Discord Groups Page', () => { await page.$$eval('.group-role', (elements) => { elements[1].click(); }); - // Wait for the btn-add-role and click it - const addRoleBtn = await page.$('.btn-add-role'); - await addRoleBtn.click(); - - await page.waitForNetworkIdle(); const oldUserCount = await page.$$eval('.group-role', (elements) => { return elements[1] @@ -226,6 +223,7 @@ describe('Discord Groups Page', () => { .getAttribute('data-member-count'); }); + // Wait for the btn-add-role and click it const deleteRoleBtn = await page.$('.btn-add-role'); await deleteRoleBtn.click(); @@ -238,7 +236,9 @@ describe('Discord Groups Page', () => { }); // Now, check the user count - expect(newUserCount).toBe(oldUserCount - 1); + isDev + ? expect(Number(newUserCount)).toBe(Number(oldUserCount - 1)) + : expect(Number(newUserCount)).toBe(Number(oldUserCount)); }); test('Should show role deleted', async () => { From 5db27b7cb6c437574bbbd9ecd41696a8e5df7ce8 Mon Sep 17 00:00:00 2001 From: PeeyushPrashant Date: Mon, 8 Jan 2024 20:45:58 +0530 Subject: [PATCH 11/11] fix: test case --- __tests__/groups/group.test.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index b64743ae..d68b6646 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -1,8 +1,6 @@ const puppeteer = require('puppeteer'); const { allUsersData } = require('../../mock-data/users'); const { discordGroups, GroupRoleData } = require('../../mock-data/groups'); -const params = new URLSearchParams(window.location.search); -const isDev = params.get(DEV_FEATURE_FLAG) === 'true'; const BASE_URL = 'https://api.realdevsquad.com'; @@ -213,6 +211,7 @@ describe('Discord Groups Page', () => { }); test('Should decrease user count by one when user is removed from group', async () => { + await page.goto('http://localhost:8000/groups/?dev=true'); await page.$$eval('.group-role', (elements) => { elements[1].click(); }); @@ -236,9 +235,7 @@ describe('Discord Groups Page', () => { }); // Now, check the user count - isDev - ? expect(Number(newUserCount)).toBe(Number(oldUserCount - 1)) - : expect(Number(newUserCount)).toBe(Number(oldUserCount)); + expect(Number(newUserCount)).toBe(Number(oldUserCount - 1)); }); test('Should show role deleted', async () => {