public void UserCantAddNewProductWithNullCategory() { var id = Guid.NewGuid(); var catId = Guid.NewGuid(); productsRepositoryMock.Setup(pr => pr.GetAllProducts()). Returns(new List <Product>()); productsRepositoryMock.Setup(pr => pr.GetAllCategories()). Returns(new List <ProductCategory> { new ProductCategory { Id = catId }, }); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); vm.NewProductCategory = null; vm.NewProductCategory = new ProductCategory { Id = catId }; Assert.False(vm.AddCommand.CanExecute(null)); }
public void LoadsFridge() { fridgeRepositoryMock.Setup(fr => fr.GetFridge()). Returns(new Fridge { FridgeProducts = new List <FridgeProduct> { new FridgeProduct { Id = Guid.NewGuid() }, new FridgeProduct { Id = Guid.NewGuid() } } }); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); Assert.NotNull(vm.Fridge); Assert.NotNull(vm.Fridge.FridgeProducts); Assert.Equal(2, vm.Fridge.FridgeProducts.Count); }
public void DeleteProductFromFridge() { fridgeRepositoryMock.Setup(fr => fr.GetFridge()). Returns(new Fridge { FridgeProducts = new List <FridgeProduct>() }); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); var prodId = Guid.NewGuid(); var product = new Product { Id = prodId, Name = "RemProduct" }; vm.SelectedProduct = product; Assert.Single(vm.FridgeLookups); var lookup = vm.FridgeLookups[0]; vm.DeleteFridgeProductCommand.Execute(lookup); Assert.Empty(vm.FridgeLookups); }
public void WhenAddNewProductCanceledThereIsNoNewProduct() { var id = Guid.NewGuid(); var catId = Guid.NewGuid(); productsRepositoryMock.Setup(pr => pr.GetAllProducts()). Returns(new List <Product>()); productsRepositoryMock.Setup(pr => pr.GetAllCategories()). Returns(new List <ProductCategory> { new ProductCategory { Id = catId }, }); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); vm.NewProductCategory = new ProductCategory { Id = catId }; Assert.Empty(vm.Products); vm.CancelCommand.Execute(null); Assert.Empty(vm.Products); }
private void FormFridge_Load(object sender, EventArgs e) { if (id.HasValue) { try { FridgeViewModel view = service.GetElement(id.Value); if (view != null) { textBoxName.Text = view.FridgeName; dataGridView.DataSource = view.FridgeProducts; dataGridView.Columns[0].Visible = false; dataGridView.Columns[1].Visible = false; dataGridView.Columns[2].Visible = false; dataGridView.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public void ChangeOfCategoryChangesListOfProducts() { var meatId = Guid.NewGuid(); var vegeId = Guid.NewGuid(); var Vege = new ProductCategory { Id = vegeId, Name = "Vegetables" }; var Meat = new ProductCategory { Id = meatId, Name = "Meat" }; productsRepositoryMock.Setup(pr => pr.GetAllCategories()). Returns(new List <ProductCategory> { Meat, Vege }); var Bacon = new Product { Id = Guid.NewGuid(), Name = "Bacon", ProductCategoryId = meatId }; var Beef = new Product { Id = Guid.NewGuid(), Name = "Beef", ProductCategoryId = meatId }; var Tomato = new Product { Id = Guid.NewGuid(), Name = "Tomato", ProductCategoryId = vegeId }; productsRepositoryMock.Setup(pr => pr.GetAllProducts()). Returns(new List <Product> { Bacon, Beef, Tomato }); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); Assert.Equal(2, vm.Categories.Count); Assert.Equal("Meat", vm.SelectedCategory.Name); vm.SelectedCategory = Vege; Assert.Equal("Vegetables", vm.SelectedCategory.Name); Assert.Single(vm.ProductsPerCategory); Assert.Contains(Tomato, vm.ProductsPerCategory); }
public void LoadsProducts() { productsRepositoryMock.Setup(pr => pr.GetAllProducts()). Returns(new List <Product> { new Product { Id = Guid.NewGuid() }, new Product { Id = Guid.NewGuid() } }); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); Assert.Equal(2, vm.Products.Count); }
public async Task <IActionResult> Create(FridgeViewModel model) { if (ModelState.IsValid) { var fridge = new Refrigerator { Id = Guid.NewGuid(), Location = model.Location, UserId = User.GetId(), State = FridgeState.Deactivated }; _context.Add(fridge); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(FridgeList))); } return(View(model)); }
public async Task <IActionResult> Edit(Guid id, FridgeViewModel model) { var fridge = _context.Refrigerators.Find(id); if (fridge == null) { return(NotFound()); } if (ModelState.IsValid) { fridge.Location = model.Location; _context.Update(fridge); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(FridgeList))); } return(View(model)); }
public async Task <IActionResult> AddToFridge(FridgeViewModel fridge) { User user = await _signInManager.UserManager.GetUserAsync(User); var products = await productRepository.Products(); products = products.OrderBy(p => p.Name); if (!ModelState.IsValid) { if (ModelState["Id"].Errors.Count != 0) { ModelState.Remove("Id"); ModelState.SetModelValue("Id", new ValueProviderResult("Należy wybrać produkt", CultureInfo.InvariantCulture)); ModelState.AddModelError("Id", "Należy wybrać produkt"); } fridge.Products = products; fridge.Fridges = await fridgeRepository.GetUserProducts(user); return(View("Fridge", fridge)); } Fridge productInFridge = await fridgeRepository.FindAsync(f => f.Product.Id == fridge.Id && f.User.Id == user.Id); if (productInFridge != null) { productInFridge.Quantity = (int)fridge.Quantity; fridgeRepository.Update(productInFridge); } else { Product product = await productRepository.FindAsync(p => p.Id == fridge.Id); fridgeRepository.Add(new Fridge { Product = product, User = user, Quantity = (int)fridge.Quantity }); } return(RedirectToAction("Fridge")); }
public void AddProductToFridgeIsNullProtected() { fridgeRepositoryMock.Setup(fr => fr.GetFridge()). Returns(new Fridge { FridgeProducts = new List <FridgeProduct>() }); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); int countBefore = vm.FridgeLookups.Count; vm.SelectedProduct = null; int countAfter = vm.FridgeLookups.Count; Assert.Equal(countBefore, countAfter); }
public void AddProductToFridgeFromSearchbox() { var id = Guid.NewGuid(); fridgeRepositoryMock.Setup(fr => fr.GetFridge()). Returns(new Fridge { FridgeProducts = new List <FridgeProduct>() }); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); vm.SelectedSearchBoxProduct = new Product { Id = id }; Assert.Empty(vm.FridgeLookups); vm.AddFromSearchBoxCommand.Execute(null); Assert.Single(vm.FridgeLookups); }
public void AddingExistingProductToFridgeHasNoEffect() { var id = Guid.NewGuid(); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); vm.FridgeLookups.Add(new FridgeProductLookup { ProductId = id }); int countBefore = vm.FridgeLookups.Count; vm.SelectedProduct = new Product { Id = id }; int countAfter = vm.FridgeLookups.Count; Assert.Equal(countBefore, countAfter); }
public void AfterSelectionOfNewProductItsAddedToFridge() { fridgeRepositoryMock.Setup(fr => fr.GetFridge()). Returns(new Fridge { FridgeProducts = new List <FridgeProduct>() }); FridgeViewModel vm = new FridgeViewModel(fridgeRepositoryMock.Object, productsRepositoryMock.Object, eventAggregatorMock.Object); vm.LoadDataCommand.Execute(null); int countBefore = vm.FridgeLookups.Count; vm.SelectedProduct = new Product { Id = Guid.NewGuid() }; int countAfter = vm.FridgeLookups.Count; Assert.Equal(0, countBefore); Assert.Equal(1, countAfter); }