diff --git a/superset-frontend/cypress-base/cypress/e2e/alerts_and_reports/alerts.test.ts b/superset-frontend/cypress-base/cypress/e2e/alerts_and_reports/alerts.test.ts deleted file mode 100644 index b677507a460..00000000000 --- a/superset-frontend/cypress-base/cypress/e2e/alerts_and_reports/alerts.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -import { ALERT_LIST } from 'cypress/utils/urls'; - -describe('Alert list view', () => { - before(() => { - cy.visit(ALERT_LIST); - }); - - it('should load alert lists', () => { - cy.getBySel('listview-table').should('be.visible'); - cy.getBySel('sort-header').eq(1).contains('Last run'); - cy.getBySel('sort-header').eq(2).contains('Name'); - cy.getBySel('sort-header').eq(3).contains('Schedule'); - cy.getBySel('sort-header').eq(4).contains('Notification method'); - cy.getBySel('sort-header').eq(5).contains('Owners'); - cy.getBySel('sort-header').eq(6).contains('Last modified'); - cy.getBySel('sort-header').eq(7).contains('Active'); - // TODO Cypress won't recognize the Actions column - // cy.getBySel('sort-header').eq(9).contains('Actions'); - }); -}); diff --git a/superset-frontend/cypress-base/cypress/e2e/alerts_and_reports/reports.test.ts b/superset-frontend/cypress-base/cypress/e2e/alerts_and_reports/reports.test.ts deleted file mode 100644 index a227fa03d7d..00000000000 --- a/superset-frontend/cypress-base/cypress/e2e/alerts_and_reports/reports.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -import { REPORT_LIST } from 'cypress/utils/urls'; - -describe('Report list view', () => { - before(() => { - cy.visit(REPORT_LIST); - }); - - it('should load report lists', () => { - cy.getBySel('listview-table').should('be.visible'); - cy.getBySel('sort-header').eq(1).contains('Last run'); - cy.getBySel('sort-header').eq(2).contains('Name'); - cy.getBySel('sort-header').eq(3).contains('Schedule'); - cy.getBySel('sort-header').eq(4).contains('Notification method'); - cy.getBySel('sort-header').eq(5).contains('Owners'); - cy.getBySel('sort-header').eq(6).contains('Last modified'); - cy.getBySel('sort-header').eq(7).contains('Active'); - // TODO Cypress won't recognize the Actions column - // cy.getBySel('sort-header').eq(9).contains('Actions'); - }); -}); diff --git a/superset-frontend/src/pages/AlertReportList/AlertReportList.test.jsx b/superset-frontend/src/pages/AlertReportList/AlertReportList.test.jsx index ffa5717279a..da5e4b2a7b5 100644 --- a/superset-frontend/src/pages/AlertReportList/AlertReportList.test.jsx +++ b/superset-frontend/src/pages/AlertReportList/AlertReportList.test.jsx @@ -232,4 +232,45 @@ describe('AlertList', () => { 'filters:!((col:type,opr:eq,value:Report))', ); }, 15000); + + it('renders listview table correctly', async () => { + renderAlertList(); + await screen.findByTestId('alerts-list-view'); + + const table = await screen.findByTestId('listview-table'); + expect(table).toBeInTheDocument(); + expect(table).toBeVisible(); + }, 15000); + + it('renders correct column headers for alerts', async () => { + renderAlertList(); + await screen.findByTestId('alerts-list-view'); + + expect(screen.getByText('Last run')).toBeInTheDocument(); + expect( + screen.getByRole('columnheader', { name: /name/i }), + ).toBeInTheDocument(); + expect(screen.getByText('Schedule')).toBeInTheDocument(); + expect(screen.getByText('Notification method')).toBeInTheDocument(); + expect(screen.getByText('Owners')).toBeInTheDocument(); + expect(screen.getByText('Last modified')).toBeInTheDocument(); + expect(screen.getByText('Active')).toBeInTheDocument(); + expect(screen.getByText('Actions')).toBeInTheDocument(); + }, 15000); + + it('renders correct column headers for reports', async () => { + renderAlertList({ isReportEnabled: true }); + await screen.findByTestId('alerts-list-view'); + + expect(screen.getByText('Last run')).toBeInTheDocument(); + expect( + screen.getByRole('columnheader', { name: /name/i }), + ).toBeInTheDocument(); + expect(screen.getByText('Schedule')).toBeInTheDocument(); + expect(screen.getByText('Notification method')).toBeInTheDocument(); + expect(screen.getByText('Owners')).toBeInTheDocument(); + expect(screen.getByText('Last modified')).toBeInTheDocument(); + expect(screen.getByText('Active')).toBeInTheDocument(); + expect(screen.getByText('Actions')).toBeInTheDocument(); + }, 15000); });