diff --git a/superset-frontend/src/explore/components/ControlPanelsContainer.test.tsx b/superset-frontend/src/explore/components/ControlPanelsContainer.test.tsx index 2be8745fa1..333d3ec799 100644 --- a/superset-frontend/src/explore/components/ControlPanelsContainer.test.tsx +++ b/superset-frontend/src/explore/components/ControlPanelsContainer.test.tsx @@ -17,6 +17,7 @@ * under the License. */ import React from 'react'; +import userEvent from '@testing-library/user-event'; import { render, screen } from 'spec/helpers/testing-library'; import { DatasourceType, @@ -104,5 +105,43 @@ describe('ControlPanelsContainer', () => { expect( await screen.findAllByTestId('collapsible-control-panel-header'), ).toHaveLength(4); + expect(screen.getByRole('tab', { name: /customize/i })).toBeInTheDocument(); + userEvent.click(screen.getByRole('tab', { name: /customize/i })); + expect( + await screen.findAllByTestId('collapsible-control-panel-header'), + ).toHaveLength(5); + }); + + test('renders ControlPanelSections no Customize Tab', async () => { + getChartControlPanelRegistry().registerValue('table', { + controlPanelSections: [ + { + label: t('GROUP BY'), + description: t( + 'Use this section if you want a query that aggregates', + ), + expanded: true, + controlSetRows: [ + ['groupby'], + ['metrics'], + ['percent_metrics'], + ['timeseries_limit_metric', 'row_limit'], + ['include_time', 'order_desc'], + ], + }, + { + label: t('Options'), + expanded: true, + controlSetRows: [], + }, + ], + }); + render(, { + useRedux: true, + }); + expect(screen.queryByText(/customize/i)).not.toBeInTheDocument(); + expect( + await screen.findAllByTestId('collapsible-control-panel-header'), + ).toHaveLength(2); }); }); diff --git a/superset-frontend/src/explore/components/ControlPanelsContainer.tsx b/superset-frontend/src/explore/components/ControlPanelsContainer.tsx index 018f0b0ac3..8a456619f4 100644 --- a/superset-frontend/src/explore/components/ControlPanelsContainer.tsx +++ b/superset-frontend/src/explore/components/ControlPanelsContainer.tsx @@ -236,7 +236,7 @@ function getState( ) ) { querySections.push(section); - } else { + } else if (section.controlSetRows.length > 0) { customizeSections.push(section); } });