public void GetProducts_PositiveScenario()
        {
            // Arrange
            var expectedProducts = new List <Product>
            {
                new Product
                {
                    Id             = 1,
                    Code           = "Code",
                    Description    = "Description",
                    Price          = 10,
                    ProductOptions = new List <ProductOption> {
                        new ProductOption {
                            Id = 1, Code = "ProductOptionCode", Description = "ProductOption Description", ProductId = 1
                        }
                    }
                }
            };

            _productRepository.Setup(x => x.GetAllProducts()).Returns(expectedProducts);
            var productQueryService = new ProductQueryService(_productRepository.Object, _logger.Object);

            // Act
            var actualProducts = productQueryService.GetProducts();

            // Assert
            _productRepository.Verify(x => x.GetAllProducts(), Times.Once);
            actualProducts.Should().BeEquivalentTo(expectedProducts);
        }
        public void GetProductOptionById_PositiveScenario()
        {
            // Arrange
            var expectedProductOptions = new List <ProductOption>
            {
                new ProductOption
                {
                    Id          = 1,
                    Code        = "PO1",
                    Description = "Product Option 1",
                    ProductId   = 1
                },
                new ProductOption
                {
                    Id          = 2,
                    Code        = "PO2",
                    Description = "Product Option 2",
                    ProductId   = 1
                }
            };

            _productRepository.Setup(x => x.GetProductOptionsByProductId(It.IsAny <int>())).Returns(expectedProductOptions);
            var productQueryService = new ProductQueryService(_productRepository.Object, _logger.Object);

            // Act
            var actualProductOptions = productQueryService.GetProductOptionsByProductId(It.IsAny <int>());

            // Assert
            _productRepository.Verify(x => x.GetProductOptionsByProductId(It.IsAny <int>()), Times.Once);
            actualProductOptions.Should().BeEquivalentTo(expectedProductOptions);
        }
        public void GetProductOptionById_ThrowsException()
        {
            // Arrange
            _productRepository.Setup(x => x.GetProductOptionsByProductId(It.IsAny <int>())).Throws(new Exception("An error occurred while retrieving Product Options"));
            var productQueryService = new ProductQueryService(_productRepository.Object, _logger.Object);

            // Act & Assert
            Assert.Throws <Exception>(() => productQueryService.GetProductOptionsByProductId(It.IsAny <int>()));
        }
Esempio n. 4
0
        public async void TestMethod1()
        {
            DatabaseConfiguration.AddMigrations();
            AutoMapperConfiguration.Configure();

            var productService = new ProductQueryService();
            var products       = await productService.GetAllProductsAsync();

            Assert.Equal(1, 1);
        }
Esempio n. 5
0
        /// <summary>
        /// 根据产品类型获取对应产品类目下的产品品牌
        /// </summary>
        /// <param name="productType"></param>
        /// <returns></returns>
        public async Task <Tuple <List <string>, string> > GetAllBrands(string productType)
        {
            var result       = null as List <string>;
            var message      = string.Empty;
            var categoryName = GetCategoryName(productType);

            if (string.IsNullOrEmpty(categoryName))
            {
                message = "不支持的产品类型";
            }
            else
            {
                var manager = new ProductQueryService();
                result = await manager.GetBrandsByCategoryNameAsync(categoryName);
            }
            return(Tuple.Create(result, message));
        }
 public void Test_GetAllProducts()
 {
     try
       {
     ProductQueryService service = new ProductQueryService();
     var results = service.All();
     int count = results.Count();
     Assert.That(count, Is.GreaterThan(0));
       }
       catch (Exception ex)
       {
       }
 }
Esempio n. 7
0
 public ProductController(ProductQueryService queryService, Repository <Product> repository)
 {
     this.queryService = queryService;
     this.repository   = repository;
 }