コード例 #1
0
        public void Add_NoParams_ReturnsViewResult()
        {
            // Arrange
            IRepository <PartnerOrganization> repository = Substitute.For <IRepository <PartnerOrganization> >();
            PartnerOrganizationController     controller = new PartnerOrganizationController(repository);

            // Act
            IActionResult result = controller.Add();

            // Assert
            Assert.IsType <ViewResult>(result);
        }
コード例 #2
0
        public async Task Index_NoParams_ResultModelIsEnumerableOfPartnerOrganizationViewModel()
        {
            // Arrange
            IRepository <PartnerOrganization> repository = Substitute.For <IRepository <PartnerOrganization> >();
            PartnerOrganizationController     controller = new PartnerOrganizationController(repository);

            // Act
            IActionResult result = await controller.Index();

            // Assert
            ViewResult viewResult = Assert.IsType <ViewResult>(result);

            Assert.IsAssignableFrom <IEnumerable <PartnerOrganizationViewModel> >(viewResult.ViewData.Model);
        }
コード例 #3
0
        public async Task Index_NoParams_RepoGetHitWithNoParams()
        {
            // Arrange
            IRepository <PartnerOrganization> repository = Substitute.For <IRepository <PartnerOrganization> >();
            PartnerOrganizationController     controller = new PartnerOrganizationController(repository);

            // Act
            await controller.Index();

            // Assert
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
            repository.Received(1).Get();
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
        }
コード例 #4
0
        public async Task AddPartnerOrganization_PartnerOrganizationViewModelInValid_ReturnsBadRequest()
        {
            // Arrange
            IRepository <PartnerOrganization> repository = Substitute.For <IRepository <PartnerOrganization> >();
            PartnerOrganizationController     controller = new PartnerOrganizationController(repository);

            controller.ModelState.AddModelError("Name", "Required");
            PartnerOrganizationViewModel viewModel = new PartnerOrganizationViewModel();

            // Act
            IActionResult result = await controller.AddPartner(viewModel);

            // Assert
            Assert.IsType <BadRequestObjectResult>(result);
        }
コード例 #5
0
        public async Task Delete_PartnerName_RepoDeleteHitWithExpression()
        {
            // Arrange
            IRepository <PartnerOrganization> repository = Substitute.For <IRepository <PartnerOrganization> >();
            PartnerOrganizationController     controller = new PartnerOrganizationController(repository);
            string id = "Contoso";

            // Act
            await controller.DeletePartner(id);

            // Assert
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
            repository.Received(1).Delete(Arg.Any <Expression <Func <PartnerOrganization, bool> > >());
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
        }
コード例 #6
0
        public async Task Add_PartnerOrganization_PartnerOrganizationViewModel_ViewResultDifferentRegistrationCodes()
        {
            // Arrange
            List <PartnerOrganization>        partners   = new List <PartnerOrganization>();
            IRepository <PartnerOrganization> repository = Substitute.For <IRepository <PartnerOrganization> >();

            repository.Add(Arg.Any <PartnerOrganization>()).Returns(x =>
            {
                partners.Add(x.Arg <PartnerOrganization>());
                return(Task.CompletedTask);
            });

            PartnerOrganizationController controller = new PartnerOrganizationController(repository);

            PartnerOrganizationViewModel viewModel = new PartnerOrganizationViewModel();
            // Act
            await controller.AddPartner(viewModel);

            await controller.AddPartner(viewModel);

            // Assert
            Assert.Equal(2, partners.Count);
            Assert.NotEqual(partners[0].RegistrationCode, partners[1].RegistrationCode);
        }