예제 #1
0
        public async Task <IActionResult> AddPreparation(AddPreparationViewModel model, string returnUrl = null)
        {
            if (ModelState.IsValid &&
                !(model is null) &&
                !string.IsNullOrEmpty(model.Name) &&
                !string.IsNullOrEmpty(model.ActiveIngredient) &&
                !string.IsNullOrEmpty(model.Description) &&
                !string.IsNullOrEmpty(model.ImageURL) &&
                !string.IsNullOrEmpty(model.Type))
            {
                await _streinger.AddPreparationAsync(new Preparation
                {
                    Name             = model.Name,
                    ActiveIngredient = model.ActiveIngredient,
                    Description      = model.Description,
                    ImageURL         = model.ImageURL,
                    Type             = model.Type
                });

                return(RedirectToAction("СhangeProduct"));
            }

            ModelState.AddModelError("invalid", "invalid model");
            return(View("AddPreparation", model));
        }
            public async Task AddPreparationWhenModelInvalidResultInvalidModelRepeatPage()
            {
                //Arrange
                var prep = new AddPreparationViewModel("", "", "", "", "");

                var mok = new Mock <IStreinger>();

                var controller = new preparation.Controllers.SupplierController(mok.Object, null, null);
                //act
                var actual = await controller.AddPreparation(prep);

                //assert
                var view = Assert.IsAssignableFrom <ViewResult>(actual);

                Assert.NotNull(view.ViewData.Model);
                Assert.IsType <AddPreparationViewModel>(view.ViewData.Model);
            }
            public async Task AddPreparationWhenModelValidResultRedirectToAction()
            {
                //Arrange
                var prep = new AddPreparationViewModel("1", "2", "3", "4", "5");

                var mok = new Mock <IStreinger>();

                mok.Setup(e => e.AddPreparationAsync(It.IsAny <Preparation>()))
                .ReturnsAsync(true);
                //var mokManager = FakeTestingService.MockUserManager(new List<User>());
                //var mokSupplierContext = new Mock<SuppliersContext>(DammyOptions);

                var controller = new preparation.Controllers.SupplierController(mok.Object, null, null);
                //act
                var actual = await controller.AddPreparation(prep);

                //assert
                var view = Assert.IsAssignableFrom <RedirectToActionResult>(actual);

                Assert.Equal("СhangeProduct", view.ActionName);
            }