diff --git a/lib/util/package-rules/package-names.spec.ts b/lib/util/package-rules/package-names.spec.ts index f33b00c7e117d2..81adac82e44e94 100644 --- a/lib/util/package-rules/package-names.spec.ts +++ b/lib/util/package-rules/package-names.spec.ts @@ -1,3 +1,4 @@ +import { logger } from '../../../test/util'; import { PackageNameMatcher } from './package-names'; describe('util/package-rules/package-names', () => { @@ -16,6 +17,19 @@ describe('util/package-rules/package-names', () => { expect(result).toBeFalse(); }); + it('should return false if not matching', () => { + const result = packageNameMatcher.matches( + { + depName: 'abc', + packageName: 'def', + }, + { + matchPackageNames: ['ghi'], + }, + ); + expect(result).toBeFalse(); + }); + it('should matchPackageName', () => { const result = packageNameMatcher.matches( { @@ -23,7 +37,7 @@ describe('util/package-rules/package-names', () => { packageName: 'def', }, { - matchPackageNames: ['def'], + matchPackageNames: ['def', 'ghi'], }, ); expect(result).toBeTrue(); @@ -36,15 +50,16 @@ describe('util/package-rules/package-names', () => { packageName: 'def', }, { - matchPackageNames: ['abc'], + matchPackageNames: ['ghi', 'abc'], }, ); expect(result).toBeTrue(); + expect(logger.logger.once.info).toHaveBeenCalled(); }); }); describe('exclude', () => { - it('should return false if packageFile is not defined', () => { + it('should return false if packageName is not defined', () => { const result = packageNameMatcher.excludes( { depName: undefined, @@ -55,18 +70,45 @@ describe('util/package-rules/package-names', () => { ); expect(result).toBeFalse(); }); - }); - it('should excludePackageName', () => { - const result = packageNameMatcher.excludes( - { - depName: 'abc', - packageName: 'def', - }, - { - excludePackageNames: ['def'], - }, - ); - expect(result).toBeTrue(); + it('should return false if not matching', () => { + const result = packageNameMatcher.excludes( + { + depName: 'abc', + packageName: 'def', + }, + { + excludePackageNames: ['ghi'], + }, + ); + expect(result).toBeFalse(); + }); + + it('should excludePackageName', () => { + const result = packageNameMatcher.excludes( + { + depName: 'abc', + packageName: 'def', + }, + { + excludePackageNames: ['def', 'ghi'], + }, + ); + expect(result).toBeTrue(); + }); + + it('should fall back to depName excludePackageName', () => { + const result = packageNameMatcher.excludes( + { + depName: 'abc', + packageName: 'def', + }, + { + excludePackageNames: ['abc', 'ghi'], + }, + ); + expect(result).toBeTrue(); + expect(logger.logger.once.info).toHaveBeenCalled(); + }); }); });