public async Task <bool> Add(MarketplaceUser user, string id) { if (user == null || id == null) { return(false); } var userFromDb = await this.userService.GetUserById(user.Id); var isExist = userFromDb.WishProducts.Select(x => x.ProductId).Contains(id); if (isExist) { return(true); } var wishProduct = new WishProduct() { MarketplaceUserId = userFromDb.Id, ProductId = id }; this.context.WishProducts.Add(wishProduct); userFromDb.WishProducts.Add(wishProduct); var result = await this.context.SaveChangesAsync(); return(result > 0); }
public async Task GetAllWishProductsCountReturnsOne() { //Arrange var options = new DbContextOptionsBuilder <MarketplaceDbContext>() .UseInMemoryDatabase("GetAllWishProductsCountReturnsOne") .Options; var dbContext = new MarketplaceDbContext(options); var profile = new MarketplaceProfile(); var configuration = new MapperConfiguration(x => x.AddProfile(profile)); var mapper = new Mapper(configuration); var userStoreMock = new Mock <IUserStore <MarketplaceUser> >(); var userManagerMock = new Mock <UserManager <MarketplaceUser> >(userStoreMock.Object, null, null, null, null, null, null, null, null); var userService = new UserService(dbContext, mapper, userManagerMock.Object); var user = new MarketplaceUser() { Id = "eb243391-a7ee-42f6-bb4e-f28c74a68d84" }; dbContext.Users.Add(user); await dbContext.SaveChangesAsync(); var product = new Product() { Id = "6093d234-12b9-4b9b-9391-97475e24d7b3" }; dbContext.Products.Add(product); await dbContext.SaveChangesAsync(); var wishProduct = new WishProduct() { MarketplaceUserId = user.Id, ProductId = product.Id }; dbContext.WishProducts.Add(wishProduct); await dbContext.SaveChangesAsync(); //Act var actual = userService.GetAllWishProductsCount(user); var expected = 1; //Assert Assert.Equal(expected, actual); }