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);
        }
Exemple #2
0
            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();
            }
Exemple #3
0
            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);
            }
Exemple #4
0
            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);
            }