import { describe, expect, it } from "bun:test"; import { ImagePickerManager } from "../ImagePickerManager"; describe("ImagePickerManager", () => { it("tracks whether a host picker is available", () => { const manager = new ImagePickerManager(); expect(manager.isAvailable$.get()).toBe(false); manager.setIsAvailable(true); expect(manager.isAvailable$.get()).toBe(true); }); it("resolves a picker request with a resource stable id", async () => { const manager = new ImagePickerManager(); manager.requestEmitter.addListener(({ id }) => { manager.handleResponse({ id, resourceStableId: "stable-resource-1", }); }); await expect(manager.pickImage()).resolves.toBe("stable-resource-1"); }); it("resolves undefined when the picker is cancelled", async () => { const manager = new ImagePickerManager(); manager.requestEmitter.addListener(({ id }) => { manager.handleResponse({ id }); }); await expect(manager.pickImage()).resolves.toBeUndefined(); }); });