public async Task UpdateAsyncShouldUpdateProduct() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var repository = new EfDeletableEntityRepository <Product>(dbContext); var productsService = new ProductsService(repository); // Create var product = new Product() { Name = "TestProduct", Description = "none", CategoryId = 3, Category = new Category() { Id = 1, Name = "Test Category " }, ImageUrl = null, ImageStorageName = null, Ratings = null, }; var product2 = new Product() { Name = "TestProduct", Description = "none", CategoryId = 3, Category = new Category() { Id = 2, Name = "Category two" }, ImageUrl = null, ImageStorageName = null, Ratings = null, }; await productsService.CreateAsync(product); await productsService.CreateAsync(product2); // Update product.Name = "NameEdited"; product.Description = "some"; product.CategoryId = 2; product.Category = new Category() { Id = 2, Name = "Category two" }; await productsService.UpdateAsync(product); // Get var productsFromDb = dbContext.Products.ToList(); var productFromDb = productsFromDb.First(); Assert.Equal(product.Id, productFromDb.Id); Assert.Equal("NameEdited", productFromDb.Name); Assert.Equal(2, productFromDb.CategoryId); Assert.Equal("Category two", productFromDb.Category.Name); }
public async Task GetBaseByIdShouldReturnProduct() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var repository = new EfDeletableEntityRepository <Product>(dbContext); var productsService = new ProductsService(repository); // Create var product = new Product() { Name = "TestProduct", Description = "none", CategoryId = 3, Category = new Category() { Id = 1, Name = "Test Category " }, ImageUrl = null, ImageStorageName = null, Ratings = null, }; await productsService.CreateAsync(product); // Get var productsFromDb = await productsService.GetBaseById(product.Id); Assert.Equal(product.Id, productsFromDb.Id); }
public async Task CreateAsyncShouldCreateProduct() { var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext(); var repository = new EfDeletableEntityRepository <Product>(dbContext); var productsService = new ProductsService(repository); var product = new Product() { Name = "TestProduct", Description = "none", CategoryId = 3, Category = new Category() { Id = 3, Name = "Test Category " }, ImageUrl = null, ImageStorageName = null, Sizes = new List <ProductSize>() { new ProductSize() { Id = 1, Name = "S", Price = 5M } }, Ratings = null, }; await productsService.CreateAsync(product); var products = dbContext.Products.ToList(); var productsCount = products.Count; Assert.Equal(1, productsCount); }
private async Task <string> PrepareProductAsync(ProductsService service) { var picture = this.mockPicture.Object; var productId = await service.CreateAsync("productName", "productDescription", 12, picture, "1", "1"); return(productId); }
public async Task CreateAsyncShouldCreateProductSuccessfully() { var diablo = new ProductDto { Name = "Diablo", Description = "Pizza diavola means the devils pizza and is quite a spicy little devil and one of my favourite pizzas. If you like spicy hot and chilli flavours you will enjoy this pizza.", Price = 8.90m, Weight = 500, Image = "https://images.pizza33.ua/products/product/yQfkJqZweoLn9omo68oz5BnaGzaIE0UJ.jpg" }; await _productsService.CreateAsync(diablo); Assert.Equal(1, _productsRepository.All().Count()); var product = _productsRepository.All().First(); Assert.Equal("Diablo", product.Name); Assert.Equal("Pizza diavola means the devils pizza and is quite a spicy little devil and one of my favourite pizzas. If you like spicy hot and chilli flavours you will enjoy this pizza.", product.Description); Assert.Equal(8.90m, product.Price); Assert.Equal(500, product.Weight); Assert.Equal("https://images.pizza33.ua/products/product/yQfkJqZweoLn9omo68oz5BnaGzaIE0UJ.jpg", product.Image); }