one
Version:
One is a new React Framework that makes Vite serve both native and web.
56 lines • 1.95 kB
JavaScript
var import_vitest = require("vitest");
var import_patch = require("./patch.cjs");
const {
patchMock,
loadUserOneOptionsMock
} = import_vitest.vi.hoisted(() => ({
patchMock: import_vitest.vi.fn(),
loadUserOneOptionsMock: import_vitest.vi.fn()
}));
import_vitest.vi.mock("vxrn", () => ({
patch: patchMock
}));
import_vitest.vi.mock("../vite/loadConfig", () => ({
loadUserOneOptions: loadUserOneOptionsMock
}));
(0, import_vitest.describe)("one patch", () => {
(0, import_vitest.beforeEach)(() => {
patchMock.mockReset();
loadUserOneOptionsMock.mockReset();
});
(0, import_vitest.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 (0, import_patch.run)({});
(0, import_vitest.expect)(patchMock).toHaveBeenCalledWith({
root: process.cwd(),
deps: void 0,
force: void 0
});
});
(0, import_vitest.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 (0, import_patch.run)({
force: true
});
(0, import_vitest.expect)(patchMock).toHaveBeenCalledWith({
root: process.cwd(),
deps: patches,
force: true
});
});
(0, import_vitest.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 (0, import_vitest.expect)((0, import_patch.run)({})).rejects.toThrow("One not loaded properly");
(0, import_vitest.expect)(patchMock).not.toHaveBeenCalled();
});
});