From 8970ddbaee1fbd7373af302cd9458cd71e348509 Mon Sep 17 00:00:00 2001 From: AnujChhikara Date: Wed, 13 Nov 2024 15:19:10 +0530 Subject: [PATCH 1/4] fix: ensure tests use staging API to prevent production impact --- __tests__/applications/applications.test.js | 40 +++---- .../extension-requests.test.js | 107 +++++++----------- __tests__/groups/group.test.js | 37 +++--- __tests__/home/home.test.js | 26 ++--- __tests__/navbar/navbar.test.js | 27 ++--- __tests__/requests/requests.test.js | 2 +- __tests__/task-requests/task-request.test.js | 20 ++-- .../task-requests/task-requestDetails.test.js | 30 ++--- __tests__/tasks/profile-picture.test.js | 3 +- __tests__/tasks/task-dependency.test.js | 3 +- __tests__/user-details/Intro-button.test.js | 4 +- .../user-details/task-duedate-hover.test.js | 67 ++++------- .../users/user-management-home-screen.test.js | 10 +- applications/utils.js | 6 +- helpers/loadENV.js | 5 +- task-requests/details/script.js | 5 +- users/discord/utils/util.js | 5 +- 17 files changed, 170 insertions(+), 227 deletions(-) diff --git a/__tests__/applications/applications.test.js b/__tests__/applications/applications.test.js index e0081e76..0d86a4c7 100644 --- a/__tests__/applications/applications.test.js +++ b/__tests__/applications/applications.test.js @@ -22,19 +22,19 @@ describe('Applications page', () => { ignoreHTTPSErrors: true, args: ['--incognito', '--disable-web-security'], }); - }); - beforeEach(async () => { + page = await browser.newPage(); await page.setRequestInterception(true); - page.on('request', (request) => { + page.on('request', (interceptedRequest) => { + const url = interceptedRequest.url(); + if ( - request.url() === `${API_BASE_URL}/applications?size=6` || - request.url() === - `${API_BASE_URL}/applications?next=YwTi6zFNI3GlDsZVjD8C&size=6` + url === `${API_BASE_URL}/applications?size=6` || + url === `${API_BASE_URL}/applications?next=YwTi6zFNI3GlDsZVjD8C&size=6` ) { - request.respond({ + interceptedRequest.respond({ status: 200, contentType: 'application/json', body: JSON.stringify({ @@ -48,9 +48,9 @@ describe('Applications page', () => { }, }); } else if ( - request.url() === `${API_BASE_URL}/applications?size=6&status=accepted` + url === `${API_BASE_URL}/applications?size=6&status=accepted` ) { - request.respond({ + interceptedRequest.respond({ status: 200, contentType: 'application/json', body: JSON.stringify({ applications: acceptedApplications }), @@ -60,8 +60,8 @@ describe('Applications page', () => { 'Access-Control-Allow-Headers': 'Content-Type, Authorization', }, }); - } else if (request.url() === `${API_BASE_URL}/users/self`) { - request.respond({ + } else if (url === `${API_BASE_URL}/users/self`) { + interceptedRequest.respond({ status: 200, contentType: 'application/json', headers: { @@ -71,10 +71,8 @@ describe('Applications page', () => { }, body: JSON.stringify(superUserForAudiLogs), }); - } else if ( - request.url() === `${API_BASE_URL}/applications/lavEduxsb2C6Bl4s289P` - ) { - request.respond({ + } else if (url === `${API_BASE_URL}/applications/lavEduxsb2C6Bl4s289P`) { + interceptedRequest.respond({ status: 200, contentType: 'application/json', body: JSON.stringify({ @@ -87,10 +85,9 @@ describe('Applications page', () => { }, }); } else if ( - request.url() === - `${API_BASE_URL}/applications?size=6&status=accepted&dev=true` + url === `${API_BASE_URL}/applications?size=6&status=accepted&dev=true` ) { - request.respond({ + interceptedRequest.respond({ status: 200, contentType: 'application/json', body: JSON.stringify({ @@ -104,10 +101,9 @@ describe('Applications page', () => { }, }); } else if ( - request.url() === - `${API_BASE_URL}/applications?size=6&status=pending&dev=true` + url === `${API_BASE_URL}/applications?size=6&status=pending&dev=true` ) { - request.respond({ + interceptedRequest.respond({ status: 200, contentType: 'application/json', body: JSON.stringify({ @@ -121,7 +117,7 @@ describe('Applications page', () => { }, }); } else { - request.continue(); + interceptedRequest.continue(); } }); await page.goto(`${SITE_URL}/applications`); diff --git a/__tests__/extension-requests/extension-requests.test.js b/__tests__/extension-requests/extension-requests.test.js index b8d50c5e..25783c38 100644 --- a/__tests__/extension-requests/extension-requests.test.js +++ b/__tests__/extension-requests/extension-requests.test.js @@ -21,7 +21,10 @@ const { } = require('../../mock-data/users'); const { usersStatus } = require('../../mock-data/users-status'); const { taskDone, auditLogTasks } = require('../../mock-data/tasks/index'); -const baseUrl = 'http://localhost:8000/extension-requests'; + +const SITE_URL = 'http://localhost:8000/extension-requests'; +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; + describe('Tests the Extension Requests Screen', () => { let browser; let page; @@ -46,9 +49,8 @@ describe('Tests the Extension Requests Screen', () => { const url = interceptedRequest.url(); if ( url === - 'https://api.realdevsquad.com/extension-requests?order=desc&size=5&q=status%3APENDING' || - url === - 'https://api.realdevsquad.com/extension-requests?dev=true&order=desc' + `${API_BASE_URL}/extension-requests?order=desc&size=5&q=status%3APENDING` || + url === `${API_BASE_URL}/extension-requests?dev=true&order=desc` ) { interceptedRequest.respond({ status: 200, @@ -60,9 +62,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(extensionRequestsListPending), }); - } else if ( - url === 'https://api.realdevsquad.com/users/search?role=in_discord' - ) { + } else if (url === `${API_BASE_URL}/users/search?role=in_discord`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -73,7 +73,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(allUsersData), }); - } else if (url === 'https://api.realdevsquad.com/users/status') { + } else if (url === `${API_BASE_URL}/users/status`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -86,7 +86,7 @@ describe('Tests the Extension Requests Screen', () => { }); } else if ( url === - 'https://api.realdevsquad.com/extension-requests?order=asc&size=5&q=status%3APENDING' + `${API_BASE_URL}/extension-requests?order=asc&size=5&q=status%3APENDING` ) { interceptedRequest.respond({ status: 200, @@ -98,9 +98,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(extensionRequestsListPendingAscending), }); - } else if ( - url === 'https://api.realdevsquad.com/users?search=sunny&size=1' - ) { + } else if (url === `${API_BASE_URL}/users?search=sunny&size=1`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -111,9 +109,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(userSunny), }); - } else if ( - url === 'https://api.realdevsquad.com/users?search=randhir&size=1' - ) { + } else if (url === `${API_BASE_URL}/users?search=randhir&size=1`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -124,10 +120,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(userRandhir), }); - } else if ( - url === - 'https://api.realdevsquad.com/tasks/PYj79ki2agB0q5JN3kUf/details' - ) { + } else if (url === `${API_BASE_URL}/tasks/PYj79ki2agB0q5JN3kUf/details`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -138,10 +131,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(taskDone), }); - } else if ( - url === - 'https://api.realdevsquad.com/tasks/GCYGDiU0lw4fwc3qljSY/details' - ) { + } else if (url === `${API_BASE_URL}/tasks/GCYGDiU0lw4fwc3qljSY/details`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -153,8 +143,7 @@ describe('Tests the Extension Requests Screen', () => { body: JSON.stringify(taskDone), }); } else if ( - url === - 'https://api.realdevsquad.com/extension-requests/QISvF7kAmnD9vXHwwIsG/status' + url === `${API_BASE_URL}/extension-requests/QISvF7kAmnD9vXHwwIsG/status` ) { interceptedRequest.respond({ status: 200, @@ -168,7 +157,7 @@ describe('Tests the Extension Requests Screen', () => { }); } else if ( url === - 'https://api.realdevsquad.com/extension-requests/lGQ3AjUlgNB6Jd8jXaEC/status' + `${API_BASE_URL}m/extension-requests/lGQ3AjUlgNB6Jd8jXaEC/status` ) { interceptedRequest.respond({ status: 400, @@ -181,8 +170,7 @@ describe('Tests the Extension Requests Screen', () => { body: JSON.stringify(extensionRequestResponse), }); } else if ( - url === - 'https://api.realdevsquad.com/extension-requests/lGQ3AjUlgNB6Jd8jXaEC' + url === `${API_BASE_URL}/extension-requests/lGQ3AjUlgNB6Jd8jXaEC` ) { interceptedRequest.respond({ status: 200, @@ -196,7 +184,7 @@ describe('Tests the Extension Requests Screen', () => { }); } else if ( url === - 'https://api.realdevsquad.com/extension-requests?order=desc&size=5&q=status%3APENDING%2Cassignee%3AiODXB6gfsjaZB9p0XlBw' + `${API_BASE_URL}/extension-requests?order=desc&size=5&q=status%3APENDING%2Cassignee%3AiODXB6gfsjaZB9p0XlBw` ) { interceptedRequest.respond({ status: 200, @@ -210,7 +198,7 @@ describe('Tests the Extension Requests Screen', () => { }); } else if ( url === - 'https://api.realdevsquad.com/extension-requests?order=desc&size=5&q=status%3APENDING%2Cassignee%3AiODXB6gfsjaZB9p0XlBw%2B7yzVDl8s1ORNCtH9Ps7K' + `${API_BASE_URL}/extension-requests?order=desc&size=5&q=status%3APENDING%2Cassignee%3AiODXB6gfsjaZB9p0XlBw%2B7yzVDl8s1ORNCtH9Ps7K` ) { interceptedRequest.respond({ status: 200, @@ -222,10 +210,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(extensionRequestsList), }); - } else if ( - url === - 'https://api.realdevsquad.com/tasks/mZB0akqPUa1GQQdrgsx7/details' - ) { + } else if (url === `${API_BASE_URL}/tasks/mZB0akqPUa1GQQdrgsx7/details`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -236,10 +221,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(auditLogTasks['mZB0akqPUa1GQQdrgsx7']), }); - } else if ( - url === - 'https://api.realdevsquad.com/tasks/7gZ9E0XTQCEFvUynVqAw/details' - ) { + } else if (url === `${API_BASE_URL}/tasks/7gZ9E0XTQCEFvUynVqAw/details`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -250,9 +232,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(auditLogTasks['7gZ9E0XTQCEFvUynVqAw']), }); - } else if ( - url === 'https://api.realdevsquad.com/users?search=testunity&size=1' - ) { + } else if (url === `${API_BASE_URL}/users?search=testunity&size=1`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -263,9 +243,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(searchedUserForAuditLogs['testunity']), }); - } else if ( - url === 'https://api.realdevsquad.com/users?search=joygupta&size=1' - ) { + } else if (url === `${API_BASE_URL}/users?search=joygupta&size=1`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -278,9 +256,9 @@ describe('Tests the Extension Requests Screen', () => { }); } else if ( url === - 'https://api.realdevsquad.com/extension-requests?order=desc&size=5&q=status%3AAPPROVED%2BPENDING%2BDENIED' || + `${API_BASE_URL}/extension-requests?order=desc&size=5&q=status%3AAPPROVED%2BPENDING%2BDENIED` || url === - 'https://api.realdevsquad.com/extension-requests?dev=true&order=desc&q=status%3AAPPROVED%2BDENIED' + `${API_BASE_URL}/extension-requests?dev=true&order=desc&q=status%3AAPPROVED%2BDENIED` ) { interceptedRequest.respond({ status: 200, @@ -292,7 +270,7 @@ describe('Tests the Extension Requests Screen', () => { }, body: JSON.stringify(extensionRequestListForAuditLogs), }); - } else if (url === 'https://api.realdevsquad.com/users/self') { + } else if (url === `${API_BASE_URL}/users/self`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -305,7 +283,7 @@ describe('Tests the Extension Requests Screen', () => { }); } else if ( url === - 'https://api.realdevsquad.com/logs/extensionRequests/?meta.extensionRequestId=fuQs71a0Y7BX3n4rc5Ii' + `${API_BASE_URL}/logs/extensionRequests/?meta.extensionRequestId=fuQs71a0Y7BX3n4rc5Ii` ) { interceptedRequest.respond({ status: 200, @@ -318,8 +296,7 @@ describe('Tests the Extension Requests Screen', () => { body: JSON.stringify(extensionRequestLogs['fuQs71a0Y7BX3n4rc5Ii']), }); } else if ( - url === - 'https://api.realdevsquad.com/extension-requests/fuQs71a0Y7BX3n4rc5Ii' + url === `${API_BASE_URL}/extension-requests/fuQs71a0Y7BX3n4rc5Ii` ) { interceptedRequest.respond({ status: 200, @@ -332,7 +309,7 @@ describe('Tests the Extension Requests Screen', () => { }); } else if ( url === - 'https://api.realdevsquad.com/logs/extensionRequests/?meta.extensionRequestId=lw7dRB0I3a6ivsFR5Izs' + `${API_BASE_URL}/logs/extensionRequests/?meta.extensionRequestId=lw7dRB0I3a6ivsFR5Izs` ) { interceptedRequest.respond({ status: 200, @@ -346,7 +323,7 @@ describe('Tests the Extension Requests Screen', () => { }); } else if ( url === - 'https://api.realdevsquad.com/extension-requests?order=desc&size=5&q=status%3AAPPROVED%2Cassignee%3AiODXB6gfsjaZB9p0XlBw%2B7yzVDl8s1ORNCtH9Ps7K' + `${API_BASE_URL}/extension-requests?order=desc&size=5&q=status%3AAPPROVED%2Cassignee%3AiODXB6gfsjaZB9p0XlBw%2B7yzVDl8s1ORNCtH9Ps7K` ) { interceptedRequest.respond({ status: 200, @@ -360,7 +337,7 @@ describe('Tests the Extension Requests Screen', () => { }); } else if ( url === - 'https://api.realdevsquad.com/extension-requests?order=desc&size=1&q=status%3APENDING' + `${API_BASE_URL}/extension-requests?order=desc&size=1&q=status%3APENDING` ) { interceptedRequest.respond({ status: 200, @@ -383,7 +360,7 @@ describe('Tests the Extension Requests Screen', () => { } }); - await page.goto(baseUrl); + await page.goto(SITE_URL); await page.waitForNetworkIdle(); @@ -641,7 +618,7 @@ describe('Tests the Extension Requests Screen', () => { }); it('checks whether the shimmer effect is visible under dev flag only for the assignee image element', async () => { - await page.goto(`${baseUrl}/?dev=true`); + await page.goto(`${SITE_URL}/?dev=true`); const assignImageSelector = await page.$$( '[data-testid="assignee-image skeleton"]', ); @@ -655,7 +632,7 @@ describe('Tests the Extension Requests Screen', () => { }); it('checks whether the shimmer effect is visible under dev flag only for the assignee name element', async () => { - await page.goto(`${baseUrl}/?dev=true`); + await page.goto(`${SITE_URL}/?dev=true`); const assignNameSelector = await page.$$( '[data-testid="assignee-name skeleton-text"]', ); @@ -668,7 +645,7 @@ describe('Tests the Extension Requests Screen', () => { }); it('checks whether the shimmer effect is working for deadlineValue element under feature flag', async () => { - await page.goto(`${baseUrl}/?dev=true`); + await page.goto(`${SITE_URL}/?dev=true`); const deadlineValueSelector = await page.$$( '[data-testid="skeleton-span"]', ); @@ -681,7 +658,7 @@ describe('Tests the Extension Requests Screen', () => { }); it('checks whether the shimmer effect is working for requestedValue element under feature flag', async () => { - await page.goto(`${baseUrl}/?dev=true`); + await page.goto(`${SITE_URL}/?dev=true`); const requestedValueSelector = await page.$$( '[data-testid="skeleton-text"]', ); @@ -693,7 +670,7 @@ describe('Tests the Extension Requests Screen', () => { expect(hasSkeletonClassAfter).toBe(false); }); it('checks whether the shimmer effect is working for newDeadlineValue element under feature flag', async () => { - await page.goto(`${baseUrl}/?dev=true`); + await page.goto(`${SITE_URL}/?dev=true`); const newDeadlineValueSelector = await page.$$( '[data-testid="skeleton-span"]', ); @@ -706,7 +683,7 @@ describe('Tests the Extension Requests Screen', () => { }); it('checks whether the shimmer effect is working for extensionRequestNumberValue element under feature flag', async () => { - await page.goto(`${baseUrl}/?dev=true`); + await page.goto(`${SITE_URL}/?dev=true`); const extensionRequestNumberValueSelector = await page.$$( '[data-testid="skeleton-span"]', ); @@ -720,7 +697,7 @@ describe('Tests the Extension Requests Screen', () => { }); it('checks whether the shimmer effect is visible under dev flag only for the statusSiteLink element', async () => { - await page.goto(`${baseUrl}/?dev=true`); + await page.goto(`${SITE_URL}/?dev=true`); const statusSiteLinkSelector = await page.$$( '[data-testid="external-link skeleton-link"]', ); @@ -733,7 +710,7 @@ describe('Tests the Extension Requests Screen', () => { }); it('checks whether the shimmer effect is visible under dev flag only for the taskStatusValue element', async () => { - await page.goto(`${baseUrl}/?dev=true`); + await page.goto(`${SITE_URL}/?dev=true`); const taskStatusValueElement = await page.$$( '[data-testid="skeleton-span"]', ); @@ -1015,12 +992,12 @@ describe('Tests the Extension Requests Screen', () => { await page.waitForNetworkIdle(); const url = page.url(); expect(url).toBe( - `${baseUrl}?order=desc&size=5&q=status%3AAPPROVED%2Cassignee%3Asunny%2Brandhir`, + `${SITE_URL}?order=desc&size=5&q=status%3AAPPROVED%2Cassignee%3Asunny%2Brandhir`, ); }); it('Should have UI elements in sync with url', async () => { await page.goto( - `${baseUrl}/?order=desc&size=5&q=status%3AAPPROVED%2Cassignee%3Asunny%2Brandhir`, + `${SITE_URL}/?order=desc&size=5&q=status%3AAPPROVED%2Cassignee%3Asunny%2Brandhir`, ); const filterButton = await page.$('#filter-button'); await filterButton.click(); @@ -1043,7 +1020,7 @@ describe('Tests the Extension Requests Screen', () => { }); it('Should show empty message if all extension requests have been addressed', async () => { - await page.goto(`${baseUrl}/?order=desc&size=1&q=status%3APENDING`); + await page.goto(`${SITE_URL}/?order=desc&size=1&q=status%3APENDING`); await page.waitForNetworkIdle(); extensionRequestsElement = await page.$('.extension-requests'); diff --git a/__tests__/groups/group.test.js b/__tests__/groups/group.test.js index 828758d5..ffba6196 100644 --- a/__tests__/groups/group.test.js +++ b/__tests__/groups/group.test.js @@ -2,8 +2,8 @@ const puppeteer = require('puppeteer'); const { allUsersData, superUserData } = require('../../mock-data/users'); const { discordGroups, GroupRoleData } = require('../../mock-data/groups'); -const BASE_URL = 'https://api.realdevsquad.com'; -const PAGE_URL = 'http://localhost:8000'; +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; +const SITE_URL = 'http://localhost:8000'; function setSuperUserPermission() { allUsersData.users[0] = superUserData; @@ -37,8 +37,9 @@ describe('Discord Groups Page', () => { page.on('request', (interceptedRequest) => { const url = interceptedRequest.url(); + if (interceptedRequest.method() === 'GET') { - if (url === `${BASE_URL}/users/`) { + if (url === `${API_BASE_URL}/users/`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -49,7 +50,7 @@ describe('Discord Groups Page', () => { }, body: JSON.stringify(allUsersData), }); - } else if (url === `${BASE_URL}/users/self`) { + } else if (url === `${API_BASE_URL}/users/self`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -60,7 +61,7 @@ describe('Discord Groups Page', () => { }, body: JSON.stringify(allUsersData.users[0]), }); - } else if (url === `${BASE_URL}/discord-actions/groups`) { + } else if (url === `${API_BASE_URL}/discord-actions/groups`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -71,7 +72,7 @@ describe('Discord Groups Page', () => { }, body: JSON.stringify(discordGroups), }); - } else if (url === `${BASE_URL}/discord-actions/groups`) { + } else if (url === `${API_BASE_URL}/discord-actions/groups`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -82,7 +83,7 @@ describe('Discord Groups Page', () => { }, body: JSON.stringify(discordGroups), }); - } else if (url === `${BASE_URL}/discord-actions/roles`) { + } else if (url === `${API_BASE_URL}/discord-actions/roles`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -97,7 +98,7 @@ describe('Discord Groups Page', () => { interceptedRequest.continue(); } } else if (interceptedRequest.method() === 'POST') { - if (url === `${BASE_URL}/discord-actions/groups`) { + if (url === `${API_BASE_URL}/discord-actions/groups`) { const postData = interceptedRequest.postData(); const groupData = JSON.parse(postData); // discordGroups.push(groupData); @@ -111,7 +112,7 @@ describe('Discord Groups Page', () => { }, body: JSON.stringify({ message: 'Group created successfully' }), }); - } else if (url === `${BASE_URL}/discord-actions/roles`) { + } else if (url === `${API_BASE_URL}/discord-actions/roles`) { interceptedRequest.respond({ status: 201, contentType: 'application/json', @@ -126,7 +127,7 @@ describe('Discord Groups Page', () => { interceptedRequest.continue(); } } else if (interceptedRequest.method() === 'DELETE') { - if (url === `${BASE_URL}/discord-actions/roles`) { + if (url === `${API_BASE_URL}/discord-actions/roles`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -144,7 +145,7 @@ describe('Discord Groups Page', () => { interceptedRequest.continue(); } }); - await page.goto(`${PAGE_URL}/groups`); + await page.goto(`${SITE_URL}/groups`); await page.waitForNetworkIdle(); }); @@ -257,7 +258,7 @@ describe('Discord Groups Page', () => { test('Should display only specified groups when name= with different case', async () => { const groupNames = 'fIrSt,DSA+COdInG'; - await page.goto(`${PAGE_URL}/groups?name=${groupNames}`); + await page.goto(`${SITE_URL}/groups?name=${groupNames}`); await page.waitForNetworkIdle(); const displayedGroups = await page.evaluate(() => { @@ -270,7 +271,7 @@ describe('Discord Groups Page', () => { }); test('Should display no group found div when no group is present', async () => { - await page.goto(`${PAGE_URL}/groups?name=no-group-present`); + await page.goto(`${SITE_URL}/groups?name=no-group-present`); await page.waitForNetworkIdle(); const noGroupDiv = await page.$('.no-group-container'); @@ -311,7 +312,7 @@ describe('Discord Groups Page', () => { test('Should display delete button for super users', async () => { setSuperUserPermission(); - await page.goto(`${PAGE_URL}/groups?dev=true`); + await page.goto(`${SITE_URL}/groups?dev=true`); await page.waitForNetworkIdle(); await page.waitForTimeout(1000); @@ -323,7 +324,7 @@ describe('Discord Groups Page', () => { test('Should not display delete button when user is normal user', async () => { resetUserPermission(); - await page.goto(`${PAGE_URL}/groups?dev=true`); + await page.goto(`${SITE_URL}/groups?dev=true`); await page.waitForNetworkIdle(); const deleteButtons = await page.$$('.delete-group'); @@ -332,7 +333,7 @@ describe('Discord Groups Page', () => { test('Should not display delete button when dev=false', async () => { setSuperUserPermission(); - await page.goto(`${PAGE_URL}/groups`); + await page.goto(`${SITE_URL}/groups`); await page.waitForNetworkIdle(); const deleteButtons = await page.$$('.delete-group'); @@ -341,7 +342,7 @@ describe('Discord Groups Page', () => { test('Should display delete confirmation modal on click of delete button', async () => { setSuperUserPermission(); - await page.goto(`${PAGE_URL}/groups?dev=true`); + await page.goto(`${SITE_URL}/groups?dev=true`); await page.waitForNetworkIdle(); await page.waitForTimeout(1000); @@ -357,7 +358,7 @@ describe('Discord Groups Page', () => { test('Should close delete confirmation modal when cancel button is clicked', async () => { setSuperUserPermission(); - await page.goto(`${PAGE_URL}/groups?dev=true`); + await page.goto(`${SITE_URL}/groups?dev=true`); await page.waitForNetworkIdle(); await page.waitForTimeout(1000); diff --git a/__tests__/home/home.test.js b/__tests__/home/home.test.js index 76333d73..00934c01 100644 --- a/__tests__/home/home.test.js +++ b/__tests__/home/home.test.js @@ -1,6 +1,9 @@ const puppeteer = require('puppeteer'); const { superUserData } = require('../../mock-data/users'); +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; +const SITE_URL = 'http://localhost:8000'; + describe('Home Page', () => { let browser; let page; @@ -17,7 +20,8 @@ describe('Home Page', () => { await page.setRequestInterception(true); page.on('request', (interceptedRequest) => { const url = interceptedRequest.url(); - if (url === `https://api.realdevsquad.com/users/self`) { + + if (url === `${API_BASE_URL}/users/self`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -28,9 +32,7 @@ describe('Home Page', () => { }, body: JSON.stringify(superUserData), }); - } else if ( - url === `https://api.realdevsquad.com/discord-actions/group-idle-7d` - ) { + } else if (url === `${API_BASE_URL}/discord-actions/group-idle-7d`) { interceptedRequest.respond({ status: 200, ok: true, @@ -61,8 +63,7 @@ describe('Home Page', () => { }), }); } else if ( - url === - `https://api.realdevsquad.com/discord-actions/nicknames/sync?dev=true` + url === `${API_BASE_URL}/discord-actions/nicknames/sync?dev=true` ) { interceptedRequest.respond({ status: 200, @@ -79,8 +80,7 @@ describe('Home Page', () => { }), }); } else if ( - url === - `https://api.realdevsquad.com/discord-actions/group-onboarding-31d-plus` + url === `${API_BASE_URL}/discord-actions/group-onboarding-31d-plus` ) { interceptedRequest.respond({ status: 200, @@ -156,7 +156,7 @@ describe('Home Page', () => { await browser.close(); }); beforeEach(async () => { - await page.goto('http://localhost:8000/'); + await page.goto(`${SITE_URL}/`); await page.waitForNetworkIdle(); }); it('should display the Sync Users Status button', async () => { @@ -186,13 +186,13 @@ describe('Home Page', () => { expect(syncExternalAccountsUpdate).toBeTruthy(); }); it('should display the task requests button', async () => { - await page.goto('http://localhost:8000'); + await page.goto(`${SITE_URL}`); await page.waitForNetworkIdle(); const taskRequestsButton = await page.$('#task-requests-link'); expect(taskRequestsButton).toBeTruthy(); }); it('should go to the task requests page', async () => { - await page.goto('http://localhost:8000'); + await page.goto(`${SITE_URL}`); await page.waitForNetworkIdle(); const taskRequestsButton = await page.$('#task-requests-link'); @@ -208,7 +208,7 @@ describe('Home Page', () => { const httpMethod = interceptedRequest.method(); if ( url === - 'https://api.realdevsquad.com/external-accounts/users?action=discord-users-sync' && + `${API_BASE_URL}/external-accounts/users?action=discord-users-sync` && httpMethod === 'POST' ) { isRightUrlCalled = true; @@ -534,7 +534,7 @@ describe('Home Page', () => { it('should close hamburger menu on clicking anywhere on the screen except the menu', async () => { await page.setViewport({ width: 970, height: 1800 }); - await page.goto('http://localhost:8000/index.html'); + await page.goto(`${SITE_URL}/index.html`); await page.evaluate(() => { Object.defineProperty(window, 'innerWidth', { value: 970 }); }); diff --git a/__tests__/navbar/navbar.test.js b/__tests__/navbar/navbar.test.js index 76acee0d..116ab319 100644 --- a/__tests__/navbar/navbar.test.js +++ b/__tests__/navbar/navbar.test.js @@ -1,6 +1,7 @@ const puppeteer = require('puppeteer'); -const baseUrl = 'http://localhost:8000'; +const SITE_URL = 'http://localhost:8000'; + describe('Tests the navbar and its components on various pages', () => { let browser; let page; @@ -39,62 +40,62 @@ describe('Tests the navbar and its components on various pages', () => { }); it('Renders the navbar correctly on the home page', async () => { - await page.goto(`${baseUrl}`); + await page.goto(`${SITE_URL}`); await testNavbar(page); }); it('Renders the navbar correctly on the tasks page', async () => { - await page.goto(`${baseUrl}/task`); + await page.goto(`${SITE_URL}/task`); await testNavbar(page); }); it('Renders the navbar correctly on the profile page', async () => { - await page.goto(`${baseUrl}/profile`); + await page.goto(`${SITE_URL}/profile`); await testNavbar(page); }); it('Renders the navbar correctly on the Discord users page', async () => { - await page.goto(`${baseUrl}/users/discord`); + await page.goto(`${SITE_URL}/users/discord`); await testNavbar(page); }); it('Renders the navbar correctly on the User Management page', async () => { - await page.goto(`${baseUrl}/users`); + await page.goto(`${SITE_URL}/users`); await testNavbar(page); }); it('Renders the navbar correctly on the Extension Requests page', async () => { - await page.goto(`${baseUrl}/extension-requests`); + await page.goto(`${SITE_URL}/extension-requests`); await testNavbar(page); }); it('Renders the navbar correctly on the Task Requests page', async () => { - await page.goto(`${baseUrl}/task-requests`); + await page.goto(`${SITE_URL}/task-requests`); await testNavbar(page); }); it('Renders the navbar correctly on the Online Members page', async () => { - await page.goto(`${baseUrl}/online-members/online-members.html`); + await page.goto(`${SITE_URL}/online-members/online-members.html`); await testNavbar(page); }); it('Renders the navbar correctly on the Standup Updates page', async () => { - await page.goto(`${baseUrl}/standup/index.html`); + await page.goto(`${SITE_URL}/standup/index.html`); await testNavbar(page); }); it('Renders the navbar correctly on the Identity Service Logs page', async () => { - await page.goto(`${baseUrl}/identity-service-logs/index.html`); + await page.goto(`${SITE_URL}/identity-service-logs/index.html`); await testNavbar(page); }); it('Renders the navbar correctly on the Requests page', async () => { - await page.goto(`${baseUrl}/requests/index.html`); + await page.goto(`${SITE_URL}/requests/index.html`); await testNavbar(page); }); it('Renders the navbar correctly on the Activity Feed page', async () => { - await page.goto(`${baseUrl}/feed/index.html`); + await page.goto(`${SITE_URL}/feed/index.html`); await testNavbar(page); }); }); diff --git a/__tests__/requests/requests.test.js b/__tests__/requests/requests.test.js index 4d339b90..5679ab2e 100644 --- a/__tests__/requests/requests.test.js +++ b/__tests__/requests/requests.test.js @@ -7,7 +7,7 @@ const { } = require('../../mock-data/requests'); const { allUsersData } = require('../../mock-data/users'); -const API_BASE_URL = 'https://api.realdevsquad.com'; +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; const SITE_URL = 'http://localhost:8000'; describe('Tests the request cards', () => { diff --git a/__tests__/task-requests/task-request.test.js b/__tests__/task-requests/task-request.test.js index 4bac427e..f2972b8b 100644 --- a/__tests__/task-requests/task-request.test.js +++ b/__tests__/task-requests/task-request.test.js @@ -3,7 +3,7 @@ const puppeteer = require('puppeteer'); const { fetchedTaskRequests } = require('../../mock-data/taskRequests'); const SITE_URL = 'http://localhost:8000'; -const API_BASE_URL = 'https://api.realdevsquad.com'; +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; describe('Task Requests', () => { let browser; @@ -18,19 +18,19 @@ describe('Task Requests', () => { args: ['--incognito', '--disable-web-security'], devtools: false, }); - }); - beforeEach(async () => { page = await browser.newPage(); await page.setRequestInterception(true); - page.on('request', (request) => { + page.on('request', (interceptedRequest) => { + const url = interceptedRequest.url(); + if ( - request.url() === `${API_BASE_URL}/taskRequests` || - request.url() === + url === `${API_BASE_URL}/taskRequests` || + url === `${API_BASE_URL}/taskRequests?size=20&q=status%3Apending+sort%3Acreated-asc` ) { - request.respond({ + interceptedRequest.respond({ status: 200, contentType: 'application/json', body: JSON.stringify({ data: fetchedTaskRequests }), @@ -41,14 +41,14 @@ describe('Task Requests', () => { }, }); } else if ( - request.url() === + url === `${API_BASE_URL}/taskRequests?size=20&q=status%3Aapproved++sort%3Acreated-asc` ) { const list = []; for (let i = 0; i < 20; i++) { list.push(fetchedTaskRequests[0]); } - request.respond({ + interceptedRequest.respond({ status: 200, contentType: 'application/json', body: JSON.stringify({ @@ -57,7 +57,7 @@ describe('Task Requests', () => { }), }); } else { - request.continue(); + interceptedRequest.continue(); } }); await page.goto(`${SITE_URL}/task-requests`); diff --git a/__tests__/task-requests/task-requestDetails.test.js b/__tests__/task-requests/task-requestDetails.test.js index 0c827846..2aaead1f 100644 --- a/__tests__/task-requests/task-requestDetails.test.js +++ b/__tests__/task-requests/task-requestDetails.test.js @@ -5,6 +5,9 @@ const { } = require('../../mock-data/taskRequests'); const { user } = require('../../mock-data/users/index.js'); +const SITE_URL = 'http://localhost:8000/task-requests/details'; +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; + describe('Request container for non-super users', () => { let browser; let page; @@ -21,7 +24,8 @@ describe('Request container for non-super users', () => { await page.setRequestInterception(true); page.on('request', (interceptedRequest) => { const url = interceptedRequest.url(); - if (url == 'https://staging-api.realdevsquad.com/users/self') { + + if (url == `${API_BASE_URL}/users/self`) { interceptedRequest.respond({ ...defaultMockResponseHeaders, body: JSON.stringify(user), @@ -35,9 +39,7 @@ describe('Request container for non-super users', () => { interceptedRequest.continue(); } }); - await page.goto( - 'http://localhost:8000/task-requests/details/?id=dM5wwD9QsiTzi7eG7Oq5&dev=true', - ); + await page.goto(`${SITE_URL}/?id=dM5wwD9QsiTzi7eG7Oq5&dev=true`); }); afterAll(async () => { @@ -86,9 +88,7 @@ describe('Task request details page', () => { interceptedRequest.continue(); } }); - await page.goto( - 'http://localhost:8000/task-requests/details/?id=dM5wwD9QsiTzi7eG7Oq5', - ); + await page.goto(`${SITE_URL}/?id=dM5wwD9QsiTzi7eG7Oq5`); }); afterAll(async () => { @@ -147,9 +147,7 @@ describe('Task request details page', () => { }); it('Should render Approve and Reject buttons for super users', async function () { - await page.goto( - 'http://localhost:8000/task-requests/details/?id=dM5wwD9QsiTzi7eG7Oq5&dev=true', - ); + await page.goto(`${SITE_URL}/?id=dM5wwD9QsiTzi7eG7Oq5&dev=true`); await page.waitForNetworkIdle(); const approveButton = await page.$('[data-testid="task-approve-button"]'); const rejectButton = await page.$('[data-testid="task-reject-button"]'); @@ -183,9 +181,7 @@ describe('Task request details page with markdown support in description', () => interceptedRequest.continue(); } }); - await page.goto( - 'http://localhost:8000/task-requests/details/?id=dM5wwD9QsiTzi7eG7Oq6', - ); + await page.goto(`${SITE_URL}/?id=dM5wwD9QsiTzi7eG7Oq6`); }); afterAll(async () => { @@ -242,9 +238,7 @@ describe('Task request details page with markdown support in description', () => }); it('Should render Approve and Reject buttons for super users', async function () { - await page.goto( - 'http://localhost:8000/task-requests/details/?id=dM5wwD9QsiTzi7eG7Oq6&dev=true', - ); + await page.goto(`${SITE_URL}/?id=dM5wwD9QsiTzi7eG7Oq6&dev=true`); await page.waitForNetworkIdle(); const approveButton = await page.$('[data-testid="task-approve-button"]'); const rejectButton = await page.$('[data-testid="task-reject-button"]'); @@ -278,9 +272,7 @@ describe('Task request details page with status creation', () => { interceptedRequest.continue(); } }); - await page.goto( - 'http://localhost:8000/task-requests/details/?id=uC0IUpkFMx393XjnKx4w', - ); + await page.goto(`${SITE_URL}/?id=uC0IUpkFMx393XjnKx4w`); }); afterAll(async () => { diff --git a/__tests__/tasks/profile-picture.test.js b/__tests__/tasks/profile-picture.test.js index 05f850e6..137597b7 100644 --- a/__tests__/tasks/profile-picture.test.js +++ b/__tests__/tasks/profile-picture.test.js @@ -1,6 +1,6 @@ const puppeteer = require('puppeteer'); const { allUsersData } = require('../../mock-data/users'); -const API_BASE_URL = 'https://api.realdevsquad.com'; +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; describe('Task Page - Assignee Profile Pic', () => { let browser; @@ -19,7 +19,6 @@ describe('Task Page - Assignee Profile Pic', () => { page.on('request', (interceptedRequest) => { const url = interceptedRequest.url(); - if (url === `${API_BASE_URL}/users`) { interceptedRequest.respond({ status: 200, diff --git a/__tests__/tasks/task-dependency.test.js b/__tests__/tasks/task-dependency.test.js index 148f9842..7b03d68b 100644 --- a/__tests__/tasks/task-dependency.test.js +++ b/__tests__/tasks/task-dependency.test.js @@ -1,4 +1,4 @@ -const API_BASE_URL = 'https://api.realdevsquad.com'; +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; const puppeteer = require('puppeteer'); const { tags } = require('../../mock-data/tags'); const { levels } = require('../../mock-data/levels'); @@ -21,7 +21,6 @@ describe('Input box', () => { page.on('request', (interceptedRequest) => { const url = interceptedRequest.url(); - if (url === `${API_BASE_URL}/levels`) { interceptedRequest.respond({ status: 200, diff --git a/__tests__/user-details/Intro-button.test.js b/__tests__/user-details/Intro-button.test.js index 16b287d1..96b7e49f 100644 --- a/__tests__/user-details/Intro-button.test.js +++ b/__tests__/user-details/Intro-button.test.js @@ -1,6 +1,8 @@ const puppeteer = require('puppeteer'); const { userDetails } = require('../../mock-data/user-details/index'); +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; + describe('Intro User Button Users Detail Page', () => { let browser; let page; @@ -20,7 +22,7 @@ describe('Intro User Button Users Detail Page', () => { page.on('request', (interceptedRequest) => { const url = interceptedRequest.url(); - if (url === 'https://api.realdevsquad.com/users/randhir') { + if (url === `${API_BASE_URL}/users/randhir`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', diff --git a/__tests__/user-details/task-duedate-hover.test.js b/__tests__/user-details/task-duedate-hover.test.js index 63dc393e..64daa74f 100644 --- a/__tests__/user-details/task-duedate-hover.test.js +++ b/__tests__/user-details/task-duedate-hover.test.js @@ -6,6 +6,10 @@ const { const { superUserDetails, } = require('../../mock-data/tasks-card-date-time-end-date-self/index'); // has super user info +const { userDetails } = require('../../mock-data/user-details/index'); +const { usersStatus } = require('../../mock-data/users-status/index'); + +const API_BASE_URL = 'https://staging-api.realdevsquad.com'; describe('Tasks On User Management Page', () => { let browser; @@ -15,7 +19,7 @@ describe('Tasks On User Management Page', () => { beforeAll(async () => { browser = await puppeteer.launch({ - headless: 'new', //change headless to 'new' to check the tests in browser + headless: 'new', ignoreHTTPSErrors: true, args: ['--incognito', '--disable-web-security'], devtools: false, @@ -26,20 +30,8 @@ describe('Tasks On User Management Page', () => { page.on('request', (interceptedRequest) => { const url = interceptedRequest.url(); - if (url === 'https://api.realdevsquad.com/tasks/sunny-s') { - // When we encounter the respective api call we respond with the below response - interceptedRequest.respond({ - status: 200, - contentType: 'application/json', - headers: { - 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', - 'Access-Control-Allow-Headers': 'Content-Type, Authorization', - }, - body: JSON.stringify(userDetailsApi), - }); - } else if (url === 'https://api.realdevsquad.com/users/self') { - // When we encounter the respective api call we respond with the below response + + if (url === `${API_BASE_URL}/users/sunny-s`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -48,11 +40,11 @@ describe('Tasks On User Management Page', () => { 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type, Authorization', }, - body: JSON.stringify(superUserDetails), // Y contains the json of a superuser in the server which will grant us the access to view the page without locks + body: JSON.stringify(userDetails), }); } else if ( - url === - 'https://api.realdevsquad.com/tasks/?size=3&dev=true&assignee=ajeyakrishna' + url === `${API_BASE_URL}/users/self` || + url === `${API_BASE_URL}/users/ankush` ) { interceptedRequest.respond({ status: 200, @@ -62,11 +54,11 @@ describe('Tasks On User Management Page', () => { 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type, Authorization', }, - body: JSON.stringify(usersTasksInDev['initial']), + body: JSON.stringify(superUserDetails), }); } else if ( - url === - 'https://api.realdevsquad.com/tasks?dev=true&assignee=ajeyakrishna&size=3&next=vvTPGHAs9w36oY1UnV8r' + url === `${API_BASE_URL}/tasks/?size=3&dev=true&assignee=sunny-s` || + url === `${API_BASE_URL}/tasks/?size=3&dev=true&assignee=ankush` ) { interceptedRequest.respond({ status: 200, @@ -76,12 +68,9 @@ describe('Tasks On User Management Page', () => { 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type, Authorization', }, - body: JSON.stringify(usersTasksInDev['vvTPGHAs9w36oY1UnV8r']), + body: JSON.stringify(usersTasksInDev['initial']), }); - } else if ( - url === - 'https://api.realdevsquad.com/tasks?dev=true&assignee=ajeyakrishna&size=3&next=i1LQOKkGhhpOxE6yEo3A' - ) { + } else if (url === `${API_BASE_URL}/users/status/DtR9sK7CysOVHP17zl8N`) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -90,11 +79,11 @@ describe('Tasks On User Management Page', () => { 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type, Authorization', }, - body: JSON.stringify(usersTasksInDev['i1LQOKkGhhpOxE6yEo3A']), + body: JSON.stringify(usersStatus.allUserStatus[0]), }); } else if ( url === - 'https://api.realdevsquad.com/tasks?dev=true&assignee=ajeyakrishna&size=3&next=OhNeSTj5J72PhrA4mtrr' + `${API_BASE_URL}/tasks?dev=true&assignee=ajeyakrishna&size=3&next=vvTPGHAs9w36oY1UnV8rr` ) { interceptedRequest.respond({ status: 200, @@ -131,10 +120,7 @@ describe('Tasks On User Management Page', () => { }); it('should select and interact with text elements', async () => { - // Select all elements with the specified class const elements = await page.$$('.due-date-value'); - - // Checking if elements are found expect(elements).toBeTruthy(); for (const element of elements) { @@ -145,26 +131,22 @@ describe('Tasks On User Management Page', () => { ); await element.evaluate((el) => { - el.style.backgroundColor = 'blue'; // Changing background color for pointing out + el.style.backgroundColor = 'blue'; }); - await page.waitForTimeout(200); //waiting for a moment to check changes(very helpful when you turn headless into false), please increase value to 2000 or above to see clear changes + await page.waitForTimeout(200); } - await page.waitForTimeout(500); //waiting for a moment to check changes(very helpful when you turn headless into false) + await page.waitForTimeout(500); }); it('should interact with hover elements', async () => { - // Select all elements with the same selector const elementsSelector = '.due-date-value'; - - // Find and interact with each element individually const elements = await page.$$(elementsSelector); for (const element of elements) { await element.hover(); await page.waitForSelector('.task-due-date'); - // const hoverContext = await page.hover('.task-due-date'); const tooltipText = await page.$eval( '.task-due-date', (tooltip) => tooltip.textContent, @@ -174,10 +156,9 @@ describe('Tasks On User Management Page', () => { /Due Date: Thu Jul 27 2023|Due Date: Sat Sep 09 2023|Tue Jul 04 2023/, ); - await page.waitForTimeout(200); //waiting for a moment to check changes(very helpful when you turn headless into false), please increase value to 2000 or above to see clear changes + await page.waitForTimeout(200); } - - await page.waitForTimeout(500); //waiting for a moment to check changes(very helpful when you turn headless into false) + await page.waitForTimeout(500); }); it('Scroll of task should work', async () => { @@ -213,12 +194,12 @@ describe('Tasks On User Management Page', () => { await page.waitForNetworkIdle(); let renderedTasks = await userTasksDevDiv.$$('.user-task'); - expect(Array.from(renderedTasks).length).toBe(15); + expect(Array.from(renderedTasks).length).toBe(3); }); it('New task card should have all the detail fields', async () => { await page.goto( - 'http://localhost:8000/users/details/index.html?username=ankush', + 'http://localhost:8000/users/details/index.html?username=sunny', ); await page.waitForNetworkIdle(); const taskDiv = await page.$$('.accordion-tasks'); diff --git a/__tests__/users/user-management-home-screen.test.js b/__tests__/users/user-management-home-screen.test.js index f50242eb..05f6dcea 100644 --- a/__tests__/users/user-management-home-screen.test.js +++ b/__tests__/users/user-management-home-screen.test.js @@ -24,7 +24,9 @@ describe('Tests the User Management User Listing Screen', () => { page.on('request', (interceptedRequest) => { const url = interceptedRequest.url(); - if (url === 'https://api.realdevsquad.com/users?size=100&page=0') { + if ( + url === 'https://staging-api.realdevsquad.com/users?size=100&page=0' + ) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -35,7 +37,9 @@ describe('Tests the User Management User Listing Screen', () => { }, body: JSON.stringify(allUsersData), }); - } else if (url === 'https://api.realdevsquad.com/users?search=randhir') { + } else if ( + url === 'https://staging-api.realdevsquad.com/users?search=randhir' + ) { interceptedRequest.respond({ status: 200, contentType: 'application/json', @@ -46,7 +50,7 @@ describe('Tests the User Management User Listing Screen', () => { }, body: JSON.stringify(filteredUsersData), }); - } else if (url === 'https://api.realdevsquad.com/tags') { + } else if (url === 'https://staging-api.realdevsquad.com/tags') { interceptedRequest.respond({ status: 200, contentType: 'application/json', diff --git a/applications/utils.js b/applications/utils.js index c49190d3..d5541409 100644 --- a/applications/utils.js +++ b/applications/utils.js @@ -1,8 +1,4 @@ -const BASE_URL = - window.location.hostname === 'localhost' - ? 'https://staging-api.realdevsquad.com' - : window.API_BASE_URL; -const toast = document.getElementById('toast'); +const BASE_URL = window.API_BASE_URL; function createElement({ type, attributes = {}, innerText }) { const element = document.createElement(type); diff --git a/helpers/loadENV.js b/helpers/loadENV.js index a00b6baf..3ede4923 100644 --- a/helpers/loadENV.js +++ b/helpers/loadENV.js @@ -1,8 +1,9 @@ window.API_BASE_URL = 'https://api.realdevsquad.com'; if ( - window.location.hostname !== 'dashboard.realdevsquad.com' && - window.location.hostname !== 'localhost' + (window.location.hostname !== 'dashboard.realdevsquad.com' && + window.location.hostname === 'localhost') || + window.location.hostname === 'dev.realdevsquad.com' ) { window.API_BASE_URL = 'https://staging-api.realdevsquad.com'; } diff --git a/task-requests/details/script.js b/task-requests/details/script.js index 757c0697..50b4d7f5 100644 --- a/task-requests/details/script.js +++ b/task-requests/details/script.js @@ -1,7 +1,4 @@ -const API_BASE_URL = - window.location.hostname === 'localhost' - ? 'https://staging-api.realdevsquad.com' - : window.API_BASE_URL; +const API_BASE_URL = window.API_BASE_URL; import { getIsSuperUser } from '../../applications/utils.js'; let taskRequest; let isSuperUser; diff --git a/users/discord/utils/util.js b/users/discord/utils/util.js index 1937147e..8fadcb66 100644 --- a/users/discord/utils/util.js +++ b/users/discord/utils/util.js @@ -1,7 +1,4 @@ -const API_BASE_URL = - window.location.hostname === 'localhost' - ? 'https://staging-api.realdevsquad.com' - : window.API_BASE_URL; +const API_BASE_URL = window.API_BASE_URL; export const getUsers = async (tab) => { let URL = { From b836f2dcbffb26b8d5ffc1887cdaffb8c1caeded Mon Sep 17 00:00:00 2001 From: AnujChhikara Date: Thu, 21 Nov 2024 10:31:35 +0530 Subject: [PATCH 2/4] resolve conflict --- .../extension-requests.test.js | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/__tests__/extension-requests/extension-requests.test.js b/__tests__/extension-requests/extension-requests.test.js index d9d1fb69..2966e157 100644 --- a/__tests__/extension-requests/extension-requests.test.js +++ b/__tests__/extension-requests/extension-requests.test.js @@ -627,6 +627,32 @@ describe('Tests the Extension Requests Screen', () => { const cardCount = extensionCardsAfter.length; expect(cardCount === 3 || cardCount === 7).toBe(true); }); + it('checks whether the shimmer effect is visible under dev flag only for the assignee image element', async () => { + await page.goto(`${LOCAL_TEST_PAGE_URL}/extension-requests/?dev=true`); + const assignImageSelector = await page.$$( + '[data-testid="assignee-image skeleton"]', + ); + expect(assignImageSelector).toBeTruthy(); + + await page.waitForTimeout(5000); + const hasSkeletonClassAfter = await page.$eval('.assignee-image', (el) => + el.classList.contains('skeleton'), + ); + expect(hasSkeletonClassAfter).toBe(false); + }); + + it('checks whether the shimmer effect is visible under dev flag only for the assignee name element', async () => { + await page.goto(`${LOCAL_TEST_PAGE_URL}/extension-requests/?dev=true`); + const assignNameSelector = await page.$$( + '[data-testid="assignee-name skeleton-text"]', + ); + expect(assignNameSelector).toBeTruthy(); + await page.waitForTimeout(5000); + const hasSkeletonClassAfter = await page.$eval('.assignee-name', (el) => + el.classList.contains('skeleton-text'), + ); + expect(hasSkeletonClassAfter).toBe(false); + }); it('Checks whether the card is not removed from display when api call is unsuccessful', async () => { const extensionCards = await page.$$('.extension-card'); From e1f5451a8fbfbac3e99f2ee7da097f695d13eacb Mon Sep 17 00:00:00 2001 From: AnujChhikara Date: Wed, 27 Nov 2024 11:42:45 +0530 Subject: [PATCH 3/4] fix: properly declare constants --- mock-data/constants.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mock-data/constants.js b/mock-data/constants.js index 3bef1cc3..2b5b6238 100644 --- a/mock-data/constants.js +++ b/mock-data/constants.js @@ -1,6 +1,5 @@ -// constants.js -STAGING_API_URL = 'https://staging-api.realdevsquad.com'; -LOCAL_TEST_PAGE_URL = 'http://localhost:8000'; +const STAGING_API_URL = 'https://staging-api.realdevsquad.com'; +const LOCAL_TEST_PAGE_URL = 'http://localhost:8000'; module.exports = { STAGING_API_URL, From 2be45eb4b0b9c0967b52612b1671243a110ef35c Mon Sep 17 00:00:00 2001 From: AnujChhikara Date: Wed, 27 Nov 2024 15:19:02 +0530 Subject: [PATCH 4/4] API URL fix --- helpers/loadENV.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/helpers/loadENV.js b/helpers/loadENV.js index 3ede4923..492d419f 100644 --- a/helpers/loadENV.js +++ b/helpers/loadENV.js @@ -1,9 +1,5 @@ window.API_BASE_URL = 'https://api.realdevsquad.com'; -if ( - (window.location.hostname !== 'dashboard.realdevsquad.com' && - window.location.hostname === 'localhost') || - window.location.hostname === 'dev.realdevsquad.com' -) { +if (window.location.hostname !== 'dashboard.realdevsquad.com') { window.API_BASE_URL = 'https://staging-api.realdevsquad.com'; }