Files
openobserve/tests/ui-testing/playwright-tests/reportsUpdated.spec.js
T
Shyam Panjiyar f1d7a0de9a test: Updated for report automation with playwright (#5401)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced multiple new test cases for creating and deleting reports,
enhancing the testing coverage for report functionalities.

- **Tests**
- Added specific tests for various report scheduling options, including
"Now" and "Later" types.
- Updated existing test case for creating, using, and deleting
dashboards and reports to include detailed method calls for report
creation.

- **Chores**
- Added several new asynchronous methods to streamline the report
creation and scheduling process, improving interaction robustness.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-30 14:32:44 +05:30

339 lines
18 KiB
JavaScript

import { test, expect } from "./baseFixtures";
import { LoginPage } from '../pages/loginPage';
import { DashboardPage } from '../pages/dashboardPage';
import { ReportsPage } from '../pages/reportsPage';
import { IngestionPage } from '../pages/ingestionPage';
test.describe("Report test cases Updated", () => {
let loginPage, dashboardPage, reportsPage, ingestionPage;
test.beforeEach(async ({ page }) => {
loginPage = new LoginPage(page);
ingestionPage = new IngestionPage(page);
dashboardPage = new DashboardPage(page);
reportsPage = new ReportsPage(page);
await loginPage.gotoLoginPage();
// await loginPage.loginAsInternalUser();
await loginPage.login();
await ingestionPage.ingestion();
});
test("Create, use, and delete dashboard and report", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and once Schedule Now type report", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportOnce();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and hours Schedule Now type report", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportHours();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and days Schedule Now type report", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportDays();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and weeks Schedule Now type report", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportWeeks();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and months Schedule Now type report", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportMonths();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and custom Schedule Now type report", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportCustom();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and custom Schedule Later type report ", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportCustom();
await reportsPage.createReportScheduleLater();
await reportsPage.createReportDateTime();
await reportsPage.createReportZone();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and months Schedule Later type report ", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportMonths();
await reportsPage.createReportScheduleLater();
await reportsPage.createReportDateTime();
await reportsPage.createReportZone();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and weeks Schedule Later type report ", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportWeeks();
await reportsPage.createReportScheduleLater();
await reportsPage.createReportDateTime();
await reportsPage.createReportZone();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and days Schedule Later type report ", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportDays();
await reportsPage.createReportScheduleLater();
await reportsPage.createReportDateTime();
await reportsPage.createReportZone();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and hours Schedule Later type report ", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportHours();
await reportsPage.createReportScheduleLater();
await reportsPage.createReportDateTime();
await reportsPage.createReportZone();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
test("Create, use, and delete dashboard and once Schedule Later type report ", async ({ page }) => {
const TEST_REPORT_NAME = "rreport1";
await dashboardPage.navigateToDashboards();
await dashboardPage.createDashboard();
await expect(page).toHaveURL(/.*\/dashboards/);
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await reportsPage.createReportAddReportButton();
await reportsPage.createReportReportNameInput();
await reportsPage.createReportFolderInput();
await reportsPage.createReportDashboardInput(dashboardPage.dashboardName);
await reportsPage.createReportDashboardTabInput();
await reportsPage.createReportContinueButtonStep1();
await reportsPage.createReportOnce();
await reportsPage.createReportScheduleLater();
await reportsPage.createReportDateTime();
await reportsPage.createReportZone();
await reportsPage.createReportContinueButtonStep2();
await reportsPage.createReportFillDetail();
await reportsPage.createReportSaveButton();
await page.goto(process.env["ZO_BASE_URL"] + "/web/reports?org_identifier=default");
await expect(page).toHaveURL(/.*\/reports/);
await reportsPage.deleteReport(TEST_REPORT_NAME);
await dashboardPage.navigateToDashboards();
await dashboardPage.deleteDashboard();
});
});