Skip to content

Commit

Permalink
Remove Enzyme usage in places it's not needed (#22437)
Browse files Browse the repository at this point in the history
  • Loading branch information
ecraig12345 authored Apr 11, 2022
1 parent e49dc44 commit 4bd9ec6
Show file tree
Hide file tree
Showing 10 changed files with 43 additions and 73 deletions.
5 changes: 0 additions & 5 deletions packages/react-cards/config/tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,5 @@ setIconOptions({
disableWarnings: true,
});

// Mock requestAnimationFrame for React 16+.
global.requestAnimationFrame = callback => {
setTimeout(callback, 0);
};

// Configure enzyme.
configure({ adapter: new Adapter() });
11 changes: 0 additions & 11 deletions packages/react-icon-provider/config/tests.js
Original file line number Diff line number Diff line change
@@ -1,12 +1 @@
/** Jest test setup file. */

const { configure } = require('enzyme');
const Adapter = require('enzyme-adapter-react-16');

// Mock requestAnimationFrame for React 16+.
global.requestAnimationFrame = callback => {
setTimeout(callback, 0);
};

// Configure enzyme.
configure({ adapter: new Adapter() });
4 changes: 2 additions & 2 deletions packages/react-icon-provider/src/IconProvider.test.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as React from 'react';
import { mount } from 'enzyme';
import { render } from '@testing-library/react';
import { IconProvider, useIconSubset } from './IconProvider';
import type { IIconSubset } from '@fluentui/style-utilities';

Expand Down Expand Up @@ -27,7 +27,7 @@ describe('IconProvider', () => {
resolvedIcon = useIconSubset();
return null;
};
mount(
render(
<IconProvider icons={testOverride}>
<TestComponent />
</IconProvider>,
Expand Down
6 changes: 0 additions & 6 deletions packages/react-list/config/tests.js
Original file line number Diff line number Diff line change
@@ -1,7 +1 @@
/** Jest test setup file. */

const { configure } = require('enzyme');
const Adapter = require('enzyme-adapter-react-16');

// Configure enzyme.
configure({ adapter: new Adapter() });
6 changes: 0 additions & 6 deletions packages/react-window-provider/config/tests.js
Original file line number Diff line number Diff line change
@@ -1,7 +1 @@
/** Jest test setup file. */

const { configure } = require('enzyme');
const Adapter = require('enzyme-adapter-react-16');

// Configure enzyme.
configure({ adapter: new Adapter() });
6 changes: 3 additions & 3 deletions packages/react-window-provider/src/WindowProvider.test.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as React from 'react';
import { useWindow, useDocument, WindowProvider } from './WindowProvider';
import { safeMount } from '@fluentui/test-utilities';
import { render } from '@testing-library/react';

describe('WindowProvider', () => {
let lastWindow: Window | undefined;
Expand All @@ -14,7 +14,7 @@ describe('WindowProvider', () => {
};

it('can provide defaults for node', () => {
safeMount(<Foo />);
render(<Foo />);

expect(lastWindow).toBe(window);
expect(lastDocument).toBe(document);
Expand All @@ -24,7 +24,7 @@ describe('WindowProvider', () => {
const mockDocument = ({} as unknown) as Document;
const mockWindow = ({ document: mockDocument } as unknown) as Window;

safeMount(
render(
<WindowProvider window={mockWindow}>
<Foo />
</WindowProvider>,
Expand Down
6 changes: 0 additions & 6 deletions packages/theme/config/tests.js
Original file line number Diff line number Diff line change
@@ -1,7 +1 @@
/** Jest test setup file. */

const { configure } = require('enzyme');
const Adapter = require('enzyme-adapter-react-16');

// Configure enzyme.
configure({ adapter: new Adapter() });
66 changes: 35 additions & 31 deletions scripts/jest/jest-resources.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,45 +42,49 @@ module.exports = {
testRegex: '(/__tests__/.*|\\.(test|spec))\\.js$',
}),
jestAliases,
createConfig: customConfig =>
merge(
{
moduleNameMapper: {
'ts-jest': resolve.sync('ts-jest'),
'\\.(scss)$': path.resolve(__dirname, 'jest-style-mock.js'),
KeyCodes: path.resolve(__dirname, 'jest-mock.js'),
...jestAliases(),
},
/**
* @param {Partial<import('@jest/types').Config.InitialOptions>} [customConfig]
*/
createConfig: (customConfig = {}) => {
/** @type {import('@jest/types').Config.InitialOptions} */
const defaultConfig = {
moduleNameMapper: {
'ts-jest': resolve.sync('ts-jest'),
'\\.(scss)$': path.resolve(__dirname, 'jest-style-mock.js'),
KeyCodes: path.resolve(__dirname, 'jest-mock.js'),
...jestAliases(),
},

transform: {
'.(ts|tsx)': resolve.sync('ts-jest/dist'),
},
transform: {
'.(ts|tsx)': resolve.sync('ts-jest/dist'),
},

transformIgnorePatterns: ['/node_modules/', '/lib-commonjs/', '\\.js$'],
transformIgnorePatterns: ['/node_modules/', '/lib-commonjs/', '\\.js$'],

reporters: [path.resolve(__dirname, './jest-reporter.js')],
reporters: [path.resolve(__dirname, './jest-reporter.js')],

testRegex: '(/__tests__/.*|\\.(test|spec))\\.(ts|tsx)$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
testRegex: '(/__tests__/.*|\\.(test|spec))\\.(ts|tsx)$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],

setupFiles: [path.resolve(__dirname, 'jest-setup.js')],
setupFiles: [path.resolve(__dirname, 'jest-setup.js')],

moduleDirectories: [
'node_modules',
path.resolve(packageRoot, 'node_modules'),
path.resolve(__dirname, '../node_modules'),
],
moduleDirectories: [
'node_modules',
path.resolve(packageRoot, 'node_modules'),
path.resolve(__dirname, '../node_modules'),
],

globals: {
'ts-jest': {
diagnostics: false,
},
globals: {
'ts-jest': {
diagnostics: false,
},
},

testURL: 'http://localhost',
testURL: 'http://localhost',

watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'],
},
customConfig,
),
watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'],
};

return merge(defaultConfig, customConfig);
},
};
2 changes: 2 additions & 0 deletions scripts/jest/jest-setup.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
// @ts-check

// Jest setup file for all v8 packages

// Mock requestAnimationFrame and cancelAnimationFrame for all packages
// @ts-ignore
global.requestAnimationFrame = callback => {
Expand Down
4 changes: 1 addition & 3 deletions scripts/jest/setupTests.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
/**
* Setup
* Setup for northstar/v0 packages (under packages/fluentui).
* This is the bootstrap code that is run before any tests, utils, mocks.
*/

/* eslint-disable no-console */

const enzyme = require('enzyme');
const Adapter = require('enzyme-adapter-react-16');

Expand Down

0 comments on commit 4bd9ec6

Please sign in to comment.