@@ -1076,6 +1076,115 @@ public async Task ShowsAtomFeedIfEnabled(bool isAtomFeedEnabled)
10761076 deprecationService . Verify ( ) ;
10771077 }
10781078
1079+ [ Theory ]
1080+ [ InlineData ( false ) ]
1081+ [ InlineData ( true ) ]
1082+ public async Task DoesNotShowDeprecationToLoggedOutUsers ( bool isDeprecationEnabled )
1083+ {
1084+ var featureFlagService = new Mock < IFeatureFlagService > ( ) ;
1085+ var packageService = new Mock < IPackageService > ( ) ;
1086+ var deprecationService = new Mock < IPackageDeprecationService > ( ) ;
1087+ var controller = CreateController (
1088+ GetConfigurationService ( ) ,
1089+ packageService : packageService ,
1090+ featureFlagService : featureFlagService ,
1091+ deprecationService : deprecationService ) ;
1092+
1093+ var id = "Foo" ;
1094+ var package = new Package ( )
1095+ {
1096+ PackageRegistration = new PackageRegistration ( )
1097+ {
1098+ Id = id ,
1099+ Owners = new List < User > ( )
1100+ } ,
1101+ Version = "01.1.01" ,
1102+ NormalizedVersion = "1.1.1" ,
1103+ Title = "A test package!"
1104+ } ;
1105+
1106+ var packages = new [ ] { package } ;
1107+ packageService
1108+ . Setup ( p => p . FindPackagesById ( id , PackageDeprecationFieldsToInclude . Deprecation ) )
1109+ . Returns ( packages ) ;
1110+
1111+ packageService
1112+ . Setup ( p => p . FilterLatestPackage ( packages , SemVerLevelKey . SemVer2 , true ) )
1113+ . Returns ( package ) ;
1114+
1115+ featureFlagService
1116+ . Setup ( x => x . IsManageDeprecationEnabled ( It . IsAny < User > ( ) ) )
1117+ . Returns ( isDeprecationEnabled ) ;
1118+
1119+ deprecationService
1120+ . Setup ( x => x . GetDeprecationByPackage ( package ) )
1121+ . Verifiable ( ) ;
1122+
1123+ // Arrange and Act
1124+ var result = await controller . DisplayPackage ( id , version : null ) ;
1125+
1126+ // Assert
1127+ var model = ResultAssert . IsView < DisplayPackageViewModel > ( result ) ;
1128+ Assert . False ( model . IsPackageDeprecationEnabled ) ;
1129+
1130+ deprecationService . Verify ( ) ;
1131+ }
1132+
1133+ [ Theory ]
1134+ [ InlineData ( false ) ]
1135+ [ InlineData ( true ) ]
1136+ public async Task ShowsDeprecationIfEnabled ( bool isDeprecationEnabled )
1137+ {
1138+ var featureFlagService = new Mock < IFeatureFlagService > ( ) ;
1139+ var packageService = new Mock < IPackageService > ( ) ;
1140+ var deprecationService = new Mock < IPackageDeprecationService > ( ) ;
1141+ var controller = CreateController (
1142+ GetConfigurationService ( ) ,
1143+ packageService : packageService ,
1144+ featureFlagService : featureFlagService ,
1145+ deprecationService : deprecationService ) ;
1146+ controller . SetCurrentUser ( TestUtility . FakeUser ) ;
1147+
1148+ var id = "Foo" ;
1149+ var package = new Package ( )
1150+ {
1151+ PackageRegistration = new PackageRegistration ( )
1152+ {
1153+ Id = id ,
1154+ Owners = new List < User > ( )
1155+ } ,
1156+ Version = "01.1.01" ,
1157+ NormalizedVersion = "1.1.1" ,
1158+ Title = "A test package!"
1159+ } ;
1160+
1161+ var packages = new [ ] { package } ;
1162+ packageService
1163+ . Setup ( p => p . FindPackagesById ( id , PackageDeprecationFieldsToInclude . Deprecation ) )
1164+ . Returns ( packages ) ;
1165+
1166+ packageService
1167+ . Setup ( p => p . FilterLatestPackage ( packages , SemVerLevelKey . SemVer2 , true ) )
1168+ . Returns ( package ) ;
1169+
1170+ featureFlagService
1171+ . Setup ( x => x . IsManageDeprecationEnabled ( TestUtility . FakeUser ) )
1172+ . Returns ( isDeprecationEnabled ) ;
1173+
1174+ deprecationService
1175+ . Setup ( x => x . GetDeprecationByPackage ( package ) )
1176+ . Verifiable ( ) ;
1177+
1178+ // Arrange and Act
1179+ var result = await controller . DisplayPackage ( id , version : null ) ;
1180+
1181+ // Assert
1182+ var model = ResultAssert . IsView < DisplayPackageViewModel > ( result ) ;
1183+ Assert . Equal ( isDeprecationEnabled , model . IsPackageDeprecationEnabled ) ;
1184+
1185+ deprecationService . Verify ( ) ;
1186+ }
1187+
10791188 [ Fact ]
10801189 public async Task SplitsLicenseExpressionWhenProvided ( )
10811190 {
0 commit comments