diff --git a/change/@fluentui-react-button-2020-06-18-14-00-55-react-button-conformance.json b/change/@fluentui-react-button-2020-06-18-14-00-55-react-button-conformance.json new file mode 100644 index 0000000000000..28942b0008405 --- /dev/null +++ b/change/@fluentui-react-button-2020-06-18-14-00-55-react-button-conformance.json @@ -0,0 +1,8 @@ +{ + "type": "none", + "comment": "Adding conformance test to components.", + "packageName": "@fluentui/react-button", + "email": "esteban.230@hotmail.com", + "dependentChangeType": "none", + "date": "2020-06-18T20:00:55.137Z" +} diff --git a/packages/react-button/config/tests.js b/packages/react-button/config/tests.js new file mode 100644 index 0000000000000..981841f84e03f --- /dev/null +++ b/packages/react-button/config/tests.js @@ -0,0 +1,11 @@ +/** 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() }); diff --git a/packages/react-button/jest.config.js b/packages/react-button/jest.config.js new file mode 100644 index 0000000000000..536336aad9d1d --- /dev/null +++ b/packages/react-button/jest.config.js @@ -0,0 +1,13 @@ +const { createConfig } = require('@uifabric/build/jest/jest-resources'); +const path = require('path'); + +const config = createConfig({ + setupFiles: [path.resolve(path.join(__dirname, 'config', 'tests.js'))], + + moduleNameMapper: { + '@fluentui/react-conformance/lib/(.*)$': '@fluentui/react-conformance/lib-commonjs/$1', + '@fluentui/react-conformance$': '@fluentui/react-conformance/lib-commonjs/index', + }, +}); + +module.exports = config; diff --git a/packages/react-button/package.json b/packages/react-button/package.json index 8adb9203ae412..b06ddceab1380 100644 --- a/packages/react-button/package.json +++ b/packages/react-button/package.json @@ -33,6 +33,7 @@ "@types/react-dom": "16.8.4", "@types/react-test-renderer": "^16.0.0", "@types/webpack-env": "1.15.1", + "@fluentui/react-conformance": "^0.1.0", "@uifabric/build": "^7.0.0", "@uifabric/tslint-rules": "^7.2.1", "enzyme": "~3.10.0", diff --git a/packages/react-button/src/components/Button/Button.test.tsx b/packages/react-button/src/components/Button/Button.test.tsx new file mode 100644 index 0000000000000..8177bc8d135eb --- /dev/null +++ b/packages/react-button/src/components/Button/Button.test.tsx @@ -0,0 +1,12 @@ +import * as path from 'path'; +import { isConformant } from '@fluentui/react-conformance'; +import { Button } from './Button'; + +describe('Button', () => { + isConformant({ + componentPath: path.join(__dirname, 'Button.tsx'), + Component: Button, + displayName: 'Button', + disabledTests: ['has-docblock'], + }); +}); diff --git a/packages/react-button/src/components/ToggleButton/ToggleButton.test.tsx b/packages/react-button/src/components/ToggleButton/ToggleButton.test.tsx new file mode 100644 index 0000000000000..9e68526705e27 --- /dev/null +++ b/packages/react-button/src/components/ToggleButton/ToggleButton.test.tsx @@ -0,0 +1,12 @@ +import * as path from 'path'; +import { isConformant } from '@fluentui/react-conformance'; +import { ToggleButton } from './ToggleButton'; + +describe('ToggleButton', () => { + isConformant({ + componentPath: path.join(__dirname, 'ToggleButton.tsx'), + Component: ToggleButton, + displayName: 'ToggleButton', + disabledTests: ['has-docblock'], + }); +});