public void search_service_must_return_expected_messages_when_we_search_by_speach_text() { var searchService = ServiceLocator.Current.GetInstance <ISearchService>(); UserMessageSearchResult result = searchService.SearchMessages("fifth message", 0, 100); Assert.IsNotNull(result, "Service must return results with message list"); Assert.AreEqual(1, result.AllResults, "Service must return proper amount of messages when we search by speech"); Assert.AreEqual(1, result.UserMessages.Count(x => x.Message.Speech.Contains("fifth message")), "Service must return all expected user messages when we search by speech"); }
public void search_service_must_return_expected_amount_of_messages_when_we_specify_page() { var searchService = ServiceLocator.Current.GetInstance <ISearchService>(); UserMessageSearchResult result = searchService.SearchMessages("some mind", 1, 3); Assert.IsNotNull(result, "Service must return results with message list"); Assert.AreEqual(7, result.AllResults, "Service must return proper amount of messages"); Assert.AreEqual(3, result.UserMessages.Count(x => x.Message.Mind.Contains("some mind")), "Service must return all expected user messages"); }
public SearchViewModel CreateSearchViewModel(Guid watcherUserId, string s) { UserSearchResult userSearchResult = _searchService.SearchUsers(s, 0, 20); var usersViewModel = _usersViewModelService.CreateUsersViewModel(userSearchResult.Users, watcherUserId); UserMessageSearchResult userMessageSearchResult = _searchService.SearchMessages(s, 0, 20); var timelineViewModel = _messagesViewModelService.CreateTimelineViewModel(null, watcherUserId, userMessageSearchResult.UserMessages); var viewModel = new SearchViewModel { Query = s, AmountOfUsers = userSearchResult.AllResults, AmountOfMessages = userMessageSearchResult.AllResults, Users = usersViewModel, TimelineViewModel = timelineViewModel }; return(viewModel); }
public UserMessageSearchResult SearchMessages(string s, int page, int amountOnPage) { IQueryable <UserMessage> allFoundQuery = _userMessageRepository.FindAll() .Where(x => x.UserMessageState.UserMessageStateEnum != UserMessageStateEnum.Deleted && x.Message.MessageState.MessageStateEnum == MessageStateEnum.Published && x.UserMessageCreationMode.UserMessageCreationModeEnum == UserMessageCreationModeEnum.ByHimselfNew && (x.Message.Mind.Contains(s) || x.Message.Speech.Contains(s))); int allResults = allFoundQuery.Count(); IQueryable <UserMessage> partResultQuery = allFoundQuery.OrderBy(x => x.CreationDate).Skip(page * amountOnPage).Take(amountOnPage); var userMessageSearchResult = new UserMessageSearchResult { AmountOnPage = amountOnPage, Page = page, AllResults = allResults, UserMessages = partResultQuery.ToList() }; return(userMessageSearchResult); }