UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

58 lines (57 loc) 1.71 kB
import { beforeEach, describe, expect, it, vi } from "vitest"; import { run } from "./patch.mjs"; const { patchMock, loadUserOneOptionsMock } = vi.hoisted(() => ({ patchMock: vi.fn(), loadUserOneOptionsMock: vi.fn() })); vi.mock("vxrn", () => ({ patch: patchMock })); vi.mock("../vite/loadConfig", () => ({ loadUserOneOptions: loadUserOneOptionsMock })); describe("one patch", () => { beforeEach(() => { patchMock.mockReset(); loadUserOneOptionsMock.mockReset(); }); it("applies built-in patches when a native-only app has no vite config", async () => { loadUserOneOptionsMock.mockRejectedValueOnce(new Error("No config config in /tmp/native-only-app. Is this the correct directory?")); await run({}); expect(patchMock).toHaveBeenCalledWith({ root: process.cwd(), deps: void 0, force: void 0 }); }); it("passes configured user patches through to vxrn", async () => { const patches = { "example-package": { version: "1", "index.js": "export default 1" } }; loadUserOneOptionsMock.mockResolvedValueOnce({ oneOptions: { patches } }); await run({ force: true }); expect(patchMock).toHaveBeenCalledWith({ root: process.cwd(), deps: patches, force: true }); }); it("keeps failing when a vite config exists but does not load one", async () => { loadUserOneOptionsMock.mockRejectedValueOnce(new Error("One not loaded properly, is the one() plugin in your vite.config.ts?")); await expect(run({})).rejects.toThrow("One not loaded properly"); expect(patchMock).not.toHaveBeenCalled(); }); }); //# sourceMappingURL=patch.test.mjs.map