Ejemplo n.º 1
0
        public void ReturnEditWithProductManagerViewModel()
        {
            _mockProductRepository.Setup(products => products.Find("abc123")).Returns(GetProduct());

            _mockProductCategoryRepository.Setup(productCategories => productCategories.Collection()).Returns(GetProductCategories());

            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            IActionResult result = _sut.Edit("abc123");

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

            var model = Assert.IsType <ProductManagerViewModel>(viewResult.Model);

            Assert.Equal(GetProduct().Category, model.Product.Category);
            Assert.Equal(GetProduct().Id, model.Product.Id);
            Assert.Equal(GetProduct().CreatedAt.Minute, model.Product.CreatedAt.Minute);
            Assert.Equal(GetProduct().Description, model.Product.Description);
            Assert.Equal(GetProduct().Name, model.Product.Name);
            Assert.Equal(GetProduct().Price, model.Product.Price);
            Assert.Equal(GetProduct().Image, model.Product.Image);

            Assert.Equal(GetProductCategories().First().Category, model.ProductCategories.First().Category);
        }
        public void TestEdit_Product_fail()
        {
            var helper  = new MockHelper();
            var context = helper.MakeFakeContext();
            // var controller = new Controllers.ProductManagerController();
            var controller = new ProductManagerController();

            controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller);
            var serverMock = new Mock <HttpServerUtilityBase>();

            serverMock.Setup(x => x.MapPath("~/App_Data")).Returns(@"D:\Anh_Quoc\K\Năm 2\SOFTWARE TESTING\Team Project\Final project team\Code\FinalProj\ClockUniverse\ClockUniverse\App_Data");
            context.Setup(x => x.Server).Returns(serverMock.Object);
            // var file1Mock = new Mock<HttpPostedFileBase>();
            // file1Mock.Setup(x => x.FileName).Returns("30_0");
            var Producttable = new ProductTable
            {
                Watch_ID          = 1089,
                Watch_Name        = "KhacHuy",
                Watch_Description = "dsadasdal",
                WatchType_ID      = 1,
                //Original_Price = 1000,
                //Selling_Price = 100,
                InStock      = 1,
                Watch_Static = "cc",
            };
            var actual = controller.Edit(Producttable) as RedirectToRouteResult;

            Assert.IsNull(actual);
        }
Ejemplo n.º 3
0
        public void EditProductWhenValidModel()
        {
            _mockProductRepository.Setup(products => products.Find("abc123")).Returns(GetProduct());

            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            var product = new Product
            {
                Category    = "Sneakers",
                CreatedAt   = DateTimeOffset.Now,
                Description = "White sneakers",
                Id          = "abc123",
                Image       = "/path/image.jpg",
                Name        = "Nike Air Force One",
                Price       = 10
            };

            IFormFile file = null;

            _sut.Edit(product, file);

            _mockProductRepository.Verify(
                x => x.Commit(), Times.Once);
        }
        public void TestCreateG()
        {
            var controller = new ProductManagerController();
            var result     = controller.Create() as ViewResult;

            Assert.IsNotNull(result);
        }
Ejemplo n.º 5
0
        public void RedirectToActionIndexWhenValidModelForEdit()
        {
            _mockProductRepository.Setup(products => products.Find("abc123")).Returns(GetProduct());

            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            var product = new Product
            {
                Category    = "Sneakers",
                CreatedAt   = DateTimeOffset.Now,
                Description = "White sneakers",
                Id          = "abc123",
                Image       = "/path/image.jpg",
                Name        = "Nike Air Force One",
                Price       = 10
            };

            IFormFile file = null;

            var result = _sut.Edit(product, file);

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

            Assert.Equal("Index", redirectToActionResult.ActionName);
        }
Ejemplo n.º 6
0
        public void ReturnEditWithProductManagerViewModelWhenInvalidModelState()
        {
            _mockProductRepository.Setup(products => products.Find("abc123")).Returns(GetProduct());

            _mockProductCategoryRepository.Setup(productCategories => productCategories.Collection()).Returns(GetProductCategories());

            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object, _mockEnvironment.Object);

            _sut.ModelState.AddModelError("x", "Test Error");

            var product = new Product
            {
                Category = "Sneakers",
                Id       = "abc123"
            };

            IFormFile file = null;

            IActionResult result = _sut.Edit(product, file);

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

            var model = Assert.IsType <ProductManagerViewModel>(viewResult.Model);

            Assert.Equal(product.Category, model.Product.Category);
        }
