@mbc-cqrs-serverless/cli
Version:
a CLI to get started with MBC CQRS serverless framework
30 lines (29 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const child_process_1 = require("child_process");
const new_action_1 = require("./new.action");
const { getPackageVersion } = new_action_1.exportsForTesting;
jest.mock('child_process', () => ({
execSync: jest.fn(),
}));
describe('getPackageVersion', () => {
const mockExecSync = child_process_1.execSync;
const packageName = '@mbc-cqrs-serverless/core';
afterEach(() => {
jest.clearAllMocks();
});
it('should return the latest version when isLatest is true', () => {
const mockLatestVersion = '1.2.3';
mockExecSync.mockReturnValue(Buffer.from(`${mockLatestVersion}\n`));
const result = getPackageVersion(packageName, true);
expect(mockExecSync).toHaveBeenCalledWith(`npm view ${packageName} dist-tags.latest`);
expect(result).toEqual([mockLatestVersion]);
});
it('should return all versions when isLatest is false', () => {
const mockVersions = ['1.0.0', '1.1.0', '1.2.0'];
mockExecSync.mockReturnValue(Buffer.from(JSON.stringify(mockVersions)));
const result = getPackageVersion(packageName, false);
expect(mockExecSync).toHaveBeenCalledWith(`npm view ${packageName} versions --json`);
expect(result).toEqual(mockVersions);
});
});