| 
 | 1 | +/* @flow */  | 
 | 2 | + | 
 | 3 | +import {getPackageVersion, isPackagePresent, runInstall} from '../_helpers.js';  | 
 | 4 | + | 
 | 5 | +test.concurrent('install with simple exact resolutions should override all versions', (): Promise<void> => {  | 
 | 6 | +  return runInstall({}, {source: 'resolutions', cwd: 'simple-exact'}, async config => {  | 
 | 7 | +    expect(await getPackageVersion(config, 'a')).toEqual('1.0.0');  | 
 | 8 | +    expect(await getPackageVersion(config, 'b')).toEqual('1.0.0');  | 
 | 9 | +    expect(await getPackageVersion(config, 'd1')).toEqual('2.0.0');  | 
 | 10 | +    expect(await getPackageVersion(config, 'd2')).toEqual('1.0.0');  | 
 | 11 | +    expect(await isPackagePresent(config, 'a/d1')).toEqual(false);  | 
 | 12 | +    expect(await isPackagePresent(config, 'a/d2')).toEqual(false);  | 
 | 13 | +    expect(await isPackagePresent(config, 'b/d1')).toEqual(false);  | 
 | 14 | +    expect(await isPackagePresent(config, 'b/d2')).toEqual(false);  | 
 | 15 | +  });  | 
 | 16 | +});  | 
 | 17 | + | 
 | 18 | +test.concurrent('install with subtree exact resolutions should override subtree versions', (): Promise<void> => {  | 
 | 19 | +  return runInstall({}, {source: 'resolutions', cwd: 'subtree-exact'}, async config => {  | 
 | 20 | +    expect(await getPackageVersion(config, 'left-pad')).toEqual('1.0.0');  | 
 | 21 | +    expect(await getPackageVersion(config, 'd2')).toEqual('1.0.0');  | 
 | 22 | +    expect(await getPackageVersion(config, 'd2/left-pad')).toEqual('1.1.1');  | 
 | 23 | +    expect(await getPackageVersion(config, 'c')).toEqual('1.0.0');  | 
 | 24 | +    expect(await getPackageVersion(config, 'c/left-pad')).toEqual('1.1.2');  | 
 | 25 | +  });  | 
 | 26 | +});  | 
0 commit comments