Beispiel #1
0
        public async Task DetailsReturnsARedirectToIndexWhenIdIsNotFound()
        {
            int testProductId = 0;
            var mockService   = new Mock <IProductsService>();

            mockService.Setup(p => p.GetAsync(testProductId, true, true, false)).ReturnsAsync((Products)null);
            var controller = new ProductsController(mockService.Object);
            var result     = await controller.Details(testProductId);

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

            Assert.Equal("Index", redirectToActionResult.ActionName);
        }
        public void DetailAction_InvalidID_NotFoundStatus()
        {
            //Arrange
            ProductsController pc  = new ProductsController();
            int ExpectedStatusCode = new HttpStatusCodeResult(HttpStatusCode.NotFound).StatusCode;

            //Act
            HttpStatusCodeResult r = pc.Details(-1) as HttpStatusCodeResult;
            int ActualStatusCode   = r.StatusCode;

            //Assert
            Assert.AreEqual(ExpectedStatusCode, ActualStatusCode);
        }
        public void DetailAction_NullID_BadHTTPStatus()
        {
            //Arrange
            ProductsController pc      = new ProductsController();
            int ExpectedHttpStatusCode = new HttpStatusCodeResult(HttpStatusCode.BadRequest).StatusCode;

            //Act
            HttpStatusCodeResult r   = pc.Details(null) as HttpStatusCodeResult;
            int ActualHttpStatusCode = r.StatusCode;

            //Assert
            Assert.AreEqual(ExpectedHttpStatusCode, ActualHttpStatusCode);
        }
Beispiel #4
0
        public async Task DetailsProductsController()
        {
            var context    = GetInMemoryDbMetData();
            var controller = new ProductsController(context, _hostingEnvironment);

            var result = await controller.Details(products[0].Id);

            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <Product>(viewResult.ViewData.Model);

            Assert.Equal(1, model.Id);
            Assert.Equal("ProductIndex", model.Title);
            Assert.NotNull(viewResult);
        }
        public void DetailsViewModelNotNull()
        {
            // Arrange
            var mock = new Mock <ILocalService>();
            var id   = "1";

            mock.Setup(a => a.GetProductById(id)).Returns(new StoreItem());
            ProductsController controller = new ProductsController(mock.Object);
            // Act
            ViewResult result = controller.Details(id) as ViewResult;

            // Assert
            Assert.IsNotNull(result.Model);
        }
Beispiel #6
0
        public void Mock_GetDetails_ReturnsView()
        {
            //Arrange
            DbSetup();
            Product            testProduct = new Product(9, "gummi bear", "yummy treat", 3, 2);
            ProductsController controller  = new ProductsController(mock.Object);

            //Act
            ViewResult resultView = controller.Details(testProduct.ProductId) as ViewResult;
            Product    model      = resultView.ViewData.Model as Product;

            //Assert
            Assert.IsInstanceOfType(resultView, typeof(ActionResult));
        }
        public async Task GetProductDetails_NullPassed_NotFoundReturned()
        {
            var brands     = Data.Brands();
            var categories = Data.Categories();
            var products   = Data.Products();
            var context    = new MockProductsContext(products, brands, categories);
            var controller = new ProductsController(context, null);

            var result = await controller.Details(-1);

            Assert.IsNotNull(result);
            var productResult = result as NotFoundResult;

            Assert.IsNotNull(productResult);
        }
        public void RepositoryThrowsException()
        {
            // Arrange
            var       testrepo  = new ProductsRepository();
            Exception exception = new Exception();

            testrepo.ExceptionToThrow = exception;
            var controller = new ProductsController(new LocalService(testrepo));
            var grabsvc    = new Mock <IGrabService>();
            var testitem   = GetTestItem();
            var result     = (ViewResult)controller.Details(testitem.ItemID);

            Assert.AreEqual("", result.ViewName);
            ModelState modelState = result.ViewData.ModelState[""];
        }
        public void GetProductDetails()
        {
            // Arrange
            ProductsController controller = new ProductsController(_productService, _logManager);

            // Act
            ViewResult result = controller.Details("abc-jacket") as ViewResult;

            // Assert
            Assert.IsNotNull(result);

            var model = (ProductVm)result.Model;

            Assert.AreEqual(2, model.Id);
        }
