public void IsProductAvailable_any_client() { Product product = new Product() { ProductId = 1, Stock = 5 }; Mock<IProductRepository> mockProductRepository = new Mock<IProductRepository>(); mockProductRepository.Setup(obj => obj.Get(1)).Returns(product); Mock<IDataRepositoryFactory> mockRepositoryFactory = new Mock<IDataRepositoryFactory>(); mockRepositoryFactory.Setup(obj => obj.GetDataRepository<IProductRepository>()).Returns(mockProductRepository.Object); ProductEngine engine = new ProductEngine(mockRepositoryFactory.Object); bool try1 = engine.isProductAvailable(2); Assert.IsFalse(try1); bool try2 = engine.isProductAvailable(1); Assert.IsTrue(try2); }
public Product UpdateProdcut(Product product) { return ExecuteFaultHandledOperation(() => { var productRepository = _dataRepositoryFactory.GetDataRepository<IProductRepository>(); Product updatedProduct = null; if (product.AccountId == 0) updatedProduct = productRepository.Add(product); else updatedProduct = productRepository.Update(product); return updatedProduct; }); }