|
13 | 13 | using FineCodeCoverage.Engine.ReportGenerator; |
14 | 14 | using FineCodeCoverage.Impl; |
15 | 15 | using FineCodeCoverage.Options; |
| 16 | +using FineCodeCoverage.Output; |
16 | 17 | using Moq; |
17 | 18 | using NUnit.Framework; |
18 | 19 |
|
@@ -254,30 +255,51 @@ public async Task Should_Not_Run_ReportGenerator_If_No_Successful_Projects() |
254 | 255 | } |
255 | 256 |
|
256 | 257 | [Test] |
257 | | - public async Task Should_Process_ReportGenerator_Output_If_Success() |
| 258 | + public async Task Should_Process_ReportGenerator_Output_If_Success_Raising_Events() |
258 | 259 | { |
259 | 260 | var passedProject = CreateSuitableProject(); |
260 | | - |
| 261 | + var reportGeneratorResult = new ReportGeneratorResult |
| 262 | + { |
| 263 | + UnifiedXmlFile = "Unified xml file", |
| 264 | + UnifiedHtml = "Unified html", |
| 265 | + HotspotsFile = "Hotspots file path", |
| 266 | + |
| 267 | + }; |
261 | 268 | var mockReportGenerator = mocker.GetMock<IReportGeneratorUtil>(); |
262 | 269 | mockReportGenerator.Setup(rg => |
263 | 270 | rg.GenerateAsync( |
264 | 271 | It.IsAny<IEnumerable<string>>(), |
265 | 272 | It.IsAny<string>(), |
266 | 273 | It.IsAny<CancellationToken>() |
267 | 274 | ).Result) |
268 | | - .Returns( |
269 | | - new ReportGeneratorResult |
270 | | - { |
271 | | - UnifiedXmlFile = "Unified xml file", |
272 | | - UnifiedHtml = "Unified html" |
273 | | - } |
274 | | - ); |
| 275 | + .Returns(reportGeneratorResult); |
| 276 | + |
| 277 | + mockReportGenerator.Setup(rg => rg.ProcessUnifiedHtml("Unified html", It.IsAny<string>())).Returns("processed"); |
275 | 278 |
|
276 | | - mockReportGenerator.Setup(rg => rg.ProcessUnifiedHtml("Unified html", It.IsAny<string>())); |
| 279 | + var mockCoberturaUtil = mocker.GetMock<ICoberturaUtil>(); |
| 280 | + var fileLineCoverage = new FileLineCoverage(); |
| 281 | + mockCoberturaUtil.Setup(coberturaUtil => coberturaUtil.ProcessCoberturaXml("Unified xml file")).Returns(fileLineCoverage); |
277 | 282 |
|
278 | 283 | await ReloadInitializedCoverage(passedProject.Object); |
279 | | - mocker.Verify<ICoberturaUtil>(coberturaUtil => coberturaUtil.ProcessCoberturaXml("Unified xml file")); |
| 284 | + |
280 | 285 | mockReportGenerator.VerifyAll(); |
| 286 | + mockReportGenerator.Verify(reportGenerator => reportGenerator.EndOfCoverageRun()); |
| 287 | + |
| 288 | + mocker.Verify<IEventAggregator>(eventAggregator => eventAggregator.SendMessage( |
| 289 | + It.Is<NewCoverageLinesMessage>(message => message.CoverageLines == fileLineCoverage), |
| 290 | + null |
| 291 | + )); |
| 292 | + |
| 293 | + mocker.Verify<IEventAggregator>(eventAggregator => eventAggregator.SendMessage( |
| 294 | + It.Is<NewReportMessage>(message => message.Report == "processed"), |
| 295 | + null |
| 296 | + )); |
| 297 | + |
| 298 | + mocker.Verify<IEventAggregator>(eventAggregator => eventAggregator.SendMessage( |
| 299 | + It.Is<ReportFilesMessage>(message => message.CoberturaFile == reportGeneratorResult.UnifiedXmlFile && message.HotspotsFile == reportGeneratorResult.HotspotsFile), |
| 300 | + null |
| 301 | + )); |
| 302 | + |
281 | 303 | } |
282 | 304 |
|
283 | 305 | [Test] |
|
0 commit comments