public async Task SegmentServiceSegmentsHealthCheckAsyncReturnsSuccess() { // arrange var segmentService = new SegmentService( logService, overviewBannerSegmentService, howToBecomeSegmentService, whatItTakesSegmentService, whatYouWillDoSegmentService, careerPathSegmentService, currentOpportunitiesSegmentService, relatedCareersSegmentService); var expectedResult = new HealthCheckItems { Source = new Uri("http://somewhere.com"), HealthItems = new List <HealthCheckItem> { new HealthCheckItem { Service = "Unit test", Message = "All ok", }, }, }; A.CallTo(() => careerPathSegmentService.HealthCheckAsync()).Returns(Task.FromResult(expectedResult)); A.CallTo(() => currentOpportunitiesSegmentService.HealthCheckAsync()).Returns(Task.FromResult(expectedResult)); A.CallTo(() => howToBecomeSegmentService.HealthCheckAsync()).Returns(Task.FromResult(expectedResult)); A.CallTo(() => overviewBannerSegmentService.HealthCheckAsync()).Returns(Task.FromResult(expectedResult)); A.CallTo(() => relatedCareersSegmentService.HealthCheckAsync()).Returns(Task.FromResult(expectedResult)); A.CallTo(() => whatItTakesSegmentService.HealthCheckAsync()).Returns(Task.FromResult(expectedResult)); A.CallTo(() => whatYouWillDoSegmentService.HealthCheckAsync()).Returns(Task.FromResult(expectedResult)); // act var results = await segmentService.SegmentsHealthCheckAsync().ConfigureAwait(false); // assert A.CallTo(() => careerPathSegmentService.HealthCheckAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => currentOpportunitiesSegmentService.HealthCheckAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => howToBecomeSegmentService.HealthCheckAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => overviewBannerSegmentService.HealthCheckAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => relatedCareersSegmentService.HealthCheckAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => whatItTakesSegmentService.HealthCheckAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => whatYouWillDoSegmentService.HealthCheckAsync()).MustHaveHappenedOnceExactly(); results.Count.Should().Be(NumberOfSegmentServices); results[0].Service.Should().Be(expectedResult.HealthItems[0].Service); results[0].Message.Should().Be(expectedResult.HealthItems[0].Message); }
public async Task <IList <HealthCheckItem> > SegmentsHealthCheckAsync() { var tasks = new List <Task <HealthCheckItems> > { careerPathSegmentService.HealthCheckAsync(), currentOpportunitiesSegmentService.HealthCheckAsync(), howToBecomeSegmentService.HealthCheckAsync(), overviewBannerSegmentService.HealthCheckAsync(), relatedCareersSegmentService.HealthCheckAsync(), whatItTakesSegmentService.HealthCheckAsync(), whatYouWillDoSegmentService.HealthCheckAsync(), }; await Task.WhenAll(tasks).ConfigureAwait(false); var result = new List <HealthCheckItem>(); tasks.ForEach(f => result.AddRange(GetHealthResults(f))); return(result); }