public void Create_Get_ReturnsViewResultWithNoModel() { var controller = new VenueController(null); var result = controller.Create(); var viewResult = Assert.IsType <ViewResult>(result); Assert.Null(viewResult.ViewData.Model); }
public async Task Create_Post_Unsuccessful_ReturnsViewResult_WithVenue() { var controller = new VenueController(null); controller.ModelState.AddModelError("Name", "Required"); var mockVenue = new Venue(); var result = await controller.Create(mockVenue); var viewResult = Assert.IsType <ViewResult>(result); Assert.IsAssignableFrom <Venue>(viewResult.ViewData.Model); }
public async Task Create_Post_Successful_ReturnsRedirectToAction() { var mockRepo = new Mock <IVenueRepository>(); mockRepo.Setup(repo => repo.Create(GetTestVenues()[0])) .ReturnsAsync(GetTestVenues()[0]); var controller = new VenueController(mockRepo.Object); var mockVenue = GetTestVenues()[0]; var result = await controller.Create(mockVenue); var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Null(redirectToActionResult.ControllerName); Assert.Equal("index", redirectToActionResult.ActionName); }
public async void Create_Errors() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); var mockResponse = new Mock <CreateResponse <ApiVenueServerResponseModel> >(null as ApiVenueServerResponseModel); var mockRecord = new ApiVenueServerResponseModel(); mockResponse.SetupGet(x => x.Success).Returns(false); mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiVenueServerRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiVenueServerResponseModel> >(mockResponse.Object)); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); IActionResult response = await controller.Create(new ApiVenueServerRequestModel()); response.Should().BeOfType <ObjectResult>(); (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity); mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiVenueServerRequestModel>())); }
public async void Create_No_Errors() { VenueControllerMockFacade mock = new VenueControllerMockFacade(); var mockResponse = ValidationResponseFactory <ApiVenueServerResponseModel> .CreateResponse(null as ApiVenueServerResponseModel); mockResponse.SetRecord(new ApiVenueServerResponseModel()); mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiVenueServerRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiVenueServerResponseModel> >(mockResponse)); VenueController controller = new VenueController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); IActionResult response = await controller.Create(new ApiVenueServerRequestModel()); response.Should().BeOfType <CreatedResult>(); (response as CreatedResult).StatusCode.Should().Be((int)HttpStatusCode.Created); var createResponse = (response as CreatedResult).Value as CreateResponse <ApiVenueServerResponseModel>; createResponse.Record.Should().NotBeNull(); mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiVenueServerRequestModel>())); }