public async Task EditProductShouldEditProperties() { var options = new DbContextOptionsBuilder <WHMSDbContext>().UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; using var context = new WHMSDbContext(options); var product = new Product { ProductName = "Test Product", ShortDescription = "Test Product", WebsitePrice = 23, }; context.Products.Add(product); await context.SaveChangesAsync(); var mockInventoryService = new Mock <IInventoryService>(); var service = new ProductsService(context, mockInventoryService.Object); var editedProduct = new ProductDetailsInputModel { Id = product.Id, ProductName = "Edited", ShortDescription = "Edited", WebsitePrice = 100, }; await service.EditProductAsync <ProductDetailsViewModel, ProductDetailsInputModel>(editedProduct); var dbProduct = context.Products.FirstOrDefault(); Assert.Equal(editedProduct.ProductName, dbProduct.ProductName); Assert.Equal(editedProduct.ShortDescription, dbProduct.ShortDescription); Assert.Equal(editedProduct.WebsitePrice, dbProduct.WebsitePrice); }
public async Task EditProductAsynctShouldEditProduct() { var options = new DbContextOptionsBuilder <PhotoparallelDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var dbContext = new PhotoparallelDbContext(options); var productService = new ProductsService(dbContext); var product = new Product { Name = "Canon M50", Price = 1199, Warranty = 1, }; dbContext.Products.Add(product); await dbContext.SaveChangesAsync(); product.Name = "Canon EOS M50"; product.Price = 1100; product.Warranty = 2; await productService.EditProductAsync(product); var editedProduct = dbContext.Products.FirstOrDefault(x => x.Name == product.Name); Assert.Equal(product.Name, editedProduct.Name); Assert.Equal(product.Price, editedProduct.Price); Assert.Equal(product.Warranty, editedProduct.Warranty); }