public async Task SegmentControllerPutReturnsNotFoundForUpdate(string mediaTypeName) { // Arrange const HttpStatusCode expectedResponse = HttpStatusCode.NotFound; var modelToUpsert = A.Fake <JobProfileOverviewSegmentModel>(); var controller = BuildSegmentController(mediaTypeName); A.CallTo(() => FakeJobProfileOverviewSegmentService.GetByIdAsync(A <Guid> .Ignored)).Returns((JobProfileOverviewSegmentModel)null); // Act var result = await controller.Put(modelToUpsert).ConfigureAwait(false); // Assert A.CallTo(() => FakeJobProfileOverviewSegmentService.GetByIdAsync(A <Guid> .Ignored)).MustHaveHappenedOnceExactly(); var statusCodeResult = Assert.IsType <StatusCodeResult>(result); Assert.Equal((int)expectedResponse, statusCodeResult.StatusCode); controller.Dispose(); }
public async Task SegmentControllerPatchWorkingPatternReturnsNotFound(string mediaTypeName) { // Arrange const HttpStatusCode expectedResponse = HttpStatusCode.NotFound; var patchModel = A.Fake <PatchWorkingPatternModel>(); var documentId = Guid.NewGuid(); var controller = BuildSegmentController(mediaTypeName); A.CallTo(() => FakeJobProfileOverviewSegmentService.PatchWorkingPatternAsync(patchModel, documentId)).Returns(expectedResponse); // Act var result = await controller.PatchWorkingPattern(patchModel, documentId).ConfigureAwait(false); // Assert A.CallTo(() => FakeJobProfileOverviewSegmentService.PatchWorkingPatternAsync(patchModel, documentId)).MustHaveHappenedOnceExactly(); var statusResult = Assert.IsType <StatusCodeResult>(result); Assert.Equal((int)expectedResponse, statusResult.StatusCode); controller.Dispose(); }
public async Task ReturnsSuccessWhenNoData(string mediaTypeName) { // Arrange IEnumerable <JobProfileOverviewSegmentModel> expectedResults = null; var controller = BuildSegmentController(mediaTypeName); A.CallTo(() => FakeJobProfileOverviewSegmentService.GetAllAsync()).Returns(expectedResults); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <JobProfileOverviewSegmentModel> .Ignored)).Returns(A.Fake <IndexDocumentViewModel>()); // Act var result = await controller.Index().ConfigureAwait(false); // Assert A.CallTo(() => FakeJobProfileOverviewSegmentService.GetAllAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <JobProfileOverviewSegmentModel> .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 ReturnsSuccessForHtmlMediaType(string mediaTypeName) { // Arrange const int resultsCount = 2; var expectedResults = A.CollectionOfFake <JobProfileOverviewSegmentModel>(resultsCount); var controller = BuildSegmentController(mediaTypeName); A.CallTo(() => FakeJobProfileOverviewSegmentService.GetAllAsync()).Returns(expectedResults); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <JobProfileOverviewSegmentModel> .Ignored)).Returns(A.Fake <IndexDocumentViewModel>()); // Act var result = await controller.Index().ConfigureAwait(false); // Assert A.CallTo(() => FakeJobProfileOverviewSegmentService.GetAllAsync()).MustHaveHappenedOnceExactly(); A.CallTo(() => FakeMapper.Map <IndexDocumentViewModel>(A <JobProfileOverviewSegmentModel> .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(); }