UNPKG

depguard

Version:

A powerful CLI tool to check and update npm/yarn dependencies in your projects

61 lines (60 loc) 2.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const check_1 = require("../check"); const factory_1 = require("../package-managers/factory"); jest.mock('fs'); jest.mock('path'); jest.mock('../package-managers/factory'); describe('Check', () => { let check; let mockPackageManager; beforeEach(() => { mockPackageManager = { name: 'npm', initialize: jest.fn().mockResolvedValue(undefined), getLatestVersion: jest.fn(), updatePackage: jest.fn(), updateAllPackages: jest.fn(), install: jest.fn(), getLockFile: jest.fn().mockReturnValue('package-lock.json') }; factory_1.PackageManagerFactory.createSync.mockReturnValue(mockPackageManager); path_1.default.resolve.mockReturnValue('/test/package.json'); fs_1.default.readFileSync.mockReturnValue(JSON.stringify({ dependencies: { 'package1': '^1.0.0', 'package2': '^2.0.0' }, devDependencies: { 'package3': '^3.0.0' } })); check = new check_1.Check(); }); describe('checkUpdates', () => { it('should check updates for all dependencies', async () => { mockPackageManager.getLatestVersion .mockResolvedValueOnce('2.0.0') .mockResolvedValueOnce('3.0.0') .mockResolvedValueOnce('4.0.0'); await check.checkUpdates(); expect(mockPackageManager.getLatestVersion).toHaveBeenCalledTimes(3); expect(mockPackageManager.getLatestVersion).toHaveBeenCalledWith('package1'); expect(mockPackageManager.getLatestVersion).toHaveBeenCalledWith('package2'); expect(mockPackageManager.getLatestVersion).toHaveBeenCalledWith('package3'); }); it('should handle failed version fetches', async () => { mockPackageManager.getLatestVersion .mockResolvedValueOnce('2.0.0') .mockResolvedValueOnce(null) .mockResolvedValueOnce('4.0.0'); await check.checkUpdates(); expect(mockPackageManager.getLatestVersion).toHaveBeenCalledTimes(3); }); }); });