Ejemplo n.º 7
0
        public void ReturnNotFoundForConfirmDelete()
        {
            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            IActionResult result = _sut.ConfirmDelete("abc123");

            Assert.IsType <NotFoundResult>(result);
        }
Ejemplo n.º 8
0
        public void ReturnNotFoundForEditAfterPost()
        {
            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object, _mockEnvironment.Object);

            IFormFile file = null;

            IActionResult result = _sut.Edit(new Product(), file);

            Assert.IsType <NotFoundResult>(result);
        }
        public void Delete_DeleteConfirmed_success()
        {
            // Arrange
            ProductManagerController controller = new ProductManagerController();
            // Act
            // var redirectToRouteResult = controller.Delete(1083) as RedirectToRouteResult;
            ViewResult result = controller.DeleteConfirmed(34) as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
        public void Delete_DeleteConfirmed_success2()
        {
            // Arrange
            ProductManagerController controller = new ProductManagerController();
            // Act
            // var redirectToRouteResult = controller.Delete(1083) as RedirectToRouteResult;
            var redirectToRouteResult = controller.DeleteConfirmed(89) as RedirectToRouteResult;

            // Assert
            Assert.AreEqual("Index", redirectToRouteResult.RouteValues["Action"]);
            // Assert.AreEqual("Account", redirectToRouteResult.RouteValues["controller"]);
        }
Ejemplo n.º 11
0
        public void TestIndex()
        {
            var db         = new CsK23T3bEntities();
            var controller = new ProductManagerController();
            var result     = controller.Index();
            var view       = result as ViewResult;

            Assert.IsNotNull(view);
            var model = view.Model as List <ProductTable>;

            Assert.AreEqual(db.ProductTables.Count(), model.Count);
        }
Ejemplo n.º 12
0
        public void RedirectToActionIndexWhenValidForConfirmDelete()
        {
            _mockProductRepository.Setup(products => products.Find("abc123")).Returns(GetProduct());

            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            var result = _sut.ConfirmDelete("abc123");

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

            Assert.Equal("Index", redirectToActionResult.ActionName);
        }
Ejemplo n.º 13
0
        public void ConfirmDeleteProductWhenValid()
        {
            _mockProductRepository.Setup(products => products.Find("abc123")).Returns(GetProduct());

            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            _sut.ConfirmDelete("abc123");

            _mockProductRepository.Verify(
                x => x.Delete("abc123"), Times.Once);

            _mockProductRepository.Verify(
                x => x.Commit(), Times.Once);
        }
        public void TestEditG()
        {
            var controller = new ProductManagerController();
            var result0    = controller.Edit(0);

            Assert.IsInstanceOfType(result0, typeof(HttpNotFoundResult));

            var db      = new CsK23T3bEntities();
            var item    = db.ProductTables.First();
            var result1 = controller.Edit(item.Watch_ID) as ViewResult;

            Assert.IsNotNull(result1);
            var model = result1.Model as ProductTable;

            Assert.AreEqual(item.Watch_ID, model.Watch_ID);
        }
Ejemplo n.º 15
0
        public void ReturnCreateWithProductManagerViewModel()
        {
            _mockProductCategoryRepository.Setup(productCategories => productCategories.Collection())
            .Returns(GetProductCategories());

            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            IActionResult result = _sut.Create();

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

            var model = Assert.IsType <ProductManagerViewModel>(viewResult.Model);

            Assert.Equal(2, model.ProductCategories.Count());
            Assert.Equal("Sneakers", model.ProductCategories.First().Category);
        }
Ejemplo n.º 16
0
        public void ReturnIndexWithProducts()
        {
            _mockProductRepository.Setup(products => products.Collection()).Returns(GetProducts());

            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            IActionResult result = _sut.Index();

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

            var model = Assert.IsType <List <Product> >(viewResult.Model);

            Assert.Equal(2, model.Count);

            Assert.Equal("White sneakers", model[0].Description);
            Assert.Equal("Black sneakers", model[1].Description);
        }
Ejemplo n.º 17
0
        public void NotSaveProductWhenModelError()
        {
            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            _sut.ModelState.AddModelError("x", "Test Error");

            var product = new Product
            {
                Category = "Sneakers"
            };

            IFormFile file = null;

            _sut.Create(product, file);

            _mockProductRepository.Verify(
                x => x.Add(It.IsAny <Product>()), Times.Never);
        }
        public void TestDetail()
        {
            {
                var db         = new CsK23T3bEntities();
                var item       = db.ProductTables.First();
                var controller = new ProductManagerController();

                var result = controller.Details(item.Watch_ID);
                var view   = result as ViewResult;
                Assert.IsNotNull(view);

                var model = view.Model as ProductTable;
                Assert.IsNotNull(model);
                Assert.AreEqual(item.Watch_ID, model.Watch_ID);

                result = controller.Details(0);
                Assert.IsInstanceOfType(result, typeof(HttpNotFoundResult));
            }
        }
        public void TestEdit_Product_success()
        {
            var helper  = new MockHelper();
            var context = helper.MakeFakeContext();
            // var controller = new Controllers.ProductManagerController();
            var controller = new ProductManagerController();

            controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller);
            var serverMock = new Mock <HttpServerUtilityBase>();

            serverMock.Setup(x => x.MapPath("~/App_Data")).Returns(@"D:\Anh_Quoc\K\Năm 2\SOFTWARE TESTING\Team Project\Final project team\Code\FinalProj\ClockUniverse\ClockUniverse\App_Data");


            var request = new Mock <HttpRequestBase>(MockBehavior.Strict);

            //request.Setup(r => r.Files).Returns(new System.Web.HttpRequestBase.Files());

            context.Setup(x => x.Server).Returns(serverMock.Object);



            var file1Mock = new Mock <HttpPostedFileBase>();

            file1Mock.Setup(x => x.FileName).Returns("1087_0");
            var image        = file1Mock.Object;
            var Producttable = new ProductTable
            {
                Watch_ID          = 1087,
                Watch_Name        = "KhacHuy",
                Watch_Description = "dsadasdal",
                WatchType_ID      = 1,
                Original_Price    = 1000,
                Selling_Price     = 100,
                InStock           = 1,
                Watch_Static      = "cc",
                Image             = "image",
            };
            var actual = controller.Edit(Producttable) as RedirectToRouteResult;

            Assert.AreEqual("Index", actual.RouteValues["Action"]);
        }
