// The Lucia project. // Copyright 2026-2026 DSP, inc. All rights reserved. // Authors: // imacat.yang@dsp.im (imacat), 2026/03/22 import { test, expect } from "@playwright/test"; import { loginWithMSW } from "../helpers"; test.describe("Files Page - COMPARE Tab", () => { test.beforeEach(async ({ page, context }) => { await loginWithMSW(context); await page.goto("/files"); await expect(page.getByText("sample-process.xes").first()).toBeVisible(); // Switch to COMPARE tab await page.locator("li", { hasText: "COMPARE" }).click(); }); test("shows Performance Comparison heading", async ({ page }) => { await expect( page.locator("h2", { hasText: "Performance Comparison" }), ).toBeVisible(); }); test("shows two drag-and-drop slots", async ({ page }) => { await expect(page.locator("#primaryDragCard")).toBeVisible(); await expect(page.locator("#secondaryDragCard")).toBeVisible(); }); test("drag slots show placeholder text", async ({ page }) => { await expect( page.locator("#primaryDragCard"), ).toContainText("Drag and drop a file here"); await expect( page.locator("#secondaryDragCard"), ).toContainText("Drag and drop a file here"); }); test("Compare button is disabled when no files are dragged", async ({ page, }) => { await expect( page.getByRole("button", { name: "Compare" }), ).toBeDisabled(); }); test("shows sorting dropdown", async ({ page }) => { await expect(page.locator(".p-select")).toBeVisible(); }); test("grid cards display file names", async ({ page }) => { await expect(page.locator("#compareGridCards")).toBeVisible(); const items = page.locator("#compareGridCards li"); await expect(items).not.toHaveCount(0); }); test("clicking sorting dropdown shows sort options", async ({ page }) => { await page.locator(".p-select").click(); await expect(page.locator(".p-select-list")).toBeVisible(); await expect( page.locator(".p-select-option", { hasText: "By File Name" }).first(), ).toBeVisible(); }); });