UNPKG

@applicaster/zapplicaster-cli

Version:

CLI Tool for the zapp app and Quick Brick project

71 lines (59 loc) 1.84 kB
const { updateZappifest } = require("../updateZappifest"); jest.mock("path", () => ({ resolve: (cwd, fileName) => { switch (fileName) { case "package.json": return `${__dirname}/mockPackage.json`; case "zappifest-ios.json": return `${__dirname}/iosZappifest.json`; case "zappifest-android.json": return `${__dirname}/androidZappifest.json`; default: return ""; } }, })); 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 { writeJsonToFile } = require("../../../file"); const { resolve } = require("path"); const cwd = "./path/to/cwd"; const zappifests = { ios: "zappifest-ios.json", android: "zappifest-android.json", }; const config = { cwd, zappifests }; const mock_packageJson = require("./mockPackage.json"); const mock_iosZappifest = require("./iosZappifest.json"); const mock_androidZappifest = require("./androidZappifest.json"); describe("updateZappifests", () => { it("udpates the zappifests", async () => { await updateZappifest(config); expect(writeJsonToFile).toHaveBeenCalledTimes(2); expect(writeJsonToFile).toHaveBeenNthCalledWith( 1, resolve(cwd, zappifests.ios), { ...mock_iosZappifest, dependency_name: mock_packageJson.name, dependency_version: mock_packageJson.version, } ); expect(writeJsonToFile).toHaveBeenNthCalledWith( 2, resolve(cwd, zappifests.android), { ...mock_androidZappifest, dependency_name: mock_packageJson.name, dependency_version: mock_packageJson.version, } ); }); });