Example #1
0
 public void TearDown()
 {
     foreach (var productOptionId in _productOptionIds)
     {
         _productsController.DeleteOption(productOptionId);
     }
 }
Example #2
0
        public void Should_do_nothing_when_option_not_exists_successfully_when_call_DeleteOption()
        {
            var newProductOption = new ProductOption
            {
                Name        = "Samsung Galaxy S6",
                Description = "Old mobile product from Samsung.",
                ProductId   = _validProductOption.ProductId
            };

            _productsController.DeleteOption(newProductOption.Id);

            var result = _productsController.GetOptions(_validProductOption.ProductId);

            Assert.AreEqual(_defaultProductOptions.AsQueryable().Count(po => po.ProductId == _validProductOption.ProductId), result.Items.Count);
        }
Example #3
0
        public void CreateGetUpdateDeleteOption()
        {
            // Arrange
            var           controller  = new ProductsController();
            var           name        = "cjtest";
            var           updatedName = "updated";
            ProductOption option      = new ProductOption();

            option.Name = name;

            // Act
            controller.CreateOption(getTestProductGuid(), option);
            ProductOption result = controller.GetOption(getTestProductGuid(), option.Id);

            // Assert
            Assert.IsNotNull(result);

            //Act
            result.Name = updatedName;
            controller.UpdateOption(option.Id, result);

            ProductOption resultUpdated = controller.GetOption(getTestProductGuid(), option.Id);

            //Assert
            Assert.AreEqual(updatedName, resultUpdated.Name);

            //Act
            controller.DeleteOption(option.Id);

            // Assert
            Assert.IsNull(controller.GetOption(getTestProductGuid(), option.Id));
        }
Example #4
0
        public void DeleteProductOptionNotFoundError()
        {
            var logger = new Mock <ILogger <ProductsController> >();
            var repo   = new Mock <IProductsRepository>();

            var option = ProductMocks.ProductSamsungGalaxyS7.ProductOptions.First();

            option.Name        = "UpdatedName";
            option.Description = "UpdatedDescription";
            var controller = new ProductsController(logger.Object, repo.Object);

            repo.Setup(r => r.DeleteProductOption(It.IsAny <Guid>(), It.IsAny <Guid>())).Throws <KeyNotFoundException>();
            Assert.Throws <KeyNotFoundException>(() => controller.DeleteOption(option.ProductId, option.Id));
            repo.Verify();
        }
Example #5
0
        public void DeleteProductOptionSuccess()
        {
            var logger = new Mock <ILogger <ProductsController> >();
            var repo   = new Mock <IProductsRepository>();

            var option = ProductMocks.ProductSamsungGalaxyS7.ProductOptions.First();

            option.Name        = "UpdatedName";
            option.Description = "UpdatedDescription";
            var controller = new ProductsController(logger.Object, repo.Object);

            repo.Setup(r => r.DeleteProductOption(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(null);
            controller.DeleteOption(option.ProductId, option.Id);
            repo.Verify();
        }
        public async Task DeleteProductOption_ShouldRemoveOptionFromDb()
        {
            ProductOption testProductOption;
            var           product = new Repository.Product
            {
                Name          = "testName",
                Description   = "testDesc",
                Price         = 356,
                DeliveryPrice = 13
            };

            product.Id = await _productRepository.CreateProduct(product);


            var productOption = new Repository.ProductOption
            {
                ProductId   = product.Id,
                Name        = "testOption",
                Description = "desc"
            };

            productOption.Id = await _productRepository.CreateProductOption(productOption);

            testProductOption = productOption;

            var beforeDeletingResponse = await _productController.GetOption(testProductOption.Id);

            ObjectContent content = beforeDeletingResponse.Content as ObjectContent;

            Assert.IsNotNull((ProductOption)content.Value);

            var response = await _productController.DeleteOption(testProductOption.Id);

            var responseGet = await _productController.GetOption(testProductOption.Id);

            content = responseGet.Content as ObjectContent;

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsNull((ProductOption)content.Value);
        }