Skip to content

Commit

Permalink
chore(react-menu): implement in memory test execution
Browse files Browse the repository at this point in the history
  • Loading branch information
Hotell committed Feb 25, 2021
1 parent c602472 commit 7eff35a
Show file tree
Hide file tree
Showing 12 changed files with 87 additions and 22 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ coverage
dist
dist-storybook
screenshots
.cache

*.tar.gz

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "none",
"comment": "chore(react-menu): implement in memory test exection",
"packageName": "@fluentui/react-menu",
"email": "[email protected]",
"dependentChangeType": "none"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "none",
"comment": "chore: remove deep imports",
"packageName": "@fluentui/react-utilities",
"email": "[email protected]",
"dependentChangeType": "none"
}
3 changes: 3 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
projects: ['<rootDir>/packages/react-menu'],
};
28 changes: 28 additions & 0 deletions jest.preset.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// @ts-check

const path = require('path');
const { pathsToModuleNameMapper } = require('ts-jest/utils');

const tsConfig = require('./tsconfig.base.json');

const tsPathAliases = pathsToModuleNameMapper(tsConfig.compilerOptions.paths, {
prefix: `<rootDir>/${path.relative(process.cwd(), __dirname)}/`,
});

/**
* @type {jest.InitialOptions}
*/
const baseConfig = {
transform: {
'^.+\\.ts$': 'ts-jest',
},
testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'],
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
testPathIgnorePatterns: ['/node_modules/', '/lib/', '/lib-commonjs/'],
moduleNameMapper: { ...tsPathAliases },
cacheDirectory: '<rootDir>/.cache/jest',
clearMocks: true,
watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'],
};

module.exports = { ...baseConfig };
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@
"postcss-loader": "4.1.0",
"postcss-modules": "2.0.0",
"ts-loader": "8.0.14",
"ts-jest": "24.0.1",
"ts-jest": "24.3.0",
"typescript": "3.7.2",
"webpack-dev-server": "4.0.0-beta.0",
"webpack-cli": "4.3.1",
Expand Down
27 changes: 18 additions & 9 deletions packages/react-menu/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
const { createConfig, resolveMergeStylesSerializer } = require('@fluentui/scripts/jest/jest-resources');
const path = require('path');

const config = createConfig({
setupFiles: [path.resolve(path.join(__dirname, 'config', 'tests.js'))],
snapshotSerializers: [resolveMergeStylesSerializer()],
});

module.exports = config;
/**
* @type {jest.InitialOptions}
*/
module.exports = {
displayName: 'react-menu',
preset: '../../jest.preset.js',
globals: {
'ts-jest': {
tsConfig: '<rootDir>/tsconfig.json',
diagnostics: false,
},
},
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
coverageDirectory: '../../coverage/packages/react-button',
setupFilesAfterEnv: ['./config/tests.js'],
};
6 changes: 3 additions & 3 deletions packages/react-menu/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
"just": "just-scripts",
"lint": "just-scripts lint",
"start": "just-scripts dev:storybook",
"start-test": "just-scripts jest-watch",
"test": "just-scripts test",
"update-snapshots": "just-scripts jest -u"
"start-test": "echo \"This is DEPRECATED instead use 'test --watch'\" && just-scripts jest-watch",
"test": "jest",
"update-snapshots": "echo \"This is DEPRECATED instead use 'test -u'\" && just-scripts jest -u"
},
"devDependencies": {
"@fluentui/eslint-plugin": "^1.0.0-beta.2",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-menu/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
"preserveConstEnums": true,
"types": ["jest", "custom-global"]
},
"include": ["src"]
"include": ["src/**/*.ts", "src/**/*.tsx"]
}
2 changes: 1 addition & 1 deletion packages/react-utilities/src/hooks/useId.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as React from 'react';
import { getId } from '@fluentui/utilities/lib/getId';
import { getId } from '@fluentui/utilities';

/**
* Hook to generate a unique ID in the global scope (spanning across duplicate copies of the same library).
Expand Down
13 changes: 11 additions & 2 deletions tsconfig.base.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,18 @@
"@fluentui/react-conformance": ["packages/react-conformance/src/index.ts"],
"@fluentui/react-utilities": ["packages/react-utilities/src/index.ts"],
"@fluentui/react-make-styles": ["packages/react-make-styles/src/index.ts"],
"@fluentui/make-styles": ["packages/make-styles/src/index.ts"],
"@fluentui/react-provider": ["packages/react-provider/src/index.ts"],
"@fluentui/react-theme": ["packages/react-theme/src/index.ts"],
"@fluentui/react-theme-provider": ["packages/react-theme-provider/src/index.ts"],
"@fluentui/keyboard-key": ["packages/keyboard-key/src/index.ts"],
"@fluentui/react-menu": ["packages/react-menu/src/index.ts"],
"@fluentui/react-focus-management": ["packages/react-focus-management/src/index.ts"]
"@fluentui/utilities": ["packages/utilities/src/index.ts"],
"@fluentui/merge-styles": ["packages/merge-styles/src/index.ts"],
"@fluentui/dom-utilities": ["packages/dom-utilities/src/index.ts"],
"@fluentui/theme": ["packages/theme/src/index.ts"],
"@fluentui/react-window-provider": ["packages/react-window-provider/src/index.ts"],
"@fluentui/react-focus-management": ["packages/react-focus-management/src/index.ts"],
"@fluentui/react-menu": ["packages/react-menu/src/index.ts"]
}
},
"exclude": ["node_modules"]
Expand Down
11 changes: 6 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -17188,7 +17188,7 @@ lodash.keys@^4.0.8:
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205"
integrity sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU=

lodash.memoize@^4.1.2:
lodash.memoize@4.x, lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
Expand Down Expand Up @@ -25241,15 +25241,16 @@ ts-essentials@^2.0.3:
resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745"
integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==

ts-jest@24.0.1:
version "24.0.1"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.1.tgz#77258061cc354c3fa8616b8ac03baa0f8580f854"
integrity sha512-mgNZmYPuGBNgYpUzchI7vdSr6zATQI0TrSyzREnXHuPCvlW8T1DQ/fdscgx4ivS5vAMUGUaoxGdWIVHC5I8imw==
ts-jest@24.3.0:
version "24.3.0"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.3.0.tgz#b97814e3eab359ea840a1ac112deae68aa440869"
integrity sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ==
dependencies:
bs-logger "0.x"
buffer-from "1.x"
fast-json-stable-stringify "2.x"
json5 "2.x"
lodash.memoize "4.x"
make-error "1.x"
mkdirp "0.x"
resolve "1.x"
Expand Down

0 comments on commit 7eff35a

Please sign in to comment.