Exemple #1
0
            public void AddContactEmailAddressGet_ReturnsViewModel(
                [Frozen] Mock <ICustomerService> customerService,
                EditEmailAddressViewModel viewModel,
                [Greedy] CustomerController sut
                )
            {
                //Arrange
                customerService.Setup(x => x.AddEmailAddress(
                                          It.IsAny <string>(), It.IsAny <string>()
                                          ))
                .Returns(viewModel);

                //Act
                var actionResult = sut.AddContactEmailAddress(
                    viewModel.AccountNumber,
                    viewModel.PersonName
                    );

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

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

                customerService.Verify(x => x.AddEmailAddress(
                                           It.IsAny <string>(), It.IsAny <string>())
                                       );
            }
Exemple #2
0
            public async Task AddContactEmailAddressPost_InvalidModelState_ReturnsViewModel(
                [Frozen] Mock <ICustomerService> customerService,
                EditEmailAddressViewModel viewModel,
                [Greedy] CustomerController sut
                )
            {
                //Arrange
                customerService.Setup(x => x.AddEmailAddress(
                                          It.IsAny <string>(), It.IsAny <string>()
                                          ))
                .Returns(viewModel);

                sut.ModelState.AddModelError("AccountNumber", viewModel.AccountNumber);

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

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

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