Files
lucia-frontend/cypress/e2e/discoverPerformance.cy.js
2026-03-08 12:11:57 +08:00

67 lines
2.5 KiB
JavaScript

// The Lucia project.
// Copyright 2026-2026 DSP, inc. All rights reserved.
// Authors:
// imacat.yang@dsp.im (imacat), 2026/03/05
import { loginWithFixtures } from "../support/intercept";
describe("Discover Performance Page", () => {
beforeEach(() => {
loginWithFixtures();
cy.visit("/discover/log/297310264/performance");
cy.wait("@getPerformance");
});
it("page loads and loading overlay disappears", () => {
// Loading overlay should not be visible after data loads
cy.get(".z-\\[9999\\]", { timeout: 10000 }).should("not.exist");
});
it("displays Time Usage sidebar section", () => {
cy.get(".z-\\[9999\\]", { timeout: 10000 }).should("not.exist");
cy.contains("Time Usage").should("be.visible");
});
it("displays Frequency sidebar section", () => {
cy.get(".z-\\[9999\\]", { timeout: 10000 }).should("not.exist");
cy.contains("Frequency").should("be.visible");
});
it("displays sidebar navigation items", () => {
cy.get(".z-\\[9999\\]", { timeout: 10000 }).should("not.exist");
cy.contains("Cycle Time & Efficiency").should("be.visible");
cy.contains("Processing Time").should("be.visible");
cy.contains("Waiting Time").should("be.visible");
cy.contains("Number of Cases").should("be.visible");
});
it("displays chart titles", () => {
cy.get(".z-\\[9999\\]", { timeout: 10000 }).should("not.exist");
cy.contains("Average Cycle Time").should("be.visible");
cy.contains("Cycle Efficiency").should("be.visible");
cy.contains("Average Processing Time").should("be.visible");
cy.contains("Average Processing Time by Activity").should("be.visible");
cy.contains("Average Waiting Time").should("be.visible");
});
it("displays frequency chart titles", () => {
cy.get(".z-\\[9999\\]", { timeout: 10000 }).should("not.exist");
cy.contains("New Cases").should("be.visible");
cy.contains("Number of Cases by Activity").should("be.visible");
});
it("renders canvas elements for charts", () => {
cy.get(".z-\\[9999\\]", { timeout: 10000 }).should("not.exist");
// Chart.js renders into canvas elements
cy.get("canvas").should("have.length.at.least", 5);
});
it("sidebar navigation scrolls to section", () => {
cy.get(".z-\\[9999\\]", { timeout: 10000 }).should("not.exist");
// Click on "Waiting Time" in sidebar
cy.contains("li", "Waiting Time").click();
// The Waiting Time section should be in view
cy.get("#waitingTime").should("exist");
});
});