public async Task RemoveProductAsync() { 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); Assert.AreEqual( 3, (await cartProductService.RemoveProductAsync(1, "user1")).Count ); } }
public async Task <IActionResult> Remove(int productId) { return(Ok( await _cartProductService.RemoveProductAsync(productId, User.FindFirstValue("sub")))); }