From 4006145ef8bfc1ac7d4964fbfd71b33327625c87 Mon Sep 17 00:00:00 2001 From: Arthur Bassi Date: Tue, 8 Sep 2026 11:28:48 -0300 Subject: [PATCH] feat(work-orders): keep Photos allowlist media-only at 50MB --- .../media-uploader-dropzone.test.tsx | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/test/app/(protected)/workorders/media-uploader-dropzone.test.tsx diff --git a/src/test/app/(protected)/workorders/media-uploader-dropzone.test.tsx b/src/test/app/(protected)/workorders/media-uploader-dropzone.test.tsx new file mode 100644 index 00000000..2a1ee978 --- /dev/null +++ b/src/test/app/(protected)/workorders/media-uploader-dropzone.test.tsx @@ -0,0 +1,25 @@ +import { createRef } from "react"; +import { screen } from "@testing-library/react"; +import { describe, expect, it, vi } from "vitest"; +import { MediaUploaderDropzone } from "@/app/(protected)/workorders/_components/media/media-uploader-dropzone"; +import { workOrderMediaAcceptAttribute } from "@/domain/work-orders/utils/work-order-media-limits"; +import { renderWithProviders } from "@/test/test-utils"; + +describe("MediaUploaderDropzone", () => { + it("keeps Photos accept copy media-only at 50 MB", () => { + renderWithProviders( + ()} + pending={false} + onFilesSelected={vi.fn()} + />, + ); + + expect(screen.getByText(/Accepted: JPG, PNG, MP4, MOV ยท Max 50 MB/)).toBeInTheDocument(); + expect(screen.queryByText(/PDF/)).not.toBeInTheDocument(); + expect(screen.queryByText(/DOC/)).not.toBeInTheDocument(); + const input = document.querySelector('input[type="file"]'); + expect(input?.getAttribute("accept")).toBe(workOrderMediaAcceptAttribute()); + expect(input?.getAttribute("accept")).not.toContain(".pdf"); + }); +});