From b06b4e8e8096213535b72c459d481ffa49934856 Mon Sep 17 00:00:00 2001 From: Ajeyakrishna Date: Mon, 31 Jul 2023 19:43:09 +0530 Subject: [PATCH] Revert "test : filter and search bar in extension requests page" This reverts commit dc9f85a6ba8857af6558f89f5f91d6fcb8ad9ecd. --- .../extension-requests.test.js | 167 ------------------ mock-data/extension-requests/index.js | 40 ++--- 2 files changed, 20 insertions(+), 187 deletions(-) delete mode 100644 __tests__/extension-requests/extension-requests.test.js diff --git a/__tests__/extension-requests/extension-requests.test.js b/__tests__/extension-requests/extension-requests.test.js deleted file mode 100644 index f5bfd2e9..00000000 --- a/__tests__/extension-requests/extension-requests.test.js +++ /dev/null @@ -1,167 +0,0 @@ -const puppeteer = require('puppeteer'); -const { extensionRequestsList } = require('../../mock-data/extension-requests'); -const { tags } = require('../../mock-data/tags'); - -describe('Tests the Extension Requests Screen', () => { - let browser; - let page; - let title; - let searchBar; - let filterButton; - let applyFilterButton; - let clearFilterButton; - let extensionRequestsElement; - jest.setTimeout(60000); - - beforeAll(async () => { - browser = await puppeteer.launch({ - headless: false, - ignoreHTTPSErrors: true, - args: ['--incognito', '--disable-web-security'], - devtools: false, - }); - page = await browser.newPage(); - - await page.setRequestInterception(true); - - page.on('request', (interceptedRequest) => { - const url = interceptedRequest.url(); - if (url === 'https://api.realdevsquad.com/extension-requests') { - 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(extensionRequestsList), - }); - } else if ( - url === 'https://api.realdevsquad.com/extension-requests?status=PENDING' - ) { - 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(extensionRequestsList), - }); - } else if ( - url === - 'https://api.realdevsquad.com/extension-requests?status=ACCEPTED' - ) { - 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(extensionRequestsList), - }); - } else { - interceptedRequest.continue(); - } - }); - await page.goto('http://localhost:8000/extension-requests'); - await page.waitForNetworkIdle(); - - title = await page.$('.header h1'); - searchBar = await page.$('#search'); - filterButton = await page.$('#filter-button'); - clearFilterButton = await page.$('#filter-button'); - applyFilterButton = await page.$('#apply-filter-button'); - extensionRequestsElement = await page.$('.extension-request'); - }); - - afterAll(async () => { - await browser.close(); - }); - - it('Checks the UI elements on Extension requests listing page.', async () => { - expect(title).toBeTruthy(); - expect(searchBar).toBeTruthy(); - expect(filterButton).toBeTruthy(); - expect(extensionRequestsElement).toBeTruthy(); - }); - - it('checks the search functionality to display queried user', async () => { - const ele = await page.$('input[id="assignee-search"]'); - await page.type('#assignee-search', 'ajeya'); - await page.waitForTimeout(600); - const cardsList = await page.$$('.extension-request'); - expect(cardsList.length).toBe(2); - const cardTextContent = await page.evaluate( - (element) => element.textContent, - cardsList[0], - ); - expect(cardTextContent).toContain('ajeya'); - }); - - it('Clicking on filter button should display filter modal', async () => { - const modal = await page.$('.filter-modal'); - expect(await modal.evaluate((el) => el.classList.contains('hidden'))).toBe( - true, - ); - await page.click('#filter-button'); - expect(modal).not.toBeNull(); - expect(await modal.evaluate((el) => el.classList.contains('hidden'))).toBe( - false, - ); - await page.click('#filter-button'); - expect(await modal.evaluate((el) => el.classList.contains('hidden'))).toBe( - true, - ); - }); - - it('checks if PENDING is checked by default', async () => { - const filterButton = await page.$('#filter-button'); - await filterButton.click(); - - await page.waitForSelector('.filter-modal'); - - const activeFilter = await page.$('input[value="PENDING"]'); - - const currentState = await activeFilter.getProperty('checked'); - const isChecked = await currentState.jsonValue(); - expect(isChecked).toBe(true); - }); - it('Selecting filters and clicking on apply should filter extension requests list', async () => { - await page.click('#filter-button'); - await page.click('input[value="PENDING"]'); - await page.click('input[value="APPROVED"]'); - await delay(2000); - - await page.click('#apply-filter-button'); - await page.waitForNetworkIdle(); - const cardsList = await page.$$('.extension-request'); - await delay(20000); - - expect(cardsList).not.toBeNull(); - expect(cardsList.length).toBeGreaterThanOrEqual(0); - }); - - it('clears the filter when the Clear button is clicked', async () => { - const filterButton = await page.$('#filter-button'); - await filterButton.click(); - - await page.waitForSelector('.filter-modal'); - - const activeFilter = await page.$('input[value="APPROVED"]'); - await activeFilter.click(); - - const clearButton = await page.$('.filter-modal #clear-button'); - await clearButton.click(); - - await page.waitForSelector('.filter-modal', { hidden: true }); - - const currentState = await activeFilter.getProperty('checked'); - const isChecked = await currentState.jsonValue(); - expect(isChecked).toBe(false); - }); -}); diff --git a/mock-data/extension-requests/index.js b/mock-data/extension-requests/index.js index 7a719ced..32a3769c 100644 --- a/mock-data/extension-requests/index.js +++ b/mock-data/extension-requests/index.js @@ -1,43 +1,43 @@ const extensionRequestsList = { - message: 'Extension Requests returned successfully!', - groups: [ + message: "Extension Requests returned successfully!", + groups: [ { - assignee: 'ajeyak', + assignee: "ajeyak", - id: 'lGQ3AjUlgNB6Jd8jXaEC', +id: "lGQ3AjUlgNB6Jd8jXaEC", - newEndsOn: 1692149100, +newEndsOn: 1692149100, - oldEndsOn: 1691639385.762, +oldEndsOn: 1691639385.762, - reason: 'a reason, a very good one', +reason: "a reason, a very good one", - status: 'PENDING', +status: "PENDING", - taskId: 'GCYGDiU0lw4fwc3qljSY', +taskId: "GCYGDiU0lw4fwc3qljSY", - timestamp: 1690429937, +timestamp: 1690429937, - title: 'A title', +title: "A title", }, { - assignee: 'ajeyak', + assignee: "ajeyak", - id: 'QISvF7kAmnD9vXHwwIsG', +id: "QISvF7kAmnD9vXHwwIsG", - newEndsOn: 1690528980, +newEndsOn: 1690528980, - oldEndsOn: 1689954609.948, +oldEndsOn: 1689954609.948, - reason: 'b', +reason: "b", - status: 'APPROVED', +status: "APPROVED", - taskId: 'PYj79ki2agB0q5JN3kUf', +taskId: "PYj79ki2agB0q5JN3kUf", - timestamp: 1689233034, +timestamp: 1689233034, - title: 'j', +title: "j", }, ], };