shoc-frontend-new/src/test/app/(protected)/workorders/media-uploader-grid-item-meta.test.tsx
2026-09-09 17:09:28 -03:00

35 lines
1.1 KiB
TypeScript

import { fireEvent, render, screen } from "@testing-library/react";
import { describe, expect, it, vi } from "vitest";
import { MediaUploaderGridItemMeta } from "@/app/(protected)/workorders/_components/media/media-uploader-grid-item-meta";
import type { MediaFile } from "@/domain/work-orders/types/work-order-media";
const extraPhoto: MediaFile = {
id: "10",
name: "site.jpg",
fileType: "image",
url: "https://cdn.example.com/site.jpg",
category: "Photo",
purpose: "Extra",
isLegacy: false,
};
describe("MediaUploaderGridItemMeta", () => {
it("allows an Extra photo to be explicitly assigned to Extra Docs", () => {
const onCategorize = vi.fn();
render(
<MediaUploaderGridItemMeta
file={extraPhoto}
readOnly={false}
pending={false}
onCategorize={onCategorize}
/>,
);
const category = screen.getByLabelText("Category for site.jpg");
expect(category).toHaveValue("");
fireEvent.change(category, { target: { value: "Extra" } });
expect(onCategorize).toHaveBeenCalledWith("10", "Extra");
});
});