UNPKG

@applicaster/zapplicaster-cli

Version:

CLI Tool for the zapp app and Quick Brick project

51 lines (39 loc) 1.19 kB
const { updatePackageJson } = require("../updatePackageJson"); jest.mock("path", () => ({ resolve: jest.fn(() => "./__tests__/testPackage.json"), })); jest.mock("../../../file", () => ({ writeJsonToFile: jest.fn((path, packageJson) => { if (packageJson.name === "fail") { console.log("throwing writeJsonToFile"); throw new Error("writeJsonToFile failed"); } return Promise.resolve(); }), })); const cwd = "path/to/cwd"; const name = "module-name"; const main = "./export.js"; const config = { cwd, name, }; const { resolve } = require("path"); const { writeJsonToFile } = require("../../../file"); const testPackageJson = require("./testPackage.json"); describe("updatePackageJson", () => { it("update the packageJson name & main properties", async () => { await updatePackageJson(config); expect(writeJsonToFile).toHaveBeenCalledWith(resolve(cwd, "package.json"), { ...testPackageJson, name, main, }); expect.assertions(1); }); it("throws if writeJsonToFileThrows", async () => { await expect( updatePackageJson({ cwd, name: "fail" }) ).rejects.toThrowErrorMatchingSnapshot(); }); });