diff --git a/packages/react/package.json b/packages/react/package.json
index 924ff23d..f9bdb32c 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -35,8 +35,6 @@
"typecheck": "tsc --noemit -p tsconfig.json"
},
"dependencies": {
- "@oxygen-ui/react-icons": "*",
- "@oxygen-ui/primitives": "*",
"@emotion/react": "^11.10.5",
"@emotion/styled": "^11.10.5",
"@mui/icons-material": "^5.10.16",
@@ -44,6 +42,8 @@
"@mui/material": "^5.10.16",
"@mui/system": "^5.10.16",
"@mui/utils": "^5.10.16",
+ "@oxygen-ui/primitives": "*",
+ "@oxygen-ui/react-icons": "*",
"clsx": "^1.2.1"
},
"devDependencies": {
@@ -71,6 +71,7 @@
"@types/node": "^18.11.18",
"@types/react": "^18.0.25",
"@types/react-dom": "^18.0.9",
+ "@types/testing-library__jest-dom": "^5.14.5",
"@wso2/eslint-plugin": "https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?b46eeeeaa9365277e46aa3b3b6dee339a78f4b3e",
"@wso2/prettier-config": "https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/prettier-config?b46eeeeaa9365277e46aa3b3b6dee339a78f4b3e",
"babel-jest": "^29.3.1",
diff --git a/packages/react/src/components/Button/__tests__/Button.test.tsx b/packages/react/src/components/Button/__tests__/Button.test.tsx
index fe789818..94afacba 100644
--- a/packages/react/src/components/Button/__tests__/Button.test.tsx
+++ b/packages/react/src/components/Button/__tests__/Button.test.tsx
@@ -16,8 +16,8 @@
* under the License.
*/
-import React from 'react';
-import {render} from '@unit-testing';
+import React, {MouseEventHandler} from 'react';
+import {fireEvent, render, screen} from '@unit-testing';
import Button from '../Button';
describe('Button', () => {
@@ -30,4 +30,18 @@ describe('Button', () => {
const {baseElement} = render();
expect(baseElement).toMatchSnapshot();
});
+
+ it('should render text correctly', () => {
+ render();
+ const element: HTMLButtonElement = screen.getByText('Oxygen UI Button');
+ expect(element).toHaveTextContent('Oxygen UI Button');
+ });
+
+ it('should should handle onClick event', () => {
+ const onClick: MouseEventHandler = jest.fn();
+ render();
+ const element: HTMLButtonElement = screen.getByText('Oxygen UI Button');
+ fireEvent.click(element);
+ expect(onClick).toHaveBeenCalledTimes(1);
+ });
});
diff --git a/packages/react/tsconfig.spec.json b/packages/react/tsconfig.spec.json
index 75d6a86c..8595ac6e 100644
--- a/packages/react/tsconfig.spec.json
+++ b/packages/react/tsconfig.spec.json
@@ -3,7 +3,7 @@
"compilerOptions": {
"outDir": "dist",
"module": "commonjs",
- "types": ["jest", "node"]
+ "types": ["jest", "node", "@testing-library/jest-dom"]
},
"include": [
"test-configs",