Beispiel #10
0
        public async Task Detail_ReturnsNotFoundResult_WhenInvalidProductIdOrWebCompanyId()
        {
            // Arrange
            long            productId          = 1000;
            long            webCompanyId       = 1000;
            IProductService productServiceFake = new ProductServiceFake();
            var             mockRepo           = new Mock <IProductService>();

            mockRepo.Setup(repo => repo.Get(productId))
            .Returns(productServiceFake.Get(productId));
            ProductsController productsController = new ProductsController(mockRepo.Object);
            var result = await productsController.Details(productId);

            var viewResult = Assert.IsType <NotFoundResult>(result);
        }
        public async Task Details_Returns_BadRequestResult()
        {
            int id      = 4;
            var product = GetProducts().FirstOrDefault(p => p.Id == id);

            //Arrange
            mock.Setup(p => p.GetByIdAsync(id)).Throws(new Exception());
            controller = new ProductsController(mock.Object);

            //Act
            var result = await controller.Details(id);

            //Assert
            var badRequestResult = Assert.IsType <BadRequestResult>(result);
        }
Beispiel #12
0
        public async Task Details_ReturnsExpectedProduct()
        {
            // Arrange
            serviceMoq.Setup(x => x.FindAsync(100)).ReturnsAsync(GetTestProduct);
            ProductsController controller = new ProductsController(serviceMoq.Object);

            // Act
            var result = await controller.Details(100);

            var viewResult = result as ViewResult;
            var model      = viewResult.Model as Product;

            // Assert
            Assert.NotNull(viewResult);
            Assert.NotNull(model);
            Assert.Equal(100, model.Id);
        }
