import "jest"; import { isFileDragEvent } from "../dom"; describe(isFileDragEvent.name, () => { const dragEventConstructor = jest.fn().mockImplementation((type, types) => { return { type, bubbles: true, dataTransfer: { types } }; }); it("returns true for valid drag events", () => { expect(isFileDragEvent(dragEventConstructor("dragstart", ["Files"]))).toBeTruthy(); expect(isFileDragEvent(dragEventConstructor("dragend", ["Files"]))).toBeTruthy(); expect(isFileDragEvent(dragEventConstructor("drag", ["Files"]))).toBeTruthy(); expect(isFileDragEvent(dragEventConstructor("dragover", ["Files"]))).toBeTruthy(); }); it("returns false for invalid drag events", () => { expect(isFileDragEvent(dragEventConstructor("dragstart", []))).toBeFalsy(); expect(isFileDragEvent(dragEventConstructor("dragend", []))).toBeFalsy(); expect(isFileDragEvent(dragEventConstructor("drag", []))).toBeFalsy(); expect(isFileDragEvent(dragEventConstructor("dragover", []))).toBeFalsy(); expect(isFileDragEvent(dragEventConstructor("bob", ["Files"]))).toBeFalsy(); }); });