UNPKG

@applicaster/zapplicaster-cli

Version:

CLI Tool for the zapp app and Quick Brick project

58 lines (45 loc) 1.46 kB
const { createPluginEntryPoint } = require("../createPluginEntryPoint"); jest.mock("path", () => ({ resolve: jest.fn((...args) => args.join("/")), })); jest.mock("../../../render", () => ({ renderFile: jest.fn((source, target, { entryPoint }) => { if (entryPoint === "fail") { throw new Error("renderFile failed"); } return Promise.resolve(); }), })); const { resolve } = require("path"); const actualPath = jest.requireActual("path"); const { renderFile } = require("../../../render"); const cwd = "/path/to/cwd"; const entryPoint = "./src/App"; const config = { cwd, entryPoint, }; const modulePath = actualPath.resolve(__dirname, ".."); const exportFileTemplateName = "./export.js.ejs"; const exportFileTargetName = "export.js"; describe("createPluginEntryPoint", () => { it("renders the export.js from the template", async () => { await createPluginEntryPoint(config); expect(resolve).toHaveBeenNthCalledWith( 1, modulePath, exportFileTemplateName ); expect(resolve).toHaveBeenNthCalledWith(2, cwd, exportFileTargetName); expect(renderFile).toHaveBeenCalledWith( resolve(modulePath, exportFileTemplateName), resolve(cwd, exportFileTargetName), { entryPoint } ); }); it("throws when renderFile throws", async () => { await expect( createPluginEntryPoint({ cwd, entryPoint: "fail" }) ).rejects.toThrowErrorMatchingSnapshot(); }); });