public void AddAddress_DataProviderThrowsException_Returns500Response() { // Arrange mockCustomerDataProvider.Setup(x => x.AddAddress(It.IsAny <Address>())).Throws(new Exception()); // Act var result = controller.AddAddress(202, new AddressModel()) as StatusCodeResult; // Assert result.Should().NotBeNull(); result.StatusCode.Should().Be(500); }
public async Task AddAddressGet_ReturnsViewModel( [Frozen] Mock <ICustomerService> customerService, EditCustomerAddressViewModel viewModel, [Greedy] CustomerController sut ) { //Arrange customerService.Setup(x => x.AddAddress( It.IsAny <string>(), It.IsAny <string>() )) .Returns(viewModel); //Act var actionResult = await sut.AddAddress( viewModel.AccountNumber, viewModel.CustomerName ); //Assert var viewResult = actionResult.Should().BeAssignableTo <ViewResult>().Subject; viewResult.Model.Should().Be(viewModel); viewResult.ViewData["addressTypes"].Should().NotBeNull(); viewResult.ViewData["countries"].Should().NotBeNull(); viewResult.ViewData["statesProvinces"].Should().NotBeNull(); }
public async Task AddAddressPost_InvalidModelState_ReturnsViewModel( EditCustomerAddressViewModel viewModel, [Greedy] CustomerController sut ) { //Arrange sut.ModelState.AddModelError("AccountNumber", viewModel.AccountNumber); //Act var actionResult = await sut.AddAddress(viewModel); //Assert var viewResult = actionResult.Should().BeAssignableTo <ViewResult>().Subject; viewResult.Model.Should().Be(viewModel); }
public async Task AddAddressPost_ValidModelState_ReturnsRedirect( EditCustomerAddressViewModel viewModel, [Greedy] CustomerController sut ) { //Act var actionResult = await sut.AddAddress(viewModel); //Assert var redirectResult = actionResult.Should().BeAssignableTo <RedirectToActionResult>().Subject; redirectResult.ActionName.Should().Be("Detail"); redirectResult.RouteValues.Count.Should().Be(1); redirectResult.RouteValues.ContainsKey("AccountNumber"); redirectResult.RouteValues.Values.Contains(viewModel.AccountNumber); }