mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(modality): rename "file" modality label "Data" -> "Files"
The fifth user-facing group is now Image, Video, Audio, PDF, Files (internal modality id stays "file"; section.ts "files" was already "Files"). Updates modality.ts label + comment, all 21 i18n locales (categories.data "Data Files"->"Files", modalities.documentsAndFiles "PDF & Data"->"PDF & Files", dead homePage.data), landing cards/hero search/tools filter, docs headings, and e2e modality-tab assertions (/^Data/ -> /^Files/, which had been failing).
This commit is contained in:
@@ -40,7 +40,7 @@ test.describe("Landing Homepage", () => {
|
||||
});
|
||||
|
||||
test("hero modality cards render", async ({ page }) => {
|
||||
const cards = ["Image Tools", "Video Tools", "Audio Tools", "PDF & Documents", "Data & Files"];
|
||||
const cards = ["Image Tools", "Video Tools", "Audio Tools", "PDF & Documents", "Files"];
|
||||
for (const card of cards) {
|
||||
await expect(page.getByText(card, { exact: true }).first()).toBeVisible();
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ test.describe("Home Page", () => {
|
||||
});
|
||||
|
||||
test("modality tabs are visible", async ({ loggedInPage: page }) => {
|
||||
// 2.0 home page has modality tabs: All, Image, Video, Audio, PDF, Data
|
||||
// 2.0 home page has modality tabs: All, Image, Video, Audio, PDF, Files
|
||||
// Tab buttons render label + a count span, so the accessible name is e.g.
|
||||
// "Image5" (no word boundary before the digit) — match on the label prefix.
|
||||
await expect(page.getByRole("button", { name: /^All/ }).first()).toBeVisible();
|
||||
@@ -19,7 +19,7 @@ test.describe("Home Page", () => {
|
||||
await expect(page.getByRole("button", { name: /^Video/ }).first()).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: /^Audio/ }).first()).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: /^PDF/ }).first()).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: /^Data/ }).first()).toBeVisible();
|
||||
await expect(page.getByRole("button", { name: /^Files/ }).first()).toBeVisible();
|
||||
});
|
||||
|
||||
test("tool categories are visible on home page", async ({ loggedInPage: page }) => {
|
||||
|
||||
@@ -132,7 +132,7 @@ const TOOL_FIXTURE: Record<string, FixtureSpec> = {
|
||||
"convert-presentation": { buffer: PPTX, filename: "test.pptx" },
|
||||
"epub-convert": { buffer: EPUB, filename: "test.epub" },
|
||||
"ocr-pdf": PDF_FIX,
|
||||
// Data tools
|
||||
// File tools
|
||||
"csv-excel": CSV_FIX,
|
||||
"csv-json": CSV_FIX,
|
||||
"json-xml": { buffer: JSON_F, filename: "test.json" },
|
||||
|
||||
@@ -173,8 +173,8 @@ describe("cross-modality launch smoke", () => {
|
||||
30_000,
|
||||
);
|
||||
|
||||
// ── Data/File: csv-json (pure JS, no binary) ─────────────────────
|
||||
it("data modality: csv-json", async () => {
|
||||
// ── Files: csv-json (pure JS, no binary) ─────────────────────
|
||||
it("file modality: csv-json", async () => {
|
||||
const file = readFixture(fixtures.data.csv);
|
||||
const res = await postTool(app, adminToken, "csv-json", file, "tiny.csv", "text/csv", {
|
||||
direction: "csv-to-json",
|
||||
|
||||
Reference in New Issue
Block a user