Пример #1
0
        public async void Create_ExistedID_ReturnViewResultSupermarket(int id)
        {
            var product = new Supermarket {
                Name = "Rozetka2", Address = "Petrovka district2", Id = id
            };
            var option = new DbContextOptionsBuilder <ShoppingContext>().
                         UseInMemoryDatabase(databaseName: "testsCreate3").Options;
            var context = new ShoppingContext(option);

            SampleData.Initialize(context);
            var mock       = new Mock <SupermarketsService>(context);
            var controller = new SupermarketsController(mock.Object);
            var resultView = await controller.Create(product);

            var viewResult = Assert.IsType <RedirectToActionResult>(resultView);
            var actionName = Assert.IsAssignableFrom <string>(viewResult.ActionName);

            var resultViewDetails = await controller.Details(id);

            var viewResultDetails = Assert.IsType <ViewResult>(resultViewDetails);
            var model             = Assert.IsAssignableFrom <Supermarket>(viewResultDetails.Model);

            Assert.Equal("Index", actionName);
            Assert.Equal(model, product);
        }
Пример #2
0
        public async Task Create_ProductReturns_ViewResult()
        {
            Supermarket newProduct = new Supermarket();

            mock = new Mock <ISupermarkets>();
            mock.Setup(repo => repo.AddAsync(newProduct)).Throws(new Exception());
            controller = new SupermarketsController(mock.Object);
            controller.ModelState.AddModelError("Name", "Required");

            var result = await controller.Create(newProduct);

            var viewResult = Assert.IsType <ViewResult>(result);
        }
Пример #3
0
        public async Task Create_ProductReturns_RedirectToActionResult()
        {
            mock       = new Mock <ISupermarkets>();
            controller = new SupermarketsController(mock.Object);
            Supermarket newProduct = new Supermarket
            {
                Name    = "Bread",
                Address = "lol"
            };

            var result = await controller.Create(newProduct);

            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal("Index", redirectToActionResult.ActionName);
            mock.Verify(r => r.AddAsync(newProduct));
        }