Esempio n. 1
0
        public void GetAllPinnedNewsByCategory_PinnedNewsIsInCategory_NotEmptyList()
        {
            var categoryId1 = Guid.NewGuid().ToString();
            var categoryId2 = Guid.NewGuid().ToString();
            var categoryId3 = Guid.NewGuid().ToString();
            var listObjects = new List <PinNews>
            {
                new PinNews()
                {
                    CategoryId = categoryId1, NewsItemId = Guid.NewGuid().ToString()
                },
                new PinNews()
                {
                    CategoryId = categoryId2, NewsItemId = Guid.NewGuid().ToString()
                }
            };

            Mock <IRepository <PinNews> > mock = new Mock <IRepository <PinNews> >();

            mock.Setup(m => m.GetMany(pn => pn.CategoryId == categoryId1))
            .Returns(listObjects.Where(pn => pn.CategoryId == categoryId1));
            mock.Setup(m => m.GetMany(pn => pn.CategoryId == categoryId2))
            .Returns(listObjects.Where(pn => pn.CategoryId == categoryId2));
            mock.Setup(m => m.GetMany(pn => pn.CategoryId == categoryId3))
            .Returns(listObjects.Where(pn => pn.CategoryId == categoryId3));

            PinNewsService service = new PinNewsService(mock.Object);

            var result = service.GetAllPinnedNewsByCategory(categoryId1);

            Assert.IsTrue(result != null);
            Assert.IsTrue(result.Any());
            Assert.IsTrue(result.Count() == 1);
        }
Esempio n. 2
0
        private IList <NewsItemViewModel> GetManyNewsItemViewModel(string categoryId, int skip, int take)
        {
            var categoryIds   = new List <string>();
            var pinnedNewsIds = new List <string>();


            var childrenCategory = _menuService.GetRecursionAllChildren(categoryId);
            var pinnedNews       = _pinNewsService.GetAllPinnedNewsByCategory(categoryId);

            categoryIds.Add(categoryId);
            categoryIds.AddRange(childrenCategory.Select(menuItem => menuItem.Id));
            pinnedNewsIds.AddRange(pinnedNews.Select(p => p.NewsItemId));

            var filterNewsItemParameters = new FilterNewsItemParameters()
            {
                CategoryIds   = categoryIds,
                PinnedNewsIds = pinnedNewsIds,
                Skip          = skip,
                Take          = take
            };
            var newsCollection = _newsService.GetNewsItem(filterNewsItemParameters);

            return(GetNewsItemsViewModel(newsCollection));
        }