public async Task Anagram_IsPermitted_GetCorrectAnagrams() { _userLogService.IsPermittedToView(Arg.Any <string>()).Returns(true); _cachedWordsService.FindAnagrams("alus").Returns(new List <string> { "sula", "alus" }); ViewResult result = await _homeController.Anagram("alus"); result.ViewData.Values.ShouldBe(new List <List <string> > { new List <string> { "sula", "alus" } }); }
//find word anagrams public async Task <ViewResult> Anagram(String word) { string ip = LogActivities.GetIPAddress(); if (UsersLogService.IsPermittedToView(ip)) { //cookies - last searched words WebCookies.AddNewWordToHistory(Request, Response, word); //find anagrams -- find if there are cached words //List<string> anagrams = CachedWordService.FindAnagrams(word); List <string> anagrams = await Task.Run(() => (CachedWordService.FindAnagrams(word))); ViewBag.Anagrams = anagrams; //UserLog Task.Run(() => LogActivities.LogWordViewed(word)); } else { ViewBag.Permitted = false; } return(View("Index")); }