Skip to content

Commit

Permalink
refactor: updated jest config, fixed failing tests
Browse files Browse the repository at this point in the history
  • Loading branch information
BilalQamar95 committed Apr 17, 2024
1 parent 4af8d67 commit 6e38be6
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 7 deletions.
6 changes: 5 additions & 1 deletion jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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?$': '<rootDir>/jest-preprocess.js',
},
Expand All @@ -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__: '',
},
Expand Down
Original file line number Diff line number Diff line change
@@ -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';

Expand Down Expand Up @@ -55,18 +57,18 @@ describe('<EmailSettingsModal />', () => {
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();
expect(screen.queryByText('Saved')).toBeFalsy();

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();
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down

0 comments on commit 6e38be6

Please sign in to comment.