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