UNPKG

multi-clasp2

Version:

Google Clasp wrapper to push changes to multiple Apps Script projects at once.

48 lines (47 loc) 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getOptionsMock = exports.execMock = exports.foreachMock = void 0; exports.mockForeach = mockForeach; jest.mock("fs", () => { const actual = jest.requireActual("fs"); return { ...actual, writeFile: jest.fn((_p, _d, _e, cb) => cb === null || cb === void 0 ? void 0 : cb(null)), unlink: jest.fn((_p, cb) => cb === null || cb === void 0 ? void 0 : cb(null)), }; }); jest.mock("../../src/utils", () => ({ execShellCommand: jest.fn(), getOptions: jest.fn(() => ""), })); jest.mock("../../src/common", () => { const actual = jest.requireActual("../../src/common"); const utils = jest.requireMock("../../src/utils"); const foreachClasp = jest.fn(); return { ...actual, foreachClasp, genericAction: jest.fn(async () => { await foreachClasp(async (claspConfig) => { const retVal = await actual.runClasp(claspConfig, process.argv[2], utils.getOptions()); if (!retVal) { process.exit(1); } }); }), }; }); const common = jest.requireMock("../../src/common"); const utils = jest.requireMock("../../src/utils"); exports.foreachMock = common.foreachClasp; exports.execMock = utils.execShellCommand; exports.getOptionsMock = utils.getOptions; function mockForeach(scriptIds) { const tasks = []; exports.foreachMock.mockImplementation((fn) => { for (const scriptId of scriptIds) { tasks.push(fn({ scriptId })); } }); return tasks; }