示例#1
0
        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);
        }
示例#2
0
        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);
        }