@applicaster/zapplicaster-cli
Version:
CLI Tool for the zapp app and Quick Brick project
50 lines (37 loc) • 1.28 kB
JavaScript
const R = require("ramda");
const mock_version = "1.0.0-test-vesion";
const mock_commands = ["command_1", "command_2"];
const mock_registerCommand_curried = jest.fn();
const mock_registerCommand = jest.fn(() => mock_registerCommand_curried);
const mock_call_parse = jest.fn(() => ({
parse: jest.fn(),
}));
const mock_call_on = jest.fn(() => ({
on: mock_call_parse,
}));
jest.mock("commander", () => ({
version: mock_call_on,
}));
jest.mock("../package.json", () => ({
version: mock_version,
}));
jest.mock("../src/commands", () => ({
commands: mock_commands,
registerCommand: mock_registerCommand,
}));
jest.spyOn(R, "forEach");
const program = require("commander");
const { registerCommand, commands } = require("../src/commands");
const { version } = require("../package.json");
require("../index");
describe("zapplicasterCli", () => {
it("registers all commands", () => {
expect(registerCommand).toHaveBeenCalledWith(program);
expect(R.forEach).toHaveBeenCalledWith(registerCommand(program), commands);
expect(registerCommand(program)).toHaveBeenCalledTimes(commands.length);
});
it("registers the program", () => {
expect(program.version).toHaveBeenCalledWith(version);
expect(program.version().on).toHaveBeenCalled();
});
});