From 6f5b09d5fabccf06fbca25d8a6f507f66a5070a0 Mon Sep 17 00:00:00 2001 From: Elizabeth Craig Date: Tue, 29 Mar 2022 16:31:22 -0700 Subject: [PATCH 1/2] Remove enzyme test setup code from converged packages --- packages/priority-overflow/config/tests.js | 6 ----- packages/react-accordion/config/tests.js | 6 ----- packages/react-aria/config/tests.js | 6 ----- packages/react-avatar/config/tests.js | 6 ----- packages/react-badge/config/tests.js | 6 ----- packages/react-button/config/tests.js | 5 ---- packages/react-card/config/tests.js | 5 ---- packages/react-checkbox/config/tests.js | 6 ----- packages/react-combobox/config/tests.js | 6 ----- packages/react-dialog/config/tests.js | 6 ----- packages/react-divider/config/tests.js | 6 ----- packages/react-image/config/tests.js | 5 ---- packages/react-input/config/tests.js | 6 ----- packages/react-label/config/tests.js | 6 ----- packages/react-link/config/tests.js | 6 ----- packages/react-menu/config/tests.js | 6 ----- packages/react-popover/config/tests.js | 6 ----- packages/react-portal/config/tests.js | 6 ----- packages/react-provider/config/tests.js | 6 ----- packages/react-radio/config/tests.js | 6 ----- packages/react-select/config/tests.js | 6 ----- .../react-shared-contexts/config/tests.js | 5 ---- packages/react-slider/config/tests.js | 6 ----- packages/react-spinbutton/config/tests.js | 6 ----- packages/react-spinner/config/tests.js | 6 ----- packages/react-switch/config/tests.js | 6 ----- packages/react-tabs/config/tests.js | 6 ----- packages/react-text/config/tests.js | 6 ----- packages/react-textarea/config/tests.js | 6 ----- packages/react-theme/config/tests.js | 6 ----- packages/react-toolbar/config/tests.js | 6 ----- packages/react-tooltip/config/tests.js | 6 ----- packages/react-utilities/config/tests.js | 6 ----- scripts/beachball/.beachballrc.base.json | 1 + .../plop-templates-react/config/tests.js | 6 ----- .../migrate-converged-pkg/index.spec.ts | 26 ++----------------- .../generators/migrate-converged-pkg/index.ts | 14 +++++++++- 37 files changed, 16 insertions(+), 225 deletions(-) diff --git a/packages/priority-overflow/config/tests.js b/packages/priority-overflow/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/priority-overflow/config/tests.js +++ b/packages/priority-overflow/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-accordion/config/tests.js b/packages/react-accordion/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-accordion/config/tests.js +++ b/packages/react-accordion/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-aria/config/tests.js b/packages/react-aria/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-aria/config/tests.js +++ b/packages/react-aria/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-avatar/config/tests.js b/packages/react-avatar/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-avatar/config/tests.js +++ b/packages/react-avatar/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-badge/config/tests.js b/packages/react-badge/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-badge/config/tests.js +++ b/packages/react-badge/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-button/config/tests.js b/packages/react-button/config/tests.js index 9d42be853e4657..2e211ae9e21420 100644 --- a/packages/react-button/config/tests.js +++ b/packages/react-button/config/tests.js @@ -1,6 +1 @@ /** Jest test setup file. */ -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-card/config/tests.js b/packages/react-card/config/tests.js index 9d42be853e4657..2e211ae9e21420 100644 --- a/packages/react-card/config/tests.js +++ b/packages/react-card/config/tests.js @@ -1,6 +1 @@ /** Jest test setup file. */ -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-checkbox/config/tests.js b/packages/react-checkbox/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-checkbox/config/tests.js +++ b/packages/react-checkbox/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-combobox/config/tests.js b/packages/react-combobox/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-combobox/config/tests.js +++ b/packages/react-combobox/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-dialog/config/tests.js b/packages/react-dialog/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-dialog/config/tests.js +++ b/packages/react-dialog/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-divider/config/tests.js b/packages/react-divider/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-divider/config/tests.js +++ b/packages/react-divider/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-image/config/tests.js b/packages/react-image/config/tests.js index 9d42be853e4657..2e211ae9e21420 100644 --- a/packages/react-image/config/tests.js +++ b/packages/react-image/config/tests.js @@ -1,6 +1 @@ /** Jest test setup file. */ -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-input/config/tests.js b/packages/react-input/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-input/config/tests.js +++ b/packages/react-input/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-label/config/tests.js b/packages/react-label/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-label/config/tests.js +++ b/packages/react-label/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-link/config/tests.js b/packages/react-link/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-link/config/tests.js +++ b/packages/react-link/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-menu/config/tests.js b/packages/react-menu/config/tests.js index 191015c9f4a2d0..c6c67de97059e8 100644 --- a/packages/react-menu/config/tests.js +++ b/packages/react-menu/config/tests.js @@ -1,9 +1,3 @@ /** Jest test setup file. */ require('@testing-library/jest-dom'); - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-popover/config/tests.js b/packages/react-popover/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-popover/config/tests.js +++ b/packages/react-popover/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-portal/config/tests.js b/packages/react-portal/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-portal/config/tests.js +++ b/packages/react-portal/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-provider/config/tests.js b/packages/react-provider/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-provider/config/tests.js +++ b/packages/react-provider/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-radio/config/tests.js b/packages/react-radio/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-radio/config/tests.js +++ b/packages/react-radio/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-select/config/tests.js b/packages/react-select/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-select/config/tests.js +++ b/packages/react-select/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-shared-contexts/config/tests.js b/packages/react-shared-contexts/config/tests.js index 9d42be853e4657..2e211ae9e21420 100644 --- a/packages/react-shared-contexts/config/tests.js +++ b/packages/react-shared-contexts/config/tests.js @@ -1,6 +1 @@ /** Jest test setup file. */ -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-slider/config/tests.js b/packages/react-slider/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-slider/config/tests.js +++ b/packages/react-slider/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-spinbutton/config/tests.js b/packages/react-spinbutton/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-spinbutton/config/tests.js +++ b/packages/react-spinbutton/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-spinner/config/tests.js b/packages/react-spinner/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-spinner/config/tests.js +++ b/packages/react-spinner/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-switch/config/tests.js b/packages/react-switch/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-switch/config/tests.js +++ b/packages/react-switch/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-tabs/config/tests.js b/packages/react-tabs/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-tabs/config/tests.js +++ b/packages/react-tabs/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-text/config/tests.js b/packages/react-text/config/tests.js index 191015c9f4a2d0..c6c67de97059e8 100644 --- a/packages/react-text/config/tests.js +++ b/packages/react-text/config/tests.js @@ -1,9 +1,3 @@ /** Jest test setup file. */ require('@testing-library/jest-dom'); - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-textarea/config/tests.js b/packages/react-textarea/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-textarea/config/tests.js +++ b/packages/react-textarea/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-theme/config/tests.js b/packages/react-theme/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-theme/config/tests.js +++ b/packages/react-theme/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-toolbar/config/tests.js b/packages/react-toolbar/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-toolbar/config/tests.js +++ b/packages/react-toolbar/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-tooltip/config/tests.js b/packages/react-tooltip/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-tooltip/config/tests.js +++ b/packages/react-tooltip/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/packages/react-utilities/config/tests.js b/packages/react-utilities/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/packages/react-utilities/config/tests.js +++ b/packages/react-utilities/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/scripts/beachball/.beachballrc.base.json b/scripts/beachball/.beachballrc.base.json index 4e5bbf9fdcc021..264258512b8147 100644 --- a/scripts/beachball/.beachballrc.base.json +++ b/scripts/beachball/.beachballrc.base.json @@ -10,6 +10,7 @@ "**/__fixtures__/**", "**/__mocks__/**", "**/common/isConformant.ts", + "**/config/tests.js", "**/jest.config.js", "**/SPEC*.md", "**/tests/**" diff --git a/scripts/create-package/plop-templates-react/config/tests.js b/scripts/create-package/plop-templates-react/config/tests.js index 3882d3702ddc99..2e211ae9e21420 100644 --- a/scripts/create-package/plop-templates-react/config/tests.js +++ b/scripts/create-package/plop-templates-react/config/tests.js @@ -1,7 +1 @@ /** Jest test setup file. */ - -const { configure } = require('enzyme'); -const Adapter = require('enzyme-adapter-react-16'); - -// Configure enzyme. -configure({ adapter: new Adapter() }); diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index 3b6ccd9f975328..2c24e71933c584 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -444,28 +444,12 @@ describe('migrate-converged-pkg generator', () => { } let content = getJestSetupFile(); - expect(content).toMatchInlineSnapshot(` - "/** Jest test setup file. */ - - const { configure } = require('enzyme'); - const Adapter = require('enzyme-adapter-react-16'); - - // Configure enzyme. - configure({ adapter: new Adapter() });" - `); + expect(content).toMatchInlineSnapshot(`"/** Jest test setup file. */"`); await generator(tree, options); content = getJestSetupFile(); - expect(content).toMatchInlineSnapshot(` - "/** Jest test setup file. */ - - const { configure } = require('enzyme'); - const Adapter = require('enzyme-adapter-react-16'); - - // Configure enzyme. - configure({ adapter: new Adapter() });" - `); + expect(content).toMatchInlineSnapshot(`"/** Jest test setup file. */"`); tree.delete(jestSetupFilePath); expect(tree.exists(jestSetupFilePath)).toBeFalsy(); @@ -1242,12 +1226,6 @@ function setupDummyPackage( `, jestSetupFile: stripIndents` /** Jest test setup file. */ - - const { configure } = require('enzyme'); - const Adapter = require('enzyme-adapter-react-16'); - - // Configure enzyme. - configure({ adapter: new Adapter() }); `, npmConfig: stripIndents` *.api.json diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index bf1c189ee3dbf9..1e26aa57fdce1e 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -753,7 +753,19 @@ function updateLocalJestConfig(tree: Tree, options: NormalizedSchema) { tree.write(options.paths.jestConfig, templates.jest(config)); - if (!tree.exists(jestSetupFilePath)) { + if (tree.exists(jestSetupFilePath)) { + const content = tree.read(jestSetupFilePath)!.toString('utf-8'); + const newContent = content.replace( + stripIndents`const { configure } = require('enzyme'); + const Adapter = require('enzyme-adapter-react-16'); + + // Configure enzyme. + configure({ adapter: new Adapter() });" + `, + '', + ); + tree.write(jestSetupFilePath, newContent); + } else { tree.write(jestSetupFilePath, templates.jestSetup); } From f22b93d10f31850b803c1e2f32c2e2bee5cb01f4 Mon Sep 17 00:00:00 2001 From: Elizabeth Craig Date: Wed, 6 Apr 2022 19:00:30 -0700 Subject: [PATCH 2/2] revert generator and update test --- .../generators/migrate-converged-pkg/index.spec.ts | 12 ++---------- tools/generators/migrate-converged-pkg/index.ts | 14 +------------- 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/tools/generators/migrate-converged-pkg/index.spec.ts b/tools/generators/migrate-converged-pkg/index.spec.ts index 2c24e71933c584..a6ebd52b637180 100644 --- a/tools/generators/migrate-converged-pkg/index.spec.ts +++ b/tools/generators/migrate-converged-pkg/index.spec.ts @@ -443,21 +443,13 @@ describe('migrate-converged-pkg generator', () => { return tree.read(jestSetupFilePath)?.toString('utf-8'); } - let content = getJestSetupFile(); - expect(content).toMatchInlineSnapshot(`"/** Jest test setup file. */"`); - - await generator(tree, options); - - content = getJestSetupFile(); - expect(content).toMatchInlineSnapshot(`"/** Jest test setup file. */"`); - tree.delete(jestSetupFilePath); expect(tree.exists(jestSetupFilePath)).toBeFalsy(); await generator(tree, options); - content = getJestSetupFile(); - expect(content).toMatchInlineSnapshot(`"/** Jest test setup file. */"`); + expect(tree.exists(jestSetupFilePath)).toBeTruthy(); + expect(getJestSetupFile()).toMatchInlineSnapshot(`"/** Jest test setup file. */"`); }); }); diff --git a/tools/generators/migrate-converged-pkg/index.ts b/tools/generators/migrate-converged-pkg/index.ts index 1e26aa57fdce1e..bf1c189ee3dbf9 100644 --- a/tools/generators/migrate-converged-pkg/index.ts +++ b/tools/generators/migrate-converged-pkg/index.ts @@ -753,19 +753,7 @@ function updateLocalJestConfig(tree: Tree, options: NormalizedSchema) { tree.write(options.paths.jestConfig, templates.jest(config)); - if (tree.exists(jestSetupFilePath)) { - const content = tree.read(jestSetupFilePath)!.toString('utf-8'); - const newContent = content.replace( - stripIndents`const { configure } = require('enzyme'); - const Adapter = require('enzyme-adapter-react-16'); - - // Configure enzyme. - configure({ adapter: new Adapter() });" - `, - '', - ); - tree.write(jestSetupFilePath, newContent); - } else { + if (!tree.exists(jestSetupFilePath)) { tree.write(jestSetupFilePath, templates.jestSetup); }