one
Version:
One is a new React Framework that makes Vite serve both native and web.
45 lines • 1.69 kB
JavaScript
var import_vitest = require("vitest");
var import_prebuild = require("./prebuild.cjs");
const {
loadUserOneOptionsMock,
prebuildMock
} = import_vitest.vi.hoisted(() => ({
loadUserOneOptionsMock: import_vitest.vi.fn(),
prebuildMock: import_vitest.vi.fn()
}));
import_vitest.vi.mock("../vite/loadConfig", () => ({
loadUserOneOptions: loadUserOneOptionsMock
}));
import_vitest.vi.mock("vxrn", () => ({
prebuild: prebuildMock
}));
(0, import_vitest.describe)("one prebuild", () => {
(0, import_vitest.beforeEach)(() => {
loadUserOneOptionsMock.mockReset();
prebuildMock.mockReset();
});
(0, import_vitest.it)("loads the app bundler configuration before native prebuild", async () => {
loadUserOneOptionsMock.mockResolvedValueOnce({});
await (0, import_prebuild.run)({
platform: "ios",
expo: true,
"no-install": true
});
(0, import_vitest.expect)(loadUserOneOptionsMock).toHaveBeenCalledWith("build", true);
(0, import_vitest.expect)(loadUserOneOptionsMock.mock.invocationCallOrder[0]).toBeLessThan(prebuildMock.mock.invocationCallOrder[0]);
(0, import_vitest.expect)(prebuildMock).toHaveBeenCalledWith({
root: process.cwd(),
platform: "ios",
expo: true,
"no-install": true
});
});
(0, import_vitest.it)("does not prebuild when the app configuration fails to load", async () => {
loadUserOneOptionsMock.mockRejectedValueOnce(new Error("invalid vite config"));
await (0, import_vitest.expect)((0, import_prebuild.run)({
platform: "ios",
expo: true
})).rejects.toThrow("invalid vite config");
(0, import_vitest.expect)(prebuildMock).not.toHaveBeenCalled();
});
});