Skip to content

Commit

Permalink
Merge pull request #895 from Real-Dev-Squad/develop
Browse files Browse the repository at this point in the history
Dev to main sync
  • Loading branch information
iamitprakash authored Oct 21, 2024
2 parents 1a2b13a + 0399dcd commit 3f30b39
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 32 deletions.
8 changes: 4 additions & 4 deletions __tests__/groups/group.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ describe('Discord Groups Page', () => {
},
body: JSON.stringify(discordGroups),
});
} else if (url === `${BASE_URL}/discord-actions/groups?dev=true`) {
} else if (url === `${BASE_URL}/discord-actions/groups`) {
interceptedRequest.respond({
status: 200,
contentType: 'application/json',
Expand Down Expand Up @@ -244,9 +244,9 @@ describe('Discord Groups Page', () => {
expect(groupCreationModalClosed).toBeFalsy();
});

test('Should display only specified groups when dev=true and name=<group-name> with different case', async () => {
test('Should display only specified groups when name=<group-name> with different case', async () => {
const groupNames = 'fIrSt,DSA+COdInG';
await page.goto(`${PAGE_URL}/groups?dev=true&name=${groupNames}`);
await page.goto(`${PAGE_URL}/groups?name=${groupNames}`);
await page.waitForNetworkIdle();

const displayedGroups = await page.evaluate(() => {
Expand All @@ -259,7 +259,7 @@ describe('Discord Groups Page', () => {
});

test('Should display no group found div when no group is present', async () => {
await page.goto(`${PAGE_URL}/groups?dev=true&name=no-group-present`);
await page.goto(`${PAGE_URL}/groups?name=no-group-present`);
await page.waitForNetworkIdle();

const noGroupDiv = await page.$('.no-group-container');
Expand Down
41 changes: 13 additions & 28 deletions groups/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@ import {
} from './utils.js';

const QUERY_PARAM_KEY = {
DEV_FEATURE_FLAG: 'dev',
GROUP_SEARCH: 'name',
};
const isDev = getParamValueFromURL(QUERY_PARAM_KEY.DEV_FEATURE_FLAG) === 'true';

const handler = {
set: (obj, prop, value) => {
Expand Down Expand Up @@ -61,26 +59,15 @@ const handler = {
renderAllGroups({
cardOnClick: groupCardOnAction,
});
if (isDev && (!value || value.length == 0)) renderNoGroupFound();
if (!value || value.length == 0) renderNoGroupFound();
break;
case 'search':
if (isDev) {
setParamValueInURL(QUERY_PARAM_KEY.GROUP_SEARCH, value);
dataStore.filteredGroupsIds = getDiscordGroupIdsFromSearch(
Object.values(dataStore.groups),
value,
);
} else if (value === '') {
if (dataStore.groups == null) break;
dataStore.filteredGroupsIds = Object.values(dataStore.groups).map(
(group) => group.id,
);
} else {
const search = value.toLowerCase();
dataStore.filteredGroupsIds = Object.values(dataStore.groups)
.filter((group) => group.title.toLowerCase().includes(search))
.map((group) => group.id);
}
setParamValueInURL(QUERY_PARAM_KEY.GROUP_SEARCH, value);
if (dataStore.groups == null) break;
dataStore.filteredGroupsIds = getDiscordGroupIdsFromSearch(
Object.values(dataStore.groups),
value,
);
obj[prop] = value;
break;
case 'isGroupCreationModalOpen':
Expand Down Expand Up @@ -124,7 +111,7 @@ const dataStore = new Proxy(
userSelf: null,
groups: null,
filteredGroupsIds: null,
search: isDev ? getParamValueFromURL(QUERY_PARAM_KEY.GROUP_SEARCH) : '',
search: getParamValueFromURL(QUERY_PARAM_KEY.GROUP_SEARCH),
discordId: null,
isCreateGroupModalOpen: false,
},
Expand Down Expand Up @@ -188,12 +175,10 @@ const afterAuthentication = async () => {
};
return acc;
}, {});
if (isDev) {
dataStore.filteredGroupsIds = getDiscordGroupIdsFromSearch(
Object.values(dataStore.groups),
dataStore.search,
);
}
dataStore.filteredGroupsIds = getDiscordGroupIdsFromSearch(
Object.values(dataStore.groups),
dataStore.search,
);
dataStore.discordId = roleData.userId;
},
);
Expand All @@ -211,7 +196,7 @@ const bindGroupCreationButton = () => {

const bindSearchInput = () => {
const searchInput = document.querySelector('.search__input');
if (isDev) searchInput.value = dataStore.search;
searchInput.value = dataStore.search;
searchInput.addEventListener('input', (e) => {
dataStore.search = e.target.value;
});
Expand Down

0 comments on commit 3f30b39

Please sign in to comment.