Beispiel #13
0
        public void TestDetailsMethod()
        {
            Products product = new Products {
                ProductId = 1, ProductName = "Harry Porter", Price = 10
            };

            //Mock IRepository of products
            Mock <IRepository <Products> > mockProductsController = new Mock <IRepository <Products> >();

            mockProductsController.Setup(b => b.GetByID(It.IsAny <int>())).Returns(product);

            //Pass in the IRepository products
            ProductsController productsController = new ProductsController(mockProductsController.Object);
            ViewResult         result             = productsController.Details(1) as ViewResult;

            Assert.AreEqual(product, result.Model);
        }
        public void DetailAction_Returns_ProductModel()
        {
            //Arrange
            //ProductsController pc = new ProductsController();

            ProductsController pc = new ProductsController(new ProductArrayRepository());

            Type ExpectedModelType = typeof(DBModel.Product);


            //Act
            ViewResult r = pc.Details(3) as ViewResult;
            Type       ActualModelType = r.Model.GetType();

            //Assert
            Assert.AreEqual(ExpectedModelType, ActualModelType);
        }
        public void DB_EditProduct_ProductName()
        {
            //arrange
            ProductsController controller   = new ProductsController(db);
            Product            testProduct1 = new Product("sponge", "Sponges up liquid", (decimal)1.99);

            controller.Create(testProduct1);

            //act
            testProduct1.Name = "better sponge";
            var resultProduct = (controller.Details(testProduct1.ProductId) as ViewResult).ViewData.Model as Product;

            controller.Edit(testProduct1);

            //assert
            Assert.AreEqual(testProduct1.Name, resultProduct.Name);
        }
        public async Task Details_Returns_ViewResult_ProductByID()
        {
            int id      = 4;
            var product = GetProducts().FirstOrDefault(p => p.Id == id);

            //Arrange
            mock.Setup(p => p.GetByIdAsync(id)).ReturnsAsync(product);
            controller = new ProductsController(mock.Object);

            //Act
            var result = await controller.Details(id);

            //Assert
            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <Product>(viewResult.ViewData.Model);

            product.Should().BeEquivalentTo(model);
        }
        public void Mock_GetDetails_ReturnsView()
        {
            //arrange
            Product testProduct = new Product {
                ProductId = 1, Name = "Sponge", Description = "Sponges up liquids", Cost = (decimal)1.99
            };

            DbSetup();
            ProductsController controller = new ProductsController(mock.Object);

            //act
            var resultView = controller.Details(testProduct.ProductId) as ViewResult;
            var model      = resultView.ViewData.Model as Product;

            //assert
            Assert.IsInstanceOfType(resultView, typeof(ViewResult));
            Assert.IsInstanceOfType(model, typeof(Product));
        }
        public async Task Details_ReturnsHttpNotFound_ForNonexistingId()
        {
            // Arrange
            int nonexistingId = 2;
            int productId     = 1;
            var mockService   = new Mock <IProductsService>();

            mockService.Setup(srv => srv.GetByIdAsync(productId)).ReturnsAsync(new Products()
            {
                ProductId = productId
            });
            var controller = new ProductsController(mockService.Object, null, null);

            // Act
            var result = await controller.Details(nonexistingId);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
        public void Mock_GetDetails_ReturnsView()
        {
            DbSetup();
            Product testProduct = new Product
            {
                ProductId   = 1,
                Name        = "Gummi Crown",
                Description = "A Gummi headdress worthy of royalty.",
                Cost        = 9999.99m,
                Image       = null
            };
            ProductsController controller = new ProductsController(mock.Object);

            var resultView = controller.Details(testProduct.ProductId) as ViewResult;
            var model      = resultView.ViewData.Model as ProductReview;

            Assert.IsInstanceOfType(resultView, typeof(ViewResult));
            Assert.IsInstanceOfType(model, typeof(ProductReview));
        }
Beispiel #20
0
        //TEST:  PRODUCTS_DETAILS_TEST
        //Test the functionality of the Product Details method using test data.
        public void Products_Details_Test()
        {
            //ARRANGE
            ProductsController productsController = new ProductsController();
            MyDataEntities     db = new MyDataEntities();
            //Grab the previously created test product and find its ProductID
            var array         = db.Products.Where(x => x.ProductName == "testProduct").ToList();
            int testProductID = 0;

            foreach (var item in array)
            {
                testProductID = item.ProductID;
            }
            //ACT
            ActionResult result = productsController.Details(testProductID);

            //ASSERT
            Assert.IsInstanceOfType(result, typeof(ViewResult));
        }
Beispiel #21
0
        public void DB_EditsEntries_Collection()
        {
            ProductsController controller  = new ProductsController(db);
            Product            testProduct = new Product();

            testProduct.Name        = "5 Lb. Bag (Assorted Flavors)";
            testProduct.Price       = 12.99m;
            testProduct.Description = "Yummi Gummis!";
            testProduct.ProductId   = 1;

            // Act
            controller.Create(testProduct);
            testProduct.Name = "2.5 Lb. Bag (Assorted Flavors)";
            controller.Edit(testProduct);
            var foundProduct = (controller.Details(testProduct.ProductId) as ViewResult).ViewData.Model as Product;

            // Assert
            Assert.AreEqual(foundProduct.Name, "2.5 Lb. Bag (Assorted Flavors)");
        }
Beispiel #22
0
        public async Task TestDetailsShouldBeReturnProductDetailViewModel()
        {
            int id = 1;
            ProductDetailViewModel viewModel = new ProductDetailViewModel
            {
                Id           = 1,
                Name         = "Test",
                NoOfUnit     = 12,
                ReOrderLevel = 1,
                UnitPrice    = 100
            };

            _productDetailViewModelFactory.Setup(m => m.Create(id))
            .ReturnsAsync(viewModel);

            var result = await _controller.Details(id) as ViewResult;

            Assert.That(result.ViewData.Model.GetType(), Is.EqualTo(typeof(ProductDetailViewModel)));
            Assert.That(result.ViewData.Model, Is.EqualTo(viewModel));
        }
Beispiel #23
0
        public void ProductsController_DetailModelContainsCorrectData_ReviewList()
        {
            //Arrange

            DbSetup();


            ProductsController controller = new ProductsController();


            IActionResult actionResult = controller.Details(1);

            ViewResult indexView = new ProductsController(productTestRepo.Object, mock.Object).Details(1) as ViewResult;

            //Act
            var result = indexView.ViewData.Model as Product;

            //Assert
            Assert.IsInstanceOfType(result.Reviews, typeof(Review[]));
        }
        public void Mock_GetDetails_ReturnsView()
        {
            // Arrange
            Product testProduct = new Product
            {
                ProductId = 1,
                Name      = "Giant Gummi"
            };

            DbSetup();
            ProductsController controller = new ProductsController(mock.Object);

            // Act
            var resultView = controller.Details(testProduct.ProductId) as ViewResult;
            var model      = resultView.ViewData.Model as Product;

            // Assert
            Assert.IsInstanceOfType(resultView, typeof(ViewResult));
            Assert.IsInstanceOfType(model, typeof(Product));
        }
        public async Task Details_ReturnProductWithExistingId()
        {
            // Arrange
            int productId   = 1;
            var mockService = new Mock <IProductsService>();

            mockService.Setup(srv => srv.GetByIdAsync(1)).ReturnsAsync(new Products()
            {
                ProductId = productId
            });
            var controller = new ProductsController(mockService.Object, null, null);

            // Act
            var result = await controller.Details(productId);

            // Assert
            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <Products>(viewResult.ViewData.Model);

            Assert.NotNull(model);
            Assert.Equal(productId, model.ProductId);
        }
Beispiel #26
0
        public void Mock_GetDetails_ReturnsView()
        {
            //Arrange
            Product testProduct = new Product
            {
                Id          = 1,
                Cost        = 10,
                Description = "Dummy Bear shaped lollipop with rainbow sprinkles",
                Name        = "Dummy Bear Pop"
            };

            DbSetup();
            ProductsController controller = new ProductsController(mock.Object);

            //Act
            var resultView = controller.Details(testProduct.Id) as ViewResult;
            var model      = resultView.ViewData.Model as Product;

            //Assert
            Assert.IsInstanceOfType(resultView, typeof(ViewResult));
            Assert.IsInstanceOfType(model, typeof(Product));
        }
Beispiel #27
0
        public void Mock_GetDetails_ReturnsView()
        {
            // Arrange
            Product testProduct = new Product
            {
                ProductId   = 1,
                Name        = "5 Lb. Bag (Assorted Flavors)",
                Price       = 12.99m,
                Description = "Yummi Gummis!"
            };

            DbSetup();
            ProductsController controller = new ProductsController(mock.Object);

            // Act
            var resultView = controller.Details(testProduct.ProductId) as ViewResult;
            var model      = resultView.ViewData.Model as Product;

            // Assert
            Assert.IsInstanceOfType(resultView, typeof(ViewResult));
            Assert.IsInstanceOfType(model, typeof(Product));
        }
        public async Task Details_GivenProductIdThatDoesNotExist_ShouldReturnNotFound()
        {
            // Arrange
            var productServiceMock        = new Mock <IProductService>();
            var productIdThatDoesNotExist = 0;

            productServiceMock.Setup(ps => ps.DoesProductIdExist(productIdThatDoesNotExist))
            .ReturnsAsync(false);
            var authorizationServiceMock = new Mock <IAuthorizationService>();
            var mockUserStore            = new Mock <IUserStore <IdentityUser> >();
            var userManager = new Mock <UserManager <IdentityUser> >(mockUserStore.Object, null, null, null, null, null, null, null, null);

            var productsController = new ProductsController(
                productServiceMock.Object,
                authorizationServiceMock.Object,
                userManager.Object
                );

            // Act
            IActionResult actionResult = await productsController.Details(productIdThatDoesNotExist);

            // Assert
            actionResult.ShouldBeOfType <NotFoundResult>();
        }
 public void TestDetail()
 {
     var result = _productService.Details(null);
 }
        public void DetailsMissingId()
        {
            var result = productsController.Details(null).Result;

            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }