From 12f35c9a3109ce113b2bfda72da40d3ae4ecd337 Mon Sep 17 00:00:00 2001 From: Paulo Henrique Date: Wed, 29 May 2024 09:15:40 -0700 Subject: [PATCH] [Security Solution] [Grouping] Re-add support to custom Group By title in the useGetGroupSelector hook (#184165) ## Summary This PR fixes a regression from PR #180016 where the support to the custom title on the `useGetGroupSelector` hook was dropped and the Findings DataTables was displaying "Group alerts by" instead of "Group findings by". Unit tests were added to prevent further regressions. ## Screenshots ![image](https://github.com/elastic/kibana/assets/19270322/97ac29f7-d314-4df9-a4d8-9a11b198f021) ![image](https://github.com/elastic/kibana/assets/19270322/6e6a3eef-fd4e-4619-a460-a3b0fb46ec37) ![image](https://github.com/elastic/kibana/assets/19270322/e6bcd40c-45e6-4444-8905-7c7c2c900926) --- .../src/components/group_selector/index.test.tsx | 8 ++++++++ .../src/hooks/use_get_group_selector.test.tsx | 11 +++++++++++ .../kbn-grouping/src/hooks/use_get_group_selector.tsx | 3 ++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/kbn-grouping/src/components/group_selector/index.test.tsx b/packages/kbn-grouping/src/components/group_selector/index.test.tsx index 9f09e3b26ea49..861c77d80bafe 100644 --- a/packages/kbn-grouping/src/components/group_selector/index.test.tsx +++ b/packages/kbn-grouping/src/components/group_selector/index.test.tsx @@ -73,6 +73,14 @@ describe('group selector', () => { const { getByTestId } = render(); expect(getByTestId('group-selector-dropdown').textContent).toBe('Group alerts by: Rule name'); }); + it('Sets the Group by title from the title prop', () => { + const { getByTestId } = render( + + ); + expect(getByTestId('group-selector-dropdown').textContent).toBe( + 'Group custom property by: Rule name' + ); + }); it('Presents correct option when group selector dropdown is clicked', () => { const { getByTestId } = render(); fireEvent.click(getByTestId('group-selector-dropdown')); diff --git a/packages/kbn-grouping/src/hooks/use_get_group_selector.test.tsx b/packages/kbn-grouping/src/hooks/use_get_group_selector.test.tsx index 1ebd2b5a18174..0448ed6df6194 100644 --- a/packages/kbn-grouping/src/hooks/use_get_group_selector.test.tsx +++ b/packages/kbn-grouping/src/hooks/use_get_group_selector.test.tsx @@ -376,6 +376,17 @@ describe('Group Selector Hooks', () => { type: ActionType.updateGroupOptions, }); }); + + it('Supports custom group by title', () => { + const result = renderHook(() => + useGetGroupSelector({ + ...defaultArgs, + title: 'Group custom property by', + }) + ); + + expect(result.result.current.props.title).toEqual('Group custom property by'); + }); }); describe('useGetGroupSelectorStateless', () => { diff --git a/packages/kbn-grouping/src/hooks/use_get_group_selector.tsx b/packages/kbn-grouping/src/hooks/use_get_group_selector.tsx index 14f010640ef12..2bb7423c3bd93 100644 --- a/packages/kbn-grouping/src/hooks/use_get_group_selector.tsx +++ b/packages/kbn-grouping/src/hooks/use_get_group_selector.tsx @@ -211,8 +211,9 @@ export const useGetGroupSelector = ({ fields, maxGroupingLevels, options, + title, }} /> ); - }, [groupingId, fields, maxGroupingLevels, onChange, selectedGroups, options]); + }, [groupingId, fields, maxGroupingLevels, onChange, selectedGroups, options, title]); };