@@ -52,8 +52,8 @@ public void ConstructorThrowsWhenEmailConfigurationValueIsNull()
5252 private const string ValidSettingsUrl = "https://example.com" ;
5353 public static IEnumerable < object [ ] > EmailConfigurationPropertyValuesCombinations =>
5454 ( from invalidValue in InvalidValuesToTest
55- select new [ ]
56- {
55+ select new [ ]
56+ {
5757 new object [ ] { invalidValue , ValidValue , ValidSettingsUrl , "PackageUrlTemplate" } ,
5858 new object [ ] { ValidValue , invalidValue , ValidSettingsUrl , "PackageSupportTemplate" } ,
5959 new object [ ] { ValidValue , ValidValue , invalidValue , "EmailSettingsUrl" }
@@ -132,30 +132,40 @@ public void SendPackageValidationFailedMessageCallsCoreMessageService()
132132
133133 var service = new PackageMessageService ( CoreMessageServiceMock . Object , EmailConfigurationAccessorMock . Object , LoggerMock . Object ) ;
134134
135- var ex = Record . Exception ( ( ) => service . SendValidationFailedMessage ( Package ) ) ;
135+ var ex = Record . Exception ( ( ) => service . SendValidationFailedMessage ( Package , ValidationSet ) ) ;
136136 Assert . Null ( ex ) ;
137137
138138 CoreMessageServiceMock
139- . Verify ( cms => cms . SendPackageValidationFailedNotice ( Package , expectedPackageUrl , expectedSupportUrl ) , Times . Once ( ) ) ;
139+ . Verify ( cms => cms . SendPackageValidationFailedNotice ( Package , ValidationSet , expectedPackageUrl , expectedSupportUrl , EmailConfiguration . AnnouncementsUrl , EmailConfiguration . TwitterUrl ) , Times . Once ( ) ) ;
140140 CoreMessageServiceMock
141- . Verify ( cms => cms . SendPackageValidationFailedNotice ( It . IsAny < Package > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) ) , Times . Once ( ) ) ;
141+ . Verify ( cms => cms . SendPackageValidationFailedNotice ( It . IsAny < Package > ( ) , It . IsAny < PackageValidationSet > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) ) , Times . Once ( ) ) ;
142142 }
143143
144144 [ Fact ]
145145 public void SendPackageValidationFailedMessageThrowsWhenPackageIsNull ( )
146146 {
147147 var service = new PackageMessageService ( CoreMessageServiceMock . Object , EmailConfigurationAccessorMock . Object , LoggerMock . Object ) ;
148- var ex = Assert . Throws < ArgumentNullException > ( ( ) => service . SendValidationFailedMessage ( null ) ) ;
148+ var ex = Assert . Throws < ArgumentNullException > ( ( ) => service . SendValidationFailedMessage ( null , new PackageValidationSet ( ) ) ) ;
149149 Assert . Equal ( "package" , ex . ParamName ) ;
150150 }
151151
152+ [ Fact ]
153+ public void SendPackageValidationFailedMessageThrowsWhenValidationSetIsNull ( )
154+ {
155+ var service = new PackageMessageService ( CoreMessageServiceMock . Object , EmailConfigurationAccessorMock . Object , LoggerMock . Object ) ;
156+ var ex = Assert . Throws < ArgumentNullException > ( ( ) => service . SendValidationFailedMessage ( new Package ( ) , null ) ) ;
157+ Assert . Equal ( "validationSet" , ex . ParamName ) ;
158+ }
159+
152160 public MessageServiceFacts ( )
153161 {
154162 EmailConfiguration = new EmailConfiguration
155163 {
156164 PackageUrlTemplate = "https://example.com/package/{0}/{1}" ,
157165 PackageSupportTemplate = "https://example.com/packageSupport/{0}/{1}" ,
158- EmailSettingsUrl = ValidSettingsUrl
166+ EmailSettingsUrl = ValidSettingsUrl ,
167+ AnnouncementsUrl = "https://announcements.com" ,
168+ TwitterUrl = "https://twitter.com/nuget"
159169 } ;
160170
161171 EmailConfigurationAccessorMock
@@ -169,12 +179,15 @@ public MessageServiceFacts()
169179 NormalizedVersion = "1.2.3"
170180 } ;
171181 Package . PackageRegistration . Packages = new List < Package > { Package } ;
182+
183+ ValidationSet = new PackageValidationSet ( ) ;
172184 }
173185
174186 private Mock < ICoreMessageService > CoreMessageServiceMock { get ; set ; } = new Mock < ICoreMessageService > ( ) ;
175187 private Mock < IOptionsSnapshot < EmailConfiguration > > EmailConfigurationAccessorMock { get ; set ; } = new Mock < IOptionsSnapshot < EmailConfiguration > > ( ) ;
176188 private Mock < ILogger < PackageMessageService > > LoggerMock { get ; set ; } = new Mock < ILogger < PackageMessageService > > ( ) ;
177189 private Package Package { get ; set ; }
190+ private PackageValidationSet ValidationSet { get ; set ; }
178191 private EmailConfiguration EmailConfiguration { get ; set ; }
179192 }
180193}
0 commit comments