Example #1
0
        public async Task DeleteProductAsync()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;
            IOptions <OperationalStoreOptions> someOptions = Options.Create(new OperationalStoreOptions());

            using (var context = new ApplicationDbContext(options, someOptions))
            {
                var product = new Product();
                var users   = new[]
                {
                    new User {
                        Id = "user1"
                    },
                };
                var cartProducts = new[]
                {
                    new CartProduct {
                        Id = 1, Count = 4, User = users[0], Product = product
                    },
                };

                context.Users.AddRange(users);
                context.CartProducts.AddRange(cartProducts);
                context.SaveChanges();

                var cartProductService = new CartProductService(context);
                await cartProductService.DeleteProductAsync(1, "user1");

                Assert.Null(await cartProductService.GetCartProductAsync(1, "user1"));
            }
        }
        public async Task <IActionResult> Delete(int productId)
        {
            await _cartProductService.DeleteProductAsync(productId, User.FindFirstValue("sub"));

            return(Ok(null));
        }