public void DeleteFromExistingPlan() { var testProduct = new Product() { ProductName = "Product1", Energy = 50, ProductId = 1 }; var dietPlan = new DietPlan() { Id = 1 }; var productInDietPlan = new ProductInDietPlan() { Product = testProduct, Id = testProduct.ProductId }; var productListForDay = new List <ProductInDietPlan>(); productListForDay.Add(productInDietPlan); var dailyDietPlan = new DailyDietPlan() { ProductListForDay = productListForDay }; var dailyDietPlanList = new List <DailyDietPlan>() { dailyDietPlan }; dietPlan.DailyDietPlanList = dailyDietPlanList; var listOfDietPlans = new List <DietPlan>() { dietPlan }; var productFromDB = new ProductInDietPlanDb() { DailyDietPlanId = dietPlan.Id, ProductId = testProduct.ProductId }; var productRepositoryMock = new Mock <IProductRepository>(); productRepositoryMock.Setup(repository => repository.GetProductById(1)).Returns(testProduct); var productInPlanServiceMock = new Mock <IProductInPlanService>(); var dietPlanRepositoryMock = new Mock <IDietPlanRepository>(); dietPlanRepositoryMock.Setup(repository => repository.ListAllDietPlans("DummyId")) .Returns(listOfDietPlans); dietPlanRepositoryMock.Setup(repository => repository.ListDailyDietPlans(1)).Returns(dailyDietPlanList); dietPlanRepositoryMock.Setup(repository => repository.ListDbProductsInDailyDietPlan(dailyDietPlan)).Returns(new List <ProductInDietPlanDb>() { productFromDB }); var sut = new ProductService(productRepositoryMock.Object, dietPlanRepositoryMock.Object, productInPlanServiceMock.Object); sut.DeleteById(testProduct.ProductId, "DummyId"); dietPlanRepositoryMock.Verify(repository => repository.DeleteProductInPlan(productFromDB)); }
public void LoadProducts_GetProductsCalledInRepositoryAndReturnsListOfProducts() { var productRepositoryMock = new Mock <IProductRepository>(); productRepositoryMock.Setup(repository => repository.GetProducts("DummyId")).Returns(new List <Product>()); var dietPlanRepositoryMock = new Mock <IDietPlanRepository>(); var productInPlanServiceMock = new Mock <IProductInPlanService>(); var _sut = new ProductService(productRepositoryMock.Object, dietPlanRepositoryMock.Object, productInPlanServiceMock.Object); _sut.GetAll("DummyId").Should().BeOfType(typeof(List <Product>)); }
public void GetProductById_GetProductByIdCalledInRepositoryAndReturnsProduct(int id) { // arrange var productRepositoryMock = new Mock <IProductRepository>(); productRepositoryMock.Setup(repository => repository.GetProductById(id)).Returns(new Product { ProductId = id }); var dietPlanRepositoryMock = new Mock <IDietPlanRepository>(); var productInPlanServiceMock = new Mock <IProductInPlanService>(); var sut = new ProductService(productRepositoryMock.Object, dietPlanRepositoryMock.Object, productInPlanServiceMock.Object); sut.GetById(id).Should().BeOfType(typeof(Product)); }
public void CreateProduct_InsertProductCalledInRepository_NewObjectTypeOfProductCreated() { var product = new Product(); var productRepositoryMock = new Mock <IProductRepository>(); productRepositoryMock.Setup(repository => repository.GetProducts("DummyId")).Returns(new List <Product> { new Product() }); var dietPlanRepositoryMock = new Mock <IDietPlanRepository>(); var productInPlanServiceMock = new Mock <IProductInPlanService>(); var sut = new ProductService(productRepositoryMock.Object, dietPlanRepositoryMock.Object, productInPlanServiceMock.Object); sut.Create(product, "DummyId"); productRepositoryMock.Verify(repository => repository.InsertProduct(product)); sut.Create(product, "DummyId").Should().BeOfType(typeof(Product)); }
public void Update_UpdateProductCalledInRepository(int id) { var product = new Product { ProductId = id }; var productRepositoryMock = new Mock <IProductRepository>(); productRepositoryMock.Setup(repository => repository.GetProductById(id)).Returns(product); var dietPlanRepositoryMock = new Mock <IDietPlanRepository>(); dietPlanRepositoryMock.Setup(repo => repo.ListAllDietPlans("DummyId")).Returns(new List <DietPlan>()); var productInPlanServiceMock = new Mock <IProductInPlanService>(); var sut = new ProductService(productRepositoryMock.Object, dietPlanRepositoryMock.Object, productInPlanServiceMock.Object); sut.Update(id, product, "DummyId"); productRepositoryMock.Verify(repository => repository.UpdateProduct(product)); }
public void AddtoFavorites_ProductIsFavouriteIsSetToTrue_UpdateProductCalledInRepository_SaveCalledInRepositor(int id) { var product = new Product { ProductId = id }; var productRepositoryMock = new Mock <IProductRepository>(); productRepositoryMock.Setup(repository => repository.GetProductById(id)).Returns(product); var dietPlanRepositoryMock = new Mock <IDietPlanRepository>(); var productInPlanServiceMock = new Mock <IProductInPlanService>(); var sut = new ProductService(productRepositoryMock.Object, dietPlanRepositoryMock.Object, productInPlanServiceMock.Object); sut.AddToFavorites(product); product.IsFavorite.Should().BeTrue(); productRepositoryMock.Verify(repository => repository.UpdateProduct(product)); productRepositoryMock.Verify(repository => repository.Save()); }
public void SearchByName_ProductIsReturned(string name) { var ExpectedProduct = new Product { ProductName = name }; var productRepositoryMock = new Mock <IProductRepository>(); productRepositoryMock.Setup(repository => repository.GetProducts("DummyId")) .Returns(new List <Product> { ExpectedProduct }); var dietPlanRepositoryMock = new Mock <IDietPlanRepository>(); var productInPlanServiceMock = new Mock <IProductInPlanService>(); var sut = new ProductService(productRepositoryMock.Object, dietPlanRepositoryMock.Object, productInPlanServiceMock.Object); var actual = sut.SearchByName(name, "DummyId"); productRepositoryMock.Verify(repository => repository.GetProducts("DummyId")); actual.Should().Equal(ExpectedProduct); }
public void SearchByProteins_OneProductInRange_ProductIsReturned(double minprotein, double maxprotein) { var ExpectedProduct = new Product { Protein = 15 }; var productRepositoryMock = new Mock <IProductRepository>(); productRepositoryMock.Setup(repository => repository.GetProducts("DummyId")) .Returns(new List <Product> { ExpectedProduct }); var dietPlanRepositoryMock = new Mock <IDietPlanRepository>(); var productInPlanServiceMock = new Mock <IProductInPlanService>(); var sut = new ProductService(productRepositoryMock.Object, dietPlanRepositoryMock.Object, productInPlanServiceMock.Object); var actual = sut.SearchByProteins(minprotein, maxprotein, "DummyId"); productRepositoryMock.Verify(repository => repository.GetProducts("DummyId")); actual.Should().Equal(ExpectedProduct); }