Пример #1
0
        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);
        }
Пример #2
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);
        }