Exemple #1
0
        public void DeleteProductOptionsByProductId_PositiveScenario()
        {
            int productId = 1;

            // Arrange
            var productOptions = new List <ProductOption>
            {
                new ProductOption
                {
                    Id          = 1,
                    Code        = "PO1",
                    Description = "Product Option 1",
                    ProductId   = productId
                },
                new ProductOption
                {
                    Id          = 2,
                    Code        = "PO2",
                    Description = "Product Option 2",
                    ProductId   = productId
                }
            };

            _productRepository.Setup(x => x.GetProductOptionsByProductId(productId)).Returns(productOptions);
            var productCommandService = new ProductCommandService(_productRepository.Object, _logger.Object);

            // Act
            productCommandService.DeleteProductOptionsByProductId(productId);

            // Assert
            _productRepository.Verify(x => x.DeleteProductOptions(productOptions), Times.Once);
        }
Exemple #2
0
 public ProductCommandServiceTests()
 {
     productCategoryRepositoryMock = new Mock <IProductCategoryRepository>();
     productRepositoryMock         = new Mock <IProductRepository>();
     pathManagerMock = new Mock <IPathManager>();
     sut             = new ProductCommandService(productCategoryRepositoryMock.Object, pathManagerMock.Object, productRepositoryMock.Object);
 }
Exemple #3
0
        public void UpdateProductOption_PositiveScenario()
        {
            // Arrange
            var existingProductOption = new ProductOption
            {
                Id          = 1,
                Code        = "PO1",
                Description = "Description",
                ProductId   = 1
            };

            var updatedProductOption = new ProductOption
            {
                Id          = 1,
                Code        = "PO2",
                Description = "New Description",
                ProductId   = 1
            };

            _productRepository.Setup(x => x.GetProductOptionById(updatedProductOption.Id)).Returns(existingProductOption);
            var productCommandService = new ProductCommandService(_productRepository.Object, _logger.Object);

            // Act
            productCommandService.UpdateProductOption(updatedProductOption);

            // Assert
            _productRepository.Verify(x => x.SaveChanges(), Times.Once);
        }
Exemple #4
0
        public void SaveProductOption_ThrowsException()
        {
            // Arrange
            var productOption = new ProductOption
            {
                Id          = 1,
                Code        = "PO1",
                Description = "Description",
                ProductId   = 1
            };

            _productRepository.Setup(x => x.AddProductOption(productOption)).Throws(new Exception("An error occurred while adding new Product Option"));
            var productCommandService = new ProductCommandService(_productRepository.Object, _logger.Object);

            // Act & Assert
            Assert.Throws <Exception>(() => productCommandService.SaveProductOption(productOption));
        }
Exemple #5
0
        public void DeleteProductOption_PositiveScenario()
        {
            // Arrange
            var productOption = new ProductOption
            {
                Id          = 1,
                Code        = "PO1",
                Description = "Description",
                ProductId   = 1
            };

            _productRepository.Setup(x => x.GetProductOptionById(productOption.Id)).Returns(productOption);
            var productCommandService = new ProductCommandService(_productRepository.Object, _logger.Object);

            // Act
            productCommandService.DeleteProductOption(productOption.Id);

            // Assert
            _productRepository.Verify(x => x.DeleteProductOption(productOption), Times.Once);
        }
Exemple #6
0
        public void DeleteProduct_PositiveScenario()
        {
            // Arrange
            var product = new Product
            {
                Id          = 1,
                Code        = "Code",
                Description = "Description",
                Price       = 10
            };

            _productRepository.Setup(x => x.GetProduct(product.Id)).Returns(product);
            var productCommandService = new ProductCommandService(_productRepository.Object, _logger.Object);

            // Act
            productCommandService.DeleteProduct(product.Id);

            // Assert
            _productRepository.Verify(x => x.Delete(product), Times.Once);
        }
Exemple #7
0
        public void SaveProductOption_PositiveScenario()
        {
            // Arrange
            var productOption = new ProductOption
            {
                Id          = 1,
                Code        = "PO1",
                Description = "Description",
                ProductId   = 1
            };

            _productRepository.Setup(x => x.AddProductOption(productOption)).Returns(productOption.Id);
            var productCommandService = new ProductCommandService(_productRepository.Object, _logger.Object);

            // Act
            int productOptionId = productCommandService.SaveProductOption(productOption);

            // Assert
            _productRepository.Verify(x => x.AddProductOption(productOption), Times.Once);
            Assert.Equal(productOptionId, productOption.Id);
        }