public async Task PagesControllerIndexHtmlReturnsSuccessWhenNoData(string mediaTypeName) { // Arrange var controller = BuildSegmentController(mediaTypeName); var expectedIndexDocumentViewModel = new IndexDocumentViewModel { CanonicalName = "test-canonical-name" }; A.CallTo(() => FakeRelatedCareersSegmentService.GetAllAsync()).Returns((IEnumerable <RelatedCareersSegmentModel>)null); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <RelatedCareersSegmentModel> .Ignored)).Returns(expectedIndexDocumentViewModel); // Act var result = await controller.Index().ConfigureAwait(false); // Assert A.CallTo(() => FakeRelatedCareersSegmentService.GetAllAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <RelatedCareersSegmentModel> .Ignored)).MustNotHaveHappened(); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IndexViewModel>(viewResult.ViewData.Model); Assert.Null(model.Documents); controller.Dispose(); }
public async Task ReturnsSuccessWhenNoData(string mediaTypeName) { // Arrange IEnumerable <JobProfileSkillSegmentModel> expectedResults = null; var controller = BuildSegmentController(mediaTypeName); var indexDocumentViewModel = new IndexDocumentViewModel { CanonicalName = "job-profile-1" }; A.CallTo(() => FakeSkillSegmentService.GetAllAsync()).Returns(expectedResults); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <JobProfileSkillSegmentModel> .Ignored)).Returns(indexDocumentViewModel); // Act var result = await controller.Index().ConfigureAwait(false); // Assert A.CallTo(() => FakeSkillSegmentService.GetAllAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <JobProfileSkillSegmentModel> .Ignored)).MustNotHaveHappened(); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IndexViewModel>(viewResult.ViewData.Model); A.Equals(null, model.Documents); controller.Dispose(); }
public async Task SegmentControllerIndexHtmlReturnsSuccess(string mediaTypeName) { // Arrange const int resultsCount = 2; var expectedResults = A.CollectionOfFake <RelatedCareersSegmentModel>(resultsCount); var controller = BuildSegmentController(mediaTypeName); var expectedIndexDocumentViewModel = new IndexDocumentViewModel { CanonicalName = "test-canonical-name" }; A.CallTo(() => FakeRelatedCareersSegmentService.GetAllAsync()).Returns(expectedResults); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <RelatedCareersSegmentModel> .Ignored)).Returns(expectedIndexDocumentViewModel); // Act var result = await controller.Index().ConfigureAwait(false); // Assert A.CallTo(() => FakeRelatedCareersSegmentService.GetAllAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <RelatedCareersSegmentModel> .Ignored)).MustHaveHappened(resultsCount, Times.Exactly); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IndexViewModel>(viewResult.ViewData.Model); Assert.Equal(resultsCount, model.Documents.Count()); controller.Dispose(); }