Exemple #1
0
            public async Task DeleteAddressGet_ReturnsViewModel(
                [Frozen] Mock <ICustomerService> customerService,
                DeleteCustomerAddressViewModel viewModel,
                [Greedy] CustomerController sut
                )
            {
                //Arrange
                customerService.Setup(x => x.GetCustomerAddressForDelete(
                                          It.IsAny <string>(), It.IsAny <string>()
                                          ))
                .ReturnsAsync(viewModel);

                //Act
                var actionResult = await sut.DeleteAddress(
                    viewModel.AccountNumber,
                    viewModel.AddressType
                    );

                //Assert
                var viewResult = actionResult.Should().BeAssignableTo <ViewResult>().Subject;

                viewResult.Model.Should().Be(viewModel);

                customerService.Verify(x => x.GetCustomerAddressForDelete(
                                           It.IsAny <string>(), It.IsAny <string>())
                                       );
            }
        public async Task <IActionResult> DeleteAddress(DeleteCustomerAddressViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                await customerService.DeleteAddress(
                    viewModel.AccountNumber,
                    viewModel.AddressType
                    );

                return(RedirectToAction("Detail", new { viewModel.AccountNumber }));
            }

            return(View(viewModel));
        }
Exemple #3
0
            public async Task DeleteAddressPost_InvalidModelState_ReturnsViewModel(
                DeleteCustomerAddressViewModel viewModel,
                [Greedy] CustomerController sut
                )
            {
                //Arrange
                sut.ModelState.AddModelError("AccountNumber", "AW00000001");

                //Act
                var actionResult = await sut.DeleteAddress(viewModel);

                //Assert
                var viewResult = actionResult.Should().BeAssignableTo <ViewResult>().Subject;

                viewResult.Model.Should().Be(viewModel);
            }
Exemple #4
0
            public async Task DeleteAddressPost_ValidModelState_ReturnsRedirect(
                [Frozen] Mock <ICustomerService> customerService,
                DeleteCustomerAddressViewModel viewModel,
                [Greedy] CustomerController sut
                )
            {
                //Act
                var actionResult = await sut.DeleteAddress(viewModel);

                //Assert
                customerService.Verify(x => x.DeleteAddress(
                                           It.IsAny <string>(), It.IsAny <string>()
                                           ));

                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);
            }