From 6e38be6509f2e9b6d1179b4f5d7b98c25a1a18b1 Mon Sep 17 00:00:00 2001 From: Bilal Qamar <59555732+BilalQamar95@users.noreply.github.com> Date: Wed, 17 Apr 2024 17:39:37 +0500 Subject: [PATCH] refactor: updated jest config, fixed failing tests --- jest.config.js | 6 +++++- .../email-settings/tests/EmailSettingsModal.test.jsx | 12 +++++++----- .../tests/CourseEnrollments.test.jsx | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/jest.config.js b/jest.config.js index 51c25a54..137120e4 100644 --- a/jest.config.js +++ b/jest.config.js @@ -2,6 +2,10 @@ const path = require('path'); const envConfigPath = path.join(__dirname, 'env.config.js'); module.exports = { + testEnvironment: 'jsdom', + // testEnvironmentOptions: { + // url: 'http://localhost/', + // }, transform: { '^.+\\.jsx?$': '/jest-preprocess.js', }, @@ -11,7 +15,7 @@ module.exports = { 'env.config': envConfigPath, }, testPathIgnorePatterns: ['node_modules', '.cache'], - transformIgnorePatterns: ['node_modules/(?!(gatsby|@edx/paragon|@edx/frontend-platform|@edx/frontend-component-footer-edx))'], + transformIgnorePatterns: ['node_modules/(?!(gatsby|@openedx/paragon|@edx/frontend-platform|@edx/frontend-component-footer-edx))'], globals: { __PATH_PREFIX__: '', }, diff --git a/src/components/course-enrollments/course-cards/email-settings/tests/EmailSettingsModal.test.jsx b/src/components/course-enrollments/course-cards/email-settings/tests/EmailSettingsModal.test.jsx index 91026b2b..4167adb0 100644 --- a/src/components/course-enrollments/course-cards/email-settings/tests/EmailSettingsModal.test.jsx +++ b/src/components/course-enrollments/course-cards/email-settings/tests/EmailSettingsModal.test.jsx @@ -1,5 +1,7 @@ import React from 'react'; -import { fireEvent, render, screen } from '@testing-library/react'; +import { + fireEvent, render, screen, waitFor, +} from '@testing-library/react'; import thunk from 'redux-thunk'; import configureMockStore from 'redux-mock-store'; @@ -55,7 +57,6 @@ describe('', () => { it('statefulbutton component state is set to complete after click event', async () => { // Note: The following line is needed to properly resolve the // `updateEmailSettings` promise. - const flushPromises = () => new Promise(setImmediate); const buttonElement = screen.getAllByRole('button'); expect(screen.getByText('Save')).toBeTruthy(); @@ -63,10 +64,11 @@ describe('', () => { fireEvent.click(screen.getByRole('checkbox')); fireEvent.click(buttonElement[buttonElement.length - 1]); - await flushPromises(); expect(mockUpdateEmailSettings.mock.calls.length).toBe(1); - expect(screen.getByText('Saved')).toBeTruthy(); - expect(screen.queryByText('Save')).toBeFalsy(); + waitFor(() => { + expect(screen.getByText('Saved')).toBeTruthy(); + expect(screen.queryByText('Save')).toBeFalsy(); + }); }); }); diff --git a/src/components/course-enrollments/tests/CourseEnrollments.test.jsx b/src/components/course-enrollments/tests/CourseEnrollments.test.jsx index 1bb2e82c..6c0fcac4 100644 --- a/src/components/course-enrollments/tests/CourseEnrollments.test.jsx +++ b/src/components/course-enrollments/tests/CourseEnrollments.test.jsx @@ -4,7 +4,7 @@ import { Provider } from 'react-redux'; import { fireEvent, render } from '@testing-library/react'; import configureMockStore from 'redux-mock-store'; import thunk from 'redux-thunk'; -import { breakpoints } from '@edx/paragon'; +import { breakpoints } from '@openedx/paragon'; import { AppContext } from '@edx/frontend-platform/react'; import { Context as ResponsiveContext } from 'react-responsive'; import { IntlProvider } from 'react-intl';