コード例 #1
0
        public void GetAllFavoriteProductsByUserId_WithDummyData_ShouldReturnCorrectResults()
        {
            var context = UniShopDbContextInMemoryFactory.InitializeContext();

            this.SeedData(context);
            this.favoriteProductsService = new FavoriteProductsService(context, new UniShopUsersService(context));

            string userId          = context.Users.First().Id;
            int    firstProductId  = context.Products.First().Id;
            int    secondProductId = context.Products.Last().Id;
            List <UniShopUserFavoriteProduct> testfavoriteProducts = new List <UniShopUserFavoriteProduct>
            {
                new UniShopUserFavoriteProduct
                {
                    UniShopUserId = userId,
                    ProductId     = firstProductId
                },
                new UniShopUserFavoriteProduct
                {
                    UniShopUserId = userId,
                    ProductId     = secondProductId
                }
            };

            context.AddRange(testfavoriteProducts);
            context.SaveChanges();

            List <UniShopUserFavoriteProductServiceModel> actualResults = this.favoriteProductsService.GetAllFavoriteProductsByUserId(userId).ToList();
            int expectedResults = 2;

            Assert.Equal(expectedResults, actualResults.Count());
        }
コード例 #2
0
        public void AddFavoriteProduct_WithExistentSameFavoriteProduct_ShouldReturnFalse()
        {
            string errorMessagePrefix = "FavoriteProductsService AddFavoriteProduct() method does not work properly.";

            var context = UniShopDbContextInMemoryFactory.InitializeContext();

            this.SeedData(context);
            this.favoriteProductsService = new FavoriteProductsService(context, new UniShopUsersService(context));

            UniShopUser user      = context.Users.First();
            int         productId = context.Products.First().Id;

            UniShopUserFavoriteProduct testFavoriteProduct = new UniShopUserFavoriteProduct
            {
                UniShopUserId = user.Id,
                ProductId     = productId
            };

            context.Add(testFavoriteProduct);
            context.SaveChanges();

            int expectedCount = user.FavoriteProducts.Count();

            bool actualResult = this.favoriteProductsService.AddFavoriteProduct(productId, user.UserName);
            int  actualCount  = user.FavoriteProducts.Count();

            Assert.False(actualResult, errorMessagePrefix);
            Assert.Equal(expectedCount, actualCount);
        }
コード例 #3
0
        public void GetAllFavoriteProductsByUserId_WithNonExistentUser_ShouldReturnEmptyResults()
        {
            var context = UniShopDbContextInMemoryFactory.InitializeContext();

            this.SeedData(context);
            this.favoriteProductsService = new FavoriteProductsService(context, new UniShopUsersService(context));

            string nonExistentuserId = context.Users.Last().Id + new Guid();

            List <UniShopUserFavoriteProductServiceModel> actualResults = this.favoriteProductsService.GetAllFavoriteProductsByUserId(nonExistentuserId).ToList();
            int expectedResults = 0;

            Assert.Equal(expectedResults, actualResults.Count());
        }
コード例 #4
0
        public void RemoveFavoriteProduct_WithNonExistentProduct_ShouldSuccessfullyCreate()
        {
            string errorMessagePrefix = "FavoriteProductsService RemoveFavoriteProduct() method does not work properly.";

            var context = UniShopDbContextInMemoryFactory.InitializeContext();

            this.SeedData(context);
            this.favoriteProductsService = new FavoriteProductsService(context, new UniShopUsersService(context));

            UniShopUser user      = context.Users.First();
            int         productId = context.Products.Last().Id + 1;

            bool actualResult = this.favoriteProductsService.RemoveFavoriteProduct(productId, user.UserName);

            Assert.False(actualResult, errorMessagePrefix);
        }
コード例 #5
0
        public void AddFavoriteProduct_WithNonExistentUser_ShouldReturnFalse()
        {
            string errorMessagePrefix = "FavoriteProductsService AddFavoriteProduct() method does not work properly.";

            var context = UniShopDbContextInMemoryFactory.InitializeContext();

            this.SeedData(context);
            this.favoriteProductsService = new FavoriteProductsService(context, new UniShopUsersService(context));

            string nonExistentUsername = "******";
            int    productId           = context.Products.First().Id;

            bool actualResult = this.favoriteProductsService.AddFavoriteProduct(productId, nonExistentUsername);

            Assert.False(actualResult, errorMessagePrefix);
        }
コード例 #6
0
        public void AddFavoriteProduct_WithCorrectData_ShouldSuccessfullyCreate()
        {
            string errorMessagePrefix = "FavoriteProductsService AddFavoriteProduct() method does not work properly.";

            var context = UniShopDbContextInMemoryFactory.InitializeContext();

            this.SeedData(context);
            this.favoriteProductsService = new FavoriteProductsService(context, new UniShopUsersService(context));

            UniShopUser user      = context.Users.First();
            int         productId = context.Products.First().Id;

            int expectedCount = user.FavoriteProducts.Count() + 1;

            bool actualResult = this.favoriteProductsService.AddFavoriteProduct(productId, user.UserName);
            int  actualCount  = user.FavoriteProducts.Count();

            Assert.True(actualResult, errorMessagePrefix);
            Assert.Equal(expectedCount, actualCount);
        }
コード例 #7
0
        public void RemoveFavoriteProduct_WithCorrectData_ShouldSuccessfullyCreate()
        {
            string errorMessagePrefix = "FavoriteProductsService RemoveFavoriteProduct() method does not work properly.";

            var context = UniShopDbContextInMemoryFactory.InitializeContext();

            this.SeedData(context);
            this.favoriteProductsService = new FavoriteProductsService(context, new UniShopUsersService(context));

            UniShopUser user            = context.Users.First();
            int         firstProductId  = context.Products.First().Id;
            int         secondProductId = context.Products.Last().Id;
            List <UniShopUserFavoriteProduct> testfavoriteProducts = new List <UniShopUserFavoriteProduct>
            {
                new UniShopUserFavoriteProduct
                {
                    UniShopUserId = user.Id,
                    ProductId     = firstProductId
                },
                new UniShopUserFavoriteProduct
                {
                    UniShopUserId = user.Id,
                    ProductId     = secondProductId
                }
            };

            context.AddRange(testfavoriteProducts);
            context.SaveChanges();

            int expectedCount = user.FavoriteProducts.Count() - 1;

            bool actualResult = this.favoriteProductsService.RemoveFavoriteProduct(firstProductId, user.UserName);
            int  actualCount  = user.FavoriteProducts.Count();

            Assert.True(actualResult, errorMessagePrefix);
            Assert.Equal(expectedCount, actualCount);
        }
コード例 #8
0
 public FavoriteProductsController(IFavoriteProductsService favoriteProductsService)
 {
     this.favoriteProductsService = favoriteProductsService;
 }