Ejemplo n.º 20
0
        public void ReturnCreateWithProductManagerViewModelWhenInvalidModelState()
        {
            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            _sut.ModelState.AddModelError("x", "Test Error");

            var product = new Product
            {
                Category = "Sneakers"
            };

            IFormFile file = null;

            IActionResult result = _sut.Create(product, file);

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

            var model = Assert.IsType <ProductManagerViewModel>(viewResult.Model);

            Assert.Equal(product.Category, model.Product.Category);
        }
Ejemplo n.º 21
0
        public void NotEditProductWhenModelError()
        {
            _mockProductRepository.Setup(products => products.Find("abc123")).Returns(GetProduct());

            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            _sut.ModelState.AddModelError("x", "Test Error");

            var product = new Product
            {
                Category = "Sneakers",
                Id       = "abc123"
            };

            IFormFile file = null;

            _sut.Edit(product, file);

            _mockProductRepository.Verify(
                x => x.Update(It.IsAny <Product>()), Times.Never);
        }
Ejemplo n.º 22
0
        public void SaveProductWhenValidModel()
        {
            _sut = new ProductManagerController(_mockProductRepository.Object, _mockProductCategoryRepository.Object,
                                                _mockEnvironment.Object);

            Product savedProduct = null;

            _mockProductRepository.Setup(x => x.Add(It.IsAny <Product>()))
            .Callback <Product>(x => savedProduct = x);

            var product = new Product
            {
                Category    = "Sneakers",
                CreatedAt   = DateTimeOffset.Now,
                Description = "White sneakers",
                Id          = "abc123",
                Image       = "/path/image.jpg",
                Name        = "Nike Air Force One",
                Price       = 10
            };

            IFormFile file = null;

            _sut.Create(product, file);

            _mockProductRepository.Verify(
                x => x.Add(It.IsAny <Product>()), Times.Once);

            Assert.Equal(product.Category, savedProduct.Category);
            Assert.Equal(product.CreatedAt, savedProduct.CreatedAt);
            Assert.Equal(product.Description, savedProduct.Description);
            Assert.Equal(product.Id, savedProduct.Id);
            Assert.Equal(product.Image, savedProduct.Image);
            Assert.Equal(product.Name, savedProduct.Name);
            Assert.Equal(product.Price, savedProduct.Price);
        }