From 6da132ad1cc32af945c6fa1bcd70a95d0ca935b0 Mon Sep 17 00:00:00 2001 From: Austin Green Date: Thu, 6 Dec 2018 14:15:43 -0800 Subject: [PATCH] feat: refactor matchExports to getExports --- package.json | 1 + packages/.template/src/index.spec.js | 8 +++++--- packages/autocomplete/src/index.spec.js | 8 +++++--- packages/avatars/src/index.spec.js | 8 +++++--- packages/breadcrumbs/src/index.spec.js | 8 +++++--- packages/buttons/src/index.spec.js | 8 +++++--- packages/checkboxes/src/index.spec.js | 8 +++++--- packages/chrome/src/index.spec.js | 8 +++++--- packages/grid/src/index.spec.js | 8 +++++--- packages/loaders/src/index.spec.js | 12 +++++------- packages/menus/src/index.spec.js | 8 +++++--- packages/modals/src/index.spec.js | 8 +++++--- packages/notifications/src/index.spec.js | 8 +++++--- packages/pagination/src/index.spec.js | 8 +++++--- packages/radios/src/index.spec.js | 8 +++++--- packages/ranges/src/index.spec.js | 8 +++++--- packages/select/src/index.spec.js | 8 +++++--- packages/selection/src/index.spec.js | 8 +++++--- packages/tables/src/index.spec.js | 8 +++++--- packages/tabs/src/index.spec.js | 8 +++++--- packages/tags/src/index.spec.js | 8 +++++--- packages/testing/src/index.js | 2 +- packages/testing/src/index.spec.js | 8 +++++--- packages/testing/src/utils/getExports.example.md | 16 ++++++++++++++++ .../src/utils/{matchExports.js => getExports.js} | 12 ++++-------- .../testing/src/utils/matchExports.example.md | 14 -------------- packages/textfields/src/index.spec.js | 8 +++++--- packages/theming/src/index.spec.js | 8 +++++--- packages/toggles/src/index.spec.js | 8 +++++--- packages/tooltips/src/index.spec.js | 9 +++++---- packages/typography/src/index.spec.js | 8 +++++--- packages/utilities/src/index.spec.js | 8 +++++--- utils/test/jest.setup.js | 3 +++ yarn.lock | 16 +++++++++++++++- 34 files changed, 175 insertions(+), 110 deletions(-) create mode 100644 packages/testing/src/utils/getExports.example.md rename packages/testing/src/utils/{matchExports.js => getExports.js} (79%) delete mode 100644 packages/testing/src/utils/matchExports.example.md diff --git a/package.json b/package.json index aa4b6ca05b2..5ace733d503 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@babel/core": "7.2.0", "@babel/plugin-proposal-class-properties": "7.2.0", "@babel/plugin-transform-object-assign": "7.2.0", + "@babel/polyfill": "7.0.0", "@babel/preset-env": "7.2.0", "@babel/preset-react": "7.0.0", "@svgr/webpack": "4.1.0", diff --git a/packages/.template/src/index.spec.js b/packages/.template/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/.template/src/index.spec.js +++ b/packages/.template/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/autocomplete/src/index.spec.js b/packages/autocomplete/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/autocomplete/src/index.spec.js +++ b/packages/autocomplete/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/avatars/src/index.spec.js b/packages/avatars/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/avatars/src/index.spec.js +++ b/packages/avatars/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/breadcrumbs/src/index.spec.js b/packages/breadcrumbs/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/breadcrumbs/src/index.spec.js +++ b/packages/breadcrumbs/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/buttons/src/index.spec.js b/packages/buttons/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/buttons/src/index.spec.js +++ b/packages/buttons/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/checkboxes/src/index.spec.js b/packages/checkboxes/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/checkboxes/src/index.spec.js +++ b/packages/checkboxes/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/chrome/src/index.spec.js b/packages/chrome/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/chrome/src/index.spec.js +++ b/packages/chrome/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/grid/src/index.spec.js b/packages/grid/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/grid/src/index.spec.js +++ b/packages/grid/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/loaders/src/index.spec.js b/packages/loaders/src/index.spec.js index ec2acb847cf..ac76320435b 100644 --- a/packages/loaders/src/index.spec.js +++ b/packages/loaders/src/index.spec.js @@ -5,15 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ - globPath: '[A-Z]!(*.spec).js', - cwd: __dirname, - keys: Object.keys(rootIndex).sort() - }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname, globPath: '[A-Z]!(*.spec).js' }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/menus/src/index.spec.js b/packages/menus/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/menus/src/index.spec.js +++ b/packages/menus/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/modals/src/index.spec.js b/packages/modals/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/modals/src/index.spec.js +++ b/packages/modals/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/notifications/src/index.spec.js b/packages/notifications/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/notifications/src/index.spec.js +++ b/packages/notifications/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/pagination/src/index.spec.js b/packages/pagination/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/pagination/src/index.spec.js +++ b/packages/pagination/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/radios/src/index.spec.js b/packages/radios/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/radios/src/index.spec.js +++ b/packages/radios/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/ranges/src/index.spec.js b/packages/ranges/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/ranges/src/index.spec.js +++ b/packages/ranges/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/select/src/index.spec.js b/packages/select/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/select/src/index.spec.js +++ b/packages/select/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/selection/src/index.spec.js b/packages/selection/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/selection/src/index.spec.js +++ b/packages/selection/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/tables/src/index.spec.js b/packages/tables/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/tables/src/index.spec.js +++ b/packages/tables/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/tabs/src/index.spec.js b/packages/tabs/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/tabs/src/index.spec.js +++ b/packages/tabs/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/tags/src/index.spec.js b/packages/tags/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/tags/src/index.spec.js +++ b/packages/tags/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/testing/src/index.js b/packages/testing/src/index.js index afe73ca7413..1d96916da82 100644 --- a/packages/testing/src/index.js +++ b/packages/testing/src/index.js @@ -8,4 +8,4 @@ export { default as mountWithTheme } from './utils/mountWithTheme.js'; export { default as renderWithTheme } from './utils/renderWithTheme.js'; export { default as shallowWithTheme } from './utils/shallowWithTheme.js'; -export { default as matchExports } from './utils/matchExports.js'; +export { default as getExports } from './utils/getExports.js'; diff --git a/packages/testing/src/index.spec.js b/packages/testing/src/index.spec.js index 1daa0a382f2..814424e2963 100644 --- a/packages/testing/src/index.spec.js +++ b/packages/testing/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import matchExports from './utils/matchExports'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/testing/src/utils/getExports.example.md b/packages/testing/src/utils/getExports.example.md new file mode 100644 index 00000000000..66126f94ef1 --- /dev/null +++ b/packages/testing/src/utils/getExports.example.md @@ -0,0 +1,16 @@ +Signature: + +- `getExports({ globPath: string, cwd: string, fileMapper: function })` + +```jsx static +import { getExports } from '@zendeskgarden/react-testing'; +import * as rootIndex from './'; + +describe('Index', () => { + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); + }); +}); +``` diff --git a/packages/testing/src/utils/matchExports.js b/packages/testing/src/utils/getExports.js similarity index 79% rename from packages/testing/src/utils/matchExports.js rename to packages/testing/src/utils/getExports.js index 7fd36a8aaf5..c1e8a2a565d 100644 --- a/packages/testing/src/utils/matchExports.js +++ b/packages/testing/src/utils/getExports.js @@ -23,13 +23,12 @@ function defaultFileMapper(files) { } /** - * matchExports + * getExports * @param {*} options */ -function matchExports({ +function getExports({ globPath = '**/!(index|*.spec).js', cwd, - keys, fileMapper = defaultFileMapper } = {}) { return new Promise((resolve, reject) => { @@ -38,12 +37,9 @@ function matchExports({ reject(error); } - const mappedFiles = fileMapper(files); - - expect(keys).toEqual(mappedFiles); - resolve(); + resolve(fileMapper(files)); }); }); } -export default matchExports; +export default getExports; diff --git a/packages/testing/src/utils/matchExports.example.md b/packages/testing/src/utils/matchExports.example.md deleted file mode 100644 index 84622602172..00000000000 --- a/packages/testing/src/utils/matchExports.example.md +++ /dev/null @@ -1,14 +0,0 @@ -Signature: - -- `matchExports({ globPath: string, cwd: string, keys: Array, fileMapper: function })` - -```jsx static -import matchExports from './utils/matchExports'; -import * as rootIndex from './'; - -describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); - }); -}); -``` diff --git a/packages/textfields/src/index.spec.js b/packages/textfields/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/textfields/src/index.spec.js +++ b/packages/textfields/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/theming/src/index.spec.js b/packages/theming/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/theming/src/index.spec.js +++ b/packages/theming/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/toggles/src/index.spec.js b/packages/toggles/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/toggles/src/index.spec.js +++ b/packages/toggles/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/tooltips/src/index.spec.js b/packages/tooltips/src/index.spec.js index d38fca6b8ae..9dce196139b 100644 --- a/packages/tooltips/src/index.spec.js +++ b/packages/tooltips/src/index.spec.js @@ -5,16 +5,15 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; import * as gardenPlacements from './utils/gardenPlacements'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ + it('exports all components and utilities', async () => { + const exports = await getExports({ globPath: '**/[A-Z]!(*.spec).js', cwd: __dirname, - keys: Object.keys(rootIndex).sort(), fileMapper: files => { return files .map(entry => @@ -27,5 +26,7 @@ describe('Index', () => { .sort(); } }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/typography/src/index.spec.js b/packages/typography/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/typography/src/index.spec.js +++ b/packages/typography/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/packages/utilities/src/index.spec.js b/packages/utilities/src/index.spec.js index 16b7080b7b0..814424e2963 100644 --- a/packages/utilities/src/index.spec.js +++ b/packages/utilities/src/index.spec.js @@ -5,11 +5,13 @@ * found at http://www.apache.org/licenses/LICENSE-2.0. */ -import { matchExports } from '@zendeskgarden/react-testing'; +import { getExports } from '@zendeskgarden/react-testing'; import * as rootIndex from './'; describe('Index', () => { - it('exports all components and utilities', () => { - return matchExports({ cwd: __dirname, keys: Object.keys(rootIndex).sort() }); + it('exports all components and utilities', async () => { + const exports = await getExports({ cwd: __dirname }); + + expect(Object.keys(rootIndex).sort()).toEqual(exports); }); }); diff --git a/utils/test/jest.setup.js b/utils/test/jest.setup.js index 8550ca023a6..44625d331e9 100644 --- a/utils/test/jest.setup.js +++ b/utils/test/jest.setup.js @@ -15,3 +15,6 @@ import 'jest-styled-components'; import Adapter from 'enzyme-adapter-react-16'; import Enzyme from 'enzyme'; Enzyme.configure({ adapter: new Adapter() }); + +// Enable async/await +import '@babel/polyfill'; diff --git a/yarn.lock b/yarn.lock index d5082e6e4bf..081f5012c79 100644 --- a/yarn.lock +++ b/yarn.lock @@ -662,6 +662,14 @@ "@babel/helper-regex" "^7.0.0" regexpu-core "^4.1.3" +"@babel/polyfill@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.0.0.tgz#c8ff65c9ec3be6a1ba10113ebd40e8750fb90bff" + integrity sha512-dnrMRkyyr74CRelJwvgnnSUDh2ge2NCTyHVwpOdvRMHtJUyxLtMAfhBN3s64pY41zdw0kgiLPh6S20eb1NcX6Q== + dependencies: + core-js "^2.5.7" + regenerator-runtime "^0.11.1" + "@babel/preset-env@7.2.0", "@babel/preset-env@^7.1.6": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.2.0.tgz#a5030e7e4306af5a295dd5d7c78dc5464af3fee2" @@ -3376,6 +3384,11 @@ core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" +core-js@^2.5.7: + version "2.6.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.0.tgz#1e30793e9ee5782b307e37ffa22da0eacddd84d4" + integrity sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw== + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -9675,8 +9688,9 @@ regenerate@^1.2.1, regenerate@^1.4.0: regenerator-runtime@0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.1.tgz#522ea2aafd9200a00eee143dc14219a35a0f3991" + integrity sha512-5KzMIyPLvfdPmvsdlYsHqITrDfK9k7bmvf97HvHSN4810i254ponbxCQ1NukpRWlu6en2MBWzAlhDExEKISwAA== -regenerator-runtime@^0.11.0: +regenerator-runtime@^0.11.0, regenerator-runtime@^0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==