depguard
Version:
A powerful CLI tool to check and update npm/yarn dependencies in your projects
38 lines (37 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const factory_1 = require("../../package-managers/factory");
const npm_1 = require("../../package-managers/npm");
const yarn_1 = require("../../package-managers/yarn");
const fs_1 = require("fs");
const path_1 = require("path");
jest.mock('fs');
jest.mock('path');
describe('PackageManagerFactory', () => {
beforeEach(() => {
jest.clearAllMocks();
path_1.join.mockImplementation((...args) => args.join('/'));
});
it('should create NpmPackageManager when no yarn.lock exists', async () => {
fs_1.existsSync.mockImplementation((path) => {
if (path.includes('yarn.lock'))
return false;
if (path.includes('package-lock.json'))
return true;
return false;
});
const manager = await factory_1.PackageManagerFactory.create();
expect(manager).toBeInstanceOf(npm_1.NpmPackageManager);
});
it('should create YarnPackageManager when yarn.lock exists', async () => {
fs_1.existsSync.mockImplementation((path) => {
if (path.includes('yarn.lock'))
return true;
if (path.includes('package-lock.json'))
return false;
return false;
});
const manager = await factory_1.PackageManagerFactory.create();
expect(manager).toBeInstanceOf(yarn_1.YarnPackageManager);
});
});