Skip to content

Commit 4ff4588

Browse files
committed
fix tests
1 parent 990d7c9 commit 4ff4588

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

packages/utils/core-utils/spec/package-manager.spec.ts

+13-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import findUp from 'find-up';
22
import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
33

4-
import { resolvePackageManager } from '../src/package-manager';
5-
64
vi.mock('find-up', async (importOriginal) => {
75
const mod = await importOriginal<object>();
86
return {
@@ -12,7 +10,11 @@ vi.mock('find-up', async (importOriginal) => {
1210
});
1311

1412
describe('package-manager', () => {
15-
describe('npm_config_user_agent', () => {
13+
// Reset modules for each test because the value of `resolvePackageManager` is cached within the module.
14+
beforeEach(() => {
15+
vi.resetModules();
16+
});
17+
describe('npm_config_user_agent', async () => {
1618
beforeAll(() => {
1719
const originalUa = process.env.npm_config_user_agent;
1820

@@ -26,23 +28,27 @@ describe('package-manager', () => {
2628
{ ua: 'pnpm/10.0.0 npm/? node/v20.11.1 darwin arm64', pm: 'pnpm', version: '10.0.0' },
2729
{ ua: 'npm/10.9.2 node/v22.13.0 darwin arm64 workspaces/false', pm: 'npm', version: '10.9.2' },
2830
])('with $ua', async ({ ua, pm, version }) => {
31+
const { resolvePackageManager } = await import('../src/package-manager');
2932
process.env.npm_config_user_agent = ua;
3033
await expect(resolvePackageManager()).resolves.toHaveProperty('executable', pm);
3134
await expect(resolvePackageManager()).resolves.toHaveProperty('version', version);
3235
});
3336

3437
it('should return yarn if npm_config_user_agent=yarn', async () => {
38+
const { resolvePackageManager } = await import('../src/package-manager');
3539
process.env.npm_config_user_agent = 'yarn/1.22.22 npm/? node/v22.13.0 darwin arm64';
3640
await expect(resolvePackageManager()).resolves.toHaveProperty('executable', 'yarn');
3741
await expect(resolvePackageManager()).resolves.toHaveProperty('version', '1.22.22');
3842
});
3943

4044
it('should return pnpm if npm_config_user_agent=pnpm', async () => {
45+
const { resolvePackageManager } = await import('../src/package-manager');
4146
process.env.npm_config_user_agent = 'pnpm/10.0.0 npm/? node/v20.11.1 darwin arm64';
4247
await expect(resolvePackageManager()).resolves.toHaveProperty('executable', 'pnpm');
4348
});
4449

4550
it('should return npm if npm_config_user_agent=npm', async () => {
51+
const { resolvePackageManager } = await import('../src/package-manager');
4652
process.env.npm_config_user_agent = 'npm/10.9.2 node/v22.13.0 darwin arm64 workspaces/false';
4753
await expect(resolvePackageManager()).resolves.toHaveProperty('executable', 'npm');
4854
});
@@ -71,11 +77,13 @@ describe('package-manager', () => {
7177
});
7278

7379
it.each([{ pm: 'yarn' }, { pm: 'npm' }, { pm: 'pnpm' }])('should return $pm if NODE_INSTALLER=$pm', async ({ pm }) => {
80+
const { resolvePackageManager } = await import('../src/package-manager');
7481
process.env.NODE_INSTALLER = pm;
7582
await expect(resolvePackageManager()).resolves.toHaveProperty('executable', pm);
7683
});
7784

7885
it('should return npm if package manager is unsupported', async () => {
86+
const { resolvePackageManager } = await import('../src/package-manager');
7987
process.env.NODE_INSTALLER = 'bun';
8088
console.warn = vi.fn();
8189
await expect(resolvePackageManager()).resolves.toHaveProperty('executable', 'npm');
@@ -84,11 +92,13 @@ describe('package-manager', () => {
8492
});
8593

8694
it('should use the package manager for the nearest ancestor lockfile if detected', async () => {
95+
const { resolvePackageManager } = await import('../src/package-manager');
8796
vi.mocked(findUp).mockResolvedValue('yarn.lock');
8897
await expect(resolvePackageManager()).resolves.toHaveProperty('executable', 'yarn');
8998
});
9099

91100
it('should fall back to npm if no other strategy worked', async () => {
101+
const { resolvePackageManager } = await import('../src/package-manager');
92102
process.env.npm_config_user_agent = undefined;
93103
vi.mocked(findUp).mockResolvedValue(undefined);
94104
await expect(resolvePackageManager()).resolves.toHaveProperty('executable', 'npm');

0 commit comments

Comments
 (0)