test: centralize media role labels

This commit is contained in:
ik
2026-09-21 18:06:09 +07:00
parent d32796277c
commit 4f847db38a
4 changed files with 25 additions and 4 deletions
+9 -1
View File
@@ -7,7 +7,7 @@ import { tackleVisualKind, tackleVisualTone } from "../../src/lib/tackle-visuals
import { waterbodyVisual } from "../../src/lib/waterbody-visuals.ts";
import { pageHref, pageWindow } from "../../src/lib/pagination.ts";
import { adminEndsSession, adminErrorMessage } from "../../src/lib/admin-errors.ts";
import { findMediaByLabel } from "../../src/lib/media.ts";
import { findMediaByLabel, mediaRoleLabel } from "../../src/lib/media.ts";
test("activity levels share one complete 0-100 scale", () => {
assert.deepEqual(
@@ -79,6 +79,14 @@ test("waterbody media lookup only accepts reviewed roles when constrained", () =
assert.equal(findMediaByLabel([...assets], "Куори", ["waterbody_cover"]), undefined);
});
test("reviewed media roles keep human-readable labels with a safe fallback", () => {
assert.deepEqual(
["waterbody_cover", "waterbody_map", "waterbody_depth_map", "waterbody_screenshot", "tackle_card", "tackle_detail", "rig_diagram", "tackle_screenshot"].map(mediaRoleLabel),
["Заставка водоёма", "Карта водоёма", "Карта глубин", "Скриншот водоёма", "Карточка снасти", "Деталь снасти", "Схема монтажа", "Скриншот снасти"],
);
assert.equal(mediaRoleLabel("future_role"), "future_role");
});
test("45 records are reachable across three stable pages", () => {
const pages = [pageWindow(45, 20, 0), pageWindow(45, 20, 20), pageWindow(45, 20, 40)];
assert.deepEqual(pages.map(page => [page.start, page.end]), [[1, 20], [21, 40], [41, 45]]);