Пример #1
0
        public void SearchController_Add_Throws_On_Null_SearchDocument()
        {
            //Arrange

            //Act, Assert
            Assert.Throws <ArgumentNullException>(() => _internalSearchController.AddSearchDocument(null));
        }
        public void GetSearchResultsDetailed()
        {
            const string keyword    = "super";
            const string moduleBody = "super content is here";
            const string userUrl    = "mysite/userid/1";
            const string tabUrl1    = "mysite/Home";
            const string tabUrl2    = "mysite/AboutUs";

            //first tab with 2 modules
            var doc1 = new SearchDocument {
                UniqueKey = "key01", TabId = TabId1, Url = tabUrl1, Title = keyword, SearchTypeId = TabSearchTypeId, ModifiedTimeUtc = DateTime.UtcNow
            };
            var doc2 = new SearchDocument {
                UniqueKey = "key02", TabId = TabId1, Title = keyword, Url = tabUrl1, SearchTypeId = ModuleSearchTypeId, ModifiedTimeUtc = DateTime.UtcNow, ModuleDefId = HtmlModuleDefId, ModuleId = HtmlModuleId2, Body = moduleBody, RoleId = 731
            };
            var doc3 = new SearchDocument {
                UniqueKey = "key03", TabId = TabId1, Title = keyword, Url = tabUrl1, SearchTypeId = ModuleSearchTypeId, ModifiedTimeUtc = DateTime.UtcNow, ModuleDefId = HtmlModuleDefId, ModuleId = HtmlModuleId1, Body = moduleBody, RoleId = 731
            };

            //second tab with 1 module
            var doc4 = new SearchDocument {
                UniqueKey = "key04", TabId = TabId2, Url = tabUrl2, Title = keyword, SearchTypeId = TabSearchTypeId, ModifiedTimeUtc = DateTime.UtcNow, RoleId = RoleId0
            };
            var doc5 = new SearchDocument {
                UniqueKey = "key05", TabId = TabId2, Title = keyword, Url = tabUrl2, SearchTypeId = ModuleSearchTypeId, ModuleDefId = HtmlModuleId, ModuleId = HtmlModuleId3, ModifiedTimeUtc = DateTime.UtcNow, Body = moduleBody, RoleId = 731
            };

            //user doc
            var userdoc = new SearchDocument {
                UniqueKey = "key06", Url = userUrl, Title = keyword, SearchTypeId = UserSearchTypeId, ModifiedTimeUtc = DateTime.UtcNow, RoleId = RoleId731
            };

            _internalSearchController.AddSearchDocument(doc1);
            _internalSearchController.AddSearchDocument(doc2);
            _internalSearchController.AddSearchDocument(doc3);
            _internalSearchController.AddSearchDocument(doc4);
            _internalSearchController.AddSearchDocument(doc5);
            _internalSearchController.AddSearchDocument(userdoc);

            var query = new SearchQuery
            {
                KeyWords      = keyword,
                SearchTypeIds = new[] { ModuleSearchTypeId, TabSearchTypeId, UserSearchTypeId },
                RoleId        = 731
            };

            //Run
            var search = GetGroupedDetailViewResults(query);

            //Assert
            var groupedDetailViews = search as List <GroupedDetailView> ?? search.ToList();

            //Overall 3 groups - tab1, tab2 and user
            Assert.AreEqual(3, groupedDetailViews.Count());

            //Tab 1 has 2 DetailViews
            Assert.AreEqual(2, groupedDetailViews.Single(x => x.DocumentUrl == tabUrl1).Results.Count());

            //Tab 2 has 1 DetailViews
            Assert.AreEqual(1, groupedDetailViews.Single(x => x.DocumentUrl == tabUrl2).Results.Count());

            //UserUrl has 1 DetailViews
            Assert.AreEqual(1, groupedDetailViews.Single(x => x.DocumentUrl == userUrl).Results.Count());
        }