From aa01f3618a1369669a4fde6e7eaaf22774d204b2 Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Thu, 29 May 2025 09:58:59 -0400 Subject: [PATCH 1/3] fix(deps): bump various versions --- package-lock.json | 69 ++++++++++++++++++------------------ packages/module/package.json | 8 ++--- 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/package-lock.json b/package-lock.json index 48b22cbd..bde919fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5576,9 +5576,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.22", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.22.tgz", - "integrity": "sha512-vUhG0YmQZ7kL/tmKLrD3g5zXbXXreZXB3pmROW8bg3CnLnpjkRVwUlLne7Ufa2r9yJ8+/6B73RzhAek5TBKh2Q==", + "version": "18.3.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", + "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", "dev": true, "license": "MIT", "dependencies": { @@ -5587,10 +5587,11 @@ } }, "node_modules/@types/react-dom": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", - "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "dev": true, + "license": "MIT", "peerDependencies": { "@types/react": "^18.0.0" } @@ -22279,9 +22280,9 @@ "license": "MIT" }, "node_modules/react-router": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz", - "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz", + "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==", "dev": true, "license": "MIT", "dependencies": { @@ -22295,14 +22296,14 @@ } }, "node_modules/react-router-dom": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.0.tgz", - "integrity": "sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz", + "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==", "dev": true, "license": "MIT", "dependencies": { "@remix-run/router": "1.23.0", - "react-router": "6.30.0" + "react-router": "6.30.1" }, "engines": { "node": ">=14.0.0" @@ -28778,13 +28779,13 @@ "@patternfly/patternfly": "^6.0.0", "@patternfly/patternfly-a11y": "^5.1.0", "@patternfly/react-code-editor": "^6.0.0", - "@types/react": "^18.3.21", - "@types/react-dom": "^18.3.5", + "@types/react": "^18.3.23", + "@types/react-dom": "^18.3.7", "@types/react-router-dom": "^5.3.3", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "^6.30.0", - "react-router-dom": "^6.30.0", + "react-router": "^6.30.1", + "react-router-dom": "^6.30.1", "rimraf": "^6.0.1", "typescript": "^5.4.5" }, @@ -31685,15 +31686,15 @@ "@patternfly/react-core": "^6.0.0", "@patternfly/react-icons": "^6.0.0", "@patternfly/react-table": "^6.0.0", - "@types/react": "^18.3.21", - "@types/react-dom": "^18.3.5", + "@types/react": "^18.3.23", + "@types/react-dom": "^18.3.7", "@types/react-router-dom": "^5.3.3", "clsx": "^2.1.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-jss": "^10.10.0", - "react-router": "^6.30.0", - "react-router-dom": "^6.30.0", + "react-router": "^6.30.1", + "react-router-dom": "^6.30.1", "rimraf": "^6.0.1", "typescript": "^5.4.5" } @@ -32546,9 +32547,9 @@ "dev": true }, "@types/react": { - "version": "18.3.22", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.22.tgz", - "integrity": "sha512-vUhG0YmQZ7kL/tmKLrD3g5zXbXXreZXB3pmROW8bg3CnLnpjkRVwUlLne7Ufa2r9yJ8+/6B73RzhAek5TBKh2Q==", + "version": "18.3.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", + "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", "dev": true, "requires": { "@types/prop-types": "*", @@ -32556,9 +32557,9 @@ } }, "@types/react-dom": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", - "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "dev": true, "requires": {} }, @@ -44185,22 +44186,22 @@ "dev": true }, "react-router": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz", - "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz", + "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==", "dev": true, "requires": { "@remix-run/router": "1.23.0" } }, "react-router-dom": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.0.tgz", - "integrity": "sha512-x30B78HV5tFk8ex0ITwzC9TTZMua4jGyA9IUlH1JLQYQTFyxr/ZxwOJq7evg1JX1qGVUcvhsmQSKdPncQrjTgA==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz", + "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==", "dev": true, "requires": { "@remix-run/router": "1.23.0", - "react-router": "6.30.0" + "react-router": "6.30.1" } }, "react-ssr-prepass": { diff --git a/packages/module/package.json b/packages/module/package.json index 9b9ddb23..51e495b1 100644 --- a/packages/module/package.json +++ b/packages/module/package.json @@ -47,13 +47,13 @@ "@patternfly/patternfly": "^6.0.0", "@patternfly/react-code-editor": "^6.0.0", "@patternfly/patternfly-a11y": "^5.1.0", - "@types/react": "^18.3.21", - "@types/react-dom": "^18.3.5", + "@types/react": "^18.3.23", + "@types/react-dom": "^18.3.7", "@types/react-router-dom": "^5.3.3", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-router": "^6.30.0", - "react-router-dom": "^6.30.0", + "react-router": "^6.30.1", + "react-router-dom": "^6.30.1", "rimraf": "^6.0.1", "typescript": "^5.4.5" } From 492e7e49ae3c9848e336d7102e2af66b515ea13e Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Thu, 29 May 2025 10:18:17 -0400 Subject: [PATCH 2/3] update typescript version --- package-lock.json | 16 ++++++------ packages/module/package.json | 2 +- .../DataViewFilters/DataViewFilters.test.tsx | 26 ++++++++++++++++++- .../src/DataViewFilters/DataViewFilters.tsx | 2 +- 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index bde919fe..2a06bcbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26354,9 +26354,9 @@ "license": "MIT" }, "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -28787,7 +28787,7 @@ "react-router": "^6.30.1", "react-router-dom": "^6.30.1", "rimraf": "^6.0.1", - "typescript": "^5.4.5" + "typescript": "^5.8.3" }, "peerDependencies": { "react": "^17 || ^18", @@ -31696,7 +31696,7 @@ "react-router": "^6.30.1", "react-router-dom": "^6.30.1", "rimraf": "^6.0.1", - "typescript": "^5.4.5" + "typescript": "^5.8.3" } }, "@patternfly/react-icons": { @@ -47059,9 +47059,9 @@ "dev": true }, "typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true }, "uglify-js": { diff --git a/packages/module/package.json b/packages/module/package.json index 51e495b1..29bea33d 100644 --- a/packages/module/package.json +++ b/packages/module/package.json @@ -55,6 +55,6 @@ "react-router": "^6.30.1", "react-router-dom": "^6.30.1", "rimraf": "^6.0.1", - "typescript": "^5.4.5" + "typescript": "^5.8.3" } } diff --git a/packages/module/src/DataViewFilters/DataViewFilters.test.tsx b/packages/module/src/DataViewFilters/DataViewFilters.test.tsx index 9f9cb5a9..7a9e8d70 100644 --- a/packages/module/src/DataViewFilters/DataViewFilters.test.tsx +++ b/packages/module/src/DataViewFilters/DataViewFilters.test.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { render } from '@testing-library/react'; +import { render, fireEvent } from '@testing-library/react'; import DataViewFilters from './DataViewFilters'; import DataViewToolbar from '../DataViewToolbar'; import DataViewTextFilter from '../DataViewTextFilter'; @@ -18,4 +18,28 @@ describe('DataViewFilters component', () => { />); expect(container).toMatchSnapshot(); }); + + it('should call onChange with correct key and value when filter changes', () => { + const mockOnChange = jest.fn(); + const { getByLabelText } = render( + + + + + } + /> + ); + const input = getByLabelText('One filter'); + // Simulate user typing 'abc' in the input + input.focus(); + // fireEvent.change triggers the onChange handler of the input + // The SearchInput component expects the value as the second argument + // so we use fireEvent.change with { target: { value: 'abc' } } + // but since SearchInput is a custom component, we use fireEvent.input + // to trigger the native input event + fireEvent.input(input, { target: { value: 'abc' } }); + expect(mockOnChange).toHaveBeenCalledWith('one', { one: 'abc' }); + }); }); diff --git a/packages/module/src/DataViewFilters/DataViewFilters.tsx b/packages/module/src/DataViewFilters/DataViewFilters.tsx index addc63fa..5a8ce29f 100644 --- a/packages/module/src/DataViewFilters/DataViewFilters.tsx +++ b/packages/module/src/DataViewFilters/DataViewFilters.tsx @@ -130,7 +130,7 @@ export const DataViewFilters = ({ value: unknown; }>, { showToolbarItem: activeAttributeMenu === child.props.title, - onChange: (event, value) => onChange?.(event, { [child.props.filterId]: value } as Partial), + onChange: (event, value) => onChange?.(child.props.filterId, { [child.props.filterId]: value } as Partial), value: values?.[child.props.filterId], ...child.props }) From 5bb67c93c950599327b90431c2231dd8bbce1fd9 Mon Sep 17 00:00:00 2001 From: nicolethoen Date: Thu, 29 May 2025 10:27:12 -0400 Subject: [PATCH 3/3] clean up test --- .../module/src/DataViewFilters/DataViewFilters.test.tsx | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/module/src/DataViewFilters/DataViewFilters.test.tsx b/packages/module/src/DataViewFilters/DataViewFilters.test.tsx index 7a9e8d70..cd5bb836 100644 --- a/packages/module/src/DataViewFilters/DataViewFilters.test.tsx +++ b/packages/module/src/DataViewFilters/DataViewFilters.test.tsx @@ -32,13 +32,7 @@ describe('DataViewFilters component', () => { /> ); const input = getByLabelText('One filter'); - // Simulate user typing 'abc' in the input input.focus(); - // fireEvent.change triggers the onChange handler of the input - // The SearchInput component expects the value as the second argument - // so we use fireEvent.change with { target: { value: 'abc' } } - // but since SearchInput is a custom component, we use fireEvent.input - // to trigger the native input event fireEvent.input(input, { target: { value: 'abc' } }); expect(mockOnChange).toHaveBeenCalledWith('one', { one: 'abc' }); });