diff --git a/superset-frontend/cypress-base/cypress/e2e/explore/visualizations/table.test.ts b/superset-frontend/cypress-base/cypress/e2e/explore/visualizations/table.test.ts index 2ccdcde4faa..50de978f3b9 100644 --- a/superset-frontend/cypress-base/cypress/e2e/explore/visualizations/table.test.ts +++ b/superset-frontend/cypress-base/cypress/e2e/explore/visualizations/table.test.ts @@ -260,6 +260,8 @@ describe('Visualization > Table', () => { }); it('Test row limit with server pagination toggle', () => { + const serverPaginationSelector = + '[data-test="server_pagination-header"] div.pull-left [type="checkbox"]'; cy.visitChartByParams({ ...VIZ_DEFAULTS, metrics: ['count'], @@ -267,7 +269,7 @@ describe('Visualization > Table', () => { }); // Enable server pagination - cy.get('[data-test="server_pagination-header"] div.pull-left').click(); + cy.get(serverPaginationSelector).click(); // Click row limit control and select high value (200k) cy.get('div[aria-label="Row limit"]').click(); @@ -281,7 +283,7 @@ describe('Visualization > Table', () => { cy.get('[data-test="error-tooltip"]').should('not.exist'); // Disable server pagination - cy.get('[data-test="server_pagination-header"] div.pull-left').click(); + cy.get(serverPaginationSelector).click(); // Verify error tooltip appears cy.get('[data-test="error-tooltip"]').should('be.visible'); @@ -300,7 +302,7 @@ describe('Visualization > Table', () => { cy.get('.antd5-tooltip').invoke('attr', 'style', 'display: none'); // Enable server pagination again - cy.get('[data-test="server_pagination-header"] div.pull-left').click(); + cy.get(serverPaginationSelector).click(); cy.get('[data-test="error-tooltip"]').should('not.exist'); @@ -399,12 +401,12 @@ describe('Visualization > Table', () => { cy.wait('@chartData'); - // Basic search test - cy.get('span.dt-global-filter input.form-control.input-sm').should( - 'be.visible', - ); + const searchInputSelector = '.dt-global-filter input'; - cy.get('span.dt-global-filter input.form-control.input-sm').type('John'); + // Basic search test + cy.get(searchInputSelector).should('be.visible'); + + cy.get(searchInputSelector).type('John'); cy.wait('@chartData'); @@ -413,11 +415,11 @@ describe('Visualization > Table', () => { }); // Clear and test case-insensitive search - cy.get('span.dt-global-filter input.form-control.input-sm').clear(); + cy.get(searchInputSelector).clear(); cy.wait('@chartData'); - cy.get('span.dt-global-filter input.form-control.input-sm').type('mary'); + cy.get(searchInputSelector).type('mary'); cy.wait('@chartData'); @@ -426,9 +428,9 @@ describe('Visualization > Table', () => { }); // Test special characters - cy.get('span.dt-global-filter input.form-control.input-sm').clear(); + cy.get(searchInputSelector).clear(); - cy.get('span.dt-global-filter input.form-control.input-sm').type('Nicole'); + cy.get(searchInputSelector).type('Nicole'); cy.wait('@chartData'); @@ -437,9 +439,9 @@ describe('Visualization > Table', () => { }); // Test no results - cy.get('span.dt-global-filter input.form-control.input-sm').clear(); + cy.get(searchInputSelector).clear(); - cy.get('span.dt-global-filter input.form-control.input-sm').type('XYZ123'); + cy.get(searchInputSelector).type('XYZ123'); cy.wait('@chartData'); @@ -456,9 +458,9 @@ describe('Visualization > Table', () => { cy.get('.antd5-select-item-option').contains('state').click(); - cy.get('span.dt-global-filter input.form-control.input-sm').clear(); + cy.get(searchInputSelector).clear(); - cy.get('span.dt-global-filter input.form-control.input-sm').type('CA'); + cy.get(searchInputSelector).type('CA'); cy.wait('@chartData'); cy.wait(1000); diff --git a/superset-frontend/plugins/plugin-chart-table/src/DataTable/components/SearchSelectDropdown.tsx b/superset-frontend/plugins/plugin-chart-table/src/DataTable/components/SearchSelectDropdown.tsx index b58cf2e8a22..f79af63b3b8 100644 --- a/superset-frontend/plugins/plugin-chart-table/src/DataTable/components/SearchSelectDropdown.tsx +++ b/superset-frontend/plugins/plugin-chart-table/src/DataTable/components/SearchSelectDropdown.tsx @@ -18,7 +18,7 @@ */ /* eslint-disable import/no-extraneous-dependencies */ import { styled } from '@superset-ui/core'; -import { Select } from 'antd'; +import { Select } from 'antd-v5'; import { SearchOption } from '../../types'; const StyledSelect = styled(Select)` diff --git a/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx b/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx index 7c57f69a4bd..a9935557d69 100644 --- a/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx +++ b/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx @@ -189,7 +189,7 @@ function SearchInput({ inputRef, }: SearchInputProps) { return ( - + {t('Search')} { // Submit form without filling any fields userEvent.click(uploadButton); - await waitFor(() => screen.getByText('Uploading a file is required')); - await waitFor(() => screen.getByText('Selecting a database is required')); - await waitFor(() => screen.getByText('Table name is required')); + expect( + await screen.findByText('Uploading a file is required'), + ).toBeInTheDocument(); + expect( + await screen.findByText('Selecting a database is required'), + ).toBeInTheDocument(); + expect(await screen.findByText('Table name is required')).toBeInTheDocument(); }); test('CSV form post', async () => {