@@ -376,11 +376,17 @@ public async Task GivenANonExistentPackageIt404s()
376376 GetConfigurationService ( ) ,
377377 packageService : packageService ) ;
378378
379+ var version = "1.1.1" ;
380+ var packages = new Package [ 0 ] ;
379381 packageService . Setup ( p => p . FindPackagesById ( "Foo" , PackageDeprecationFieldsToInclude . Deprecation ) )
380- . Returns ( new Package [ 0 ] ) ;
382+ . Returns ( packages ) ;
383+
384+ packageService
385+ . Setup ( p => p . FilterExactPackage ( packages , version ) )
386+ . Returns ( ( Package ) null ) ;
381387
382388 // Act
383- var result = await controller . DisplayPackage ( "Foo" , "1.1.1" ) ;
389+ var result = await controller . DisplayPackage ( "Foo" , version ) ;
384390
385391 // Assert
386392 ResultAssert . IsNotFound ( result ) ;
@@ -523,6 +529,10 @@ private async Task<ActionResult> GetActionResultForPackageStatusAsync(
523529 . Setup ( p => p . FindPackagesById ( id , PackageDeprecationFieldsToInclude . Deprecation ) )
524530 . Returns ( packages ) ;
525531
532+ packageService
533+ . Setup ( p => p . FilterExactPackage ( packages , version ) )
534+ . Returns ( package ) ;
535+
526536 var getDeprecationByPackageSetup = deprecationService
527537 . Setup ( x => x . GetDeprecationByPackage ( package ) ) ;
528538
@@ -646,6 +656,10 @@ private async Task CheckValidPackage(User currentUser, User owner)
646656 . Setup ( p => p . FindPackagesById ( id , PackageDeprecationFieldsToInclude . Deprecation ) )
647657 . Returns ( packages ) ;
648658
659+ packageService
660+ . Setup ( p => p . FilterExactPackage ( packages , normalizedVersion ) )
661+ . Returns ( package ) ;
662+
649663 deprecationService
650664 . Setup ( x => x . GetDeprecationByPackage ( package ) )
651665 . Verifiable ( ) ;
@@ -994,6 +1008,7 @@ public async Task GetsValidationIssues()
9941008 var packages = new [ ] { package } ;
9951009 packageService . Setup ( p => p . FindPackagesById ( "Foo" , PackageDeprecationFieldsToInclude . Deprecation ) )
9961010 . Returns ( packages ) ;
1011+
9971012 packageService . Setup ( p => p . FilterLatestPackage ( packages , SemVerLevelKey . SemVer2 , true ) )
9981013 . Returns ( package ) ;
9991014
@@ -2691,12 +2706,18 @@ protected override Mock<IPackageService> SetupPackageService(bool isPackageMissi
26912706 . Returns ( packages )
26922707 . Verifiable ( ) ;
26932708
2694- if ( isPackageMissing )
2695- {
2696- packageService
2697- . Setup ( p => p . FilterLatestPackage ( packages , SemVerLevelKey . SemVer2 , true ) )
2698- . Returns ( ( Package ) null ) ;
2699- }
2709+ packageService
2710+ . Setup ( p => p . FilterExactPackage ( packages , It . Is < string > ( s => s == Package . Version || s == Package . NormalizedVersion ) ) )
2711+ . Returns ( isPackageMissing ? null : Package )
2712+ . Verifiable ( ) ;
2713+
2714+ packageService
2715+ . Setup ( svc => svc . FilterExactPackage ( packages , It . Is < string > ( s => s != Package . Version && s != Package . NormalizedVersion ) ) )
2716+ . Returns ( ( Package ) null ) ;
2717+
2718+ packageService
2719+ . Setup ( svc => svc . FilterLatestPackage ( packages , It . IsAny < int > ( ) , It . IsAny < bool > ( ) ) )
2720+ . Returns ( ( Package ) null ) ;
27002721
27012722 return packageService ;
27022723 }
@@ -2713,6 +2734,14 @@ protected override Mock<IPackageService> SetupPackageService(bool isPackageMissi
27132734 . Returns ( packages )
27142735 . Verifiable ( ) ;
27152736
2737+ packageService
2738+ . Setup ( p => p . FilterExactPackage ( packages , It . Is < string > ( s => s == Package . Version || s == Package . NormalizedVersion ) ) )
2739+ . Returns ( isPackageMissing ? null : Package ) ;
2740+
2741+ packageService
2742+ . Setup ( svc => svc . FilterExactPackage ( packages , It . Is < string > ( s => s != Package . Version && s != Package . NormalizedVersion ) ) )
2743+ . Returns ( ( Package ) null ) ;
2744+
27162745 packageService
27172746 . Setup ( p => p . FilterLatestPackage ( packages , SemVerLevelKey . SemVer2 , true ) )
27182747 . Returns ( isPackageMissing ? null : Package )
@@ -2790,6 +2819,11 @@ public void Returns404IfPackageNotFound()
27902819 . Setup ( x => x . FindPackagesById ( _packageRegistration . Id , PackageDeprecationFieldsToInclude . None ) )
27912820 . Returns ( new Package [ 0 ] ) ;
27922821
2822+ packageService
2823+ . Setup ( p => p . FilterExactPackage ( It . IsAny < IReadOnlyCollection < Package > > ( ) , It . IsAny < string > ( ) ) )
2824+ . Returns ( ( Package ) null )
2825+ . Verifiable ( ) ;
2826+
27932827 var controller = CreateController (
27942828 GetConfigurationService ( ) ,
27952829 packageService : packageService ) ;
@@ -2929,11 +2963,24 @@ public class TheDeleteSymbolsMethodWithExactVersion : TheDeleteSymbolsMethod
29292963 protected override Mock < IPackageService > CreatePackageService ( )
29302964 {
29312965 var packageService = new Mock < IPackageService > ( MockBehavior . Strict ) ;
2966+ var packages = _packageRegistration . Packages . ToList ( ) ;
29322967 packageService
29332968 . Setup ( svc => svc . FindPackagesById ( _packageId , PackageDeprecationFieldsToInclude . None ) )
2934- . Returns ( _packageRegistration . Packages . ToList ( ) )
2969+ . Returns ( packages )
29352970 . Verifiable ( ) ;
29362971
2972+ packageService
2973+ . Setup ( p => p . FilterExactPackage ( packages , It . Is < string > ( s => s == _package . Version || s == _package . NormalizedVersion ) ) )
2974+ . Returns ( _package ) ;
2975+
2976+ packageService
2977+ . Setup ( svc => svc . FilterExactPackage ( packages , It . Is < string > ( s => s != _package . Version && s != _package . NormalizedVersion ) ) )
2978+ . Returns ( ( Package ) null ) ;
2979+
2980+ packageService
2981+ . Setup ( svc => svc . FilterLatestPackage ( packages , It . IsAny < int > ( ) , It . IsAny < bool > ( ) ) )
2982+ . Returns ( ( Package ) null ) ;
2983+
29372984 return packageService ;
29382985 }
29392986
@@ -2954,6 +3001,14 @@ protected override Mock<IPackageService> CreatePackageService()
29543001 . Returns ( packages )
29553002 . Verifiable ( ) ;
29563003
3004+ packageService
3005+ . Setup ( p => p . FilterExactPackage ( packages , It . Is < string > ( s => s == _package . Version || s == _package . NormalizedVersion ) ) )
3006+ . Returns ( _package ) ;
3007+
3008+ packageService
3009+ . Setup ( svc => svc . FilterExactPackage ( packages , It . Is < string > ( s => s != _package . Version && s != _package . NormalizedVersion ) ) )
3010+ . Returns ( ( Package ) null ) ;
3011+
29573012 packageService
29583013 . Setup ( svc => svc . FilterLatestPackage ( packages , SemVerLevelKey . SemVer2 , true ) )
29593014 . Returns ( _package )
0 commit comments