@applicaster/zapplicaster-cli
Version:
CLI Tool for the zapp app and Quick Brick project
71 lines (59 loc) • 1.84 kB
JavaScript
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,
}
);
});
});