public async Task InsertCachedWord(CachedWord cachedWord) { var entity = new CachedWordEntity { AnagramsIds = cachedWord.AnagramsIds, Phrase = cachedWord.SearchPhrase }; await _context.CachedWords.AddAsync(entity); }
public async Task InsertAndFetchCachedWord() { var word = new CachedWord("test-phrase8", "1;2;3"); await _repo.InsertCachedWord(word); var insertedWord = await _repo.GetCachedWord(word.SearchPhrase); Assert.AreEqual(word.SearchPhrase, insertedWord.Phrase); Assert.AreEqual(word.AnagramsIds, insertedWord.AnagramsIds); }
public void SetCachedAnagrams(List <string> anagrams, string requestWord) { foreach (string anagram in anagrams) { CachedWord cachedWord = new CachedWord(); cachedWord.RequestWordId = _em.RequestWords.Where(r => r.Word == requestWord).Select(r => r.Id).FirstOrDefault(); cachedWord.DictionaryWordId = _em.DictionaryWords.Where(d => d.Word == anagram).Select(d => d.Id).FirstOrDefault(); _em.CachedWords.Add(cachedWord); } _em.SaveChanges(); }
public void InsertIntoCashedWords(string word) { using (var context = new AnagramCFContext()) { var cachedWord = new CachedWord() { CachedWord1 = word }; context.CachedWords.Add(cachedWord); context.SaveChanges(); } }
public Task AddCachedWord(string phrase, List <string> anagramsIds) { if (string.IsNullOrEmpty(phrase) || anagramsIds == null || anagramsIds.Count < 1) { throw new Exception("Cannot add CachedWord, because CachedWord is empty"); } var formatedIds = string.Join(";", anagramsIds); var cachedWord = new CachedWord(phrase, formatedIds); return(_cachedWordRepository.InsertCachedWord(cachedWord)); }
public async Task SuccessWhenGettingSelectedCachedWord() { var model = new CachedWord("phrase", "anagrams"); _cachedWordRepoMock.GetCachedWord(Arg.Any <string>()).Returns(new CachedWordEntity()); _mapperMock.Map <CachedWord>(Arg.Any <object>()).Returns(model); var result = await _cachedWordService.GetSelectedCachedWord("phrase"); await _cachedWordRepoMock.Received().GetCachedWord(Arg.Any <string>()); _mapperMock.Received().Map <CachedWord>(Arg.Any <CachedWordEntity>()); Assert.AreEqual(model.SearchPhrase, result.SearchPhrase); Assert.AreEqual(model.AnagramsIds, result.AnagramsIds); }
public async Task InsertCachedWord(CachedWord cachedWord) { sqlConnection.Open(); SqlCommand cmd = new SqlCommand { Connection = sqlConnection, CommandType = CommandType.Text, CommandText = "insert into CachedWords(Phrase, AnagramsIds) " + "values (@phrase, @anagrams)" }; cmd.Parameters.Add(new SqlParameter("@phrase", cachedWord.SearchPhrase)); cmd.Parameters.Add(new SqlParameter("@anagrams", cachedWord.AnagramsIds)); await cmd.ExecuteNonQueryAsync(); sqlConnection.Close(); }
public async Task GetSearchedAnagramsSuccessWhenSearchPhraseDefined() { var chachedWord = new CachedWord("phrase", "1;2/8"); var word = new Anagram() { Category = "cat", Word = "word" }; _cachedWordService.GetSelectedCachedWord(Arg.Any <string>()).Returns(chachedWord); _wordServiceMock.GetWordById(Arg.Any <int>()).Returns(word); var result = await _historyService.GetSearchedAnagrams("phrase"); await _cachedWordService.Received().GetSelectedCachedWord(Arg.Any <string>()); await _wordServiceMock.Received().GetWordById(Arg.Any <int>()); Assert.AreEqual(2, result.Count); Assert.AreEqual(word.Word, result[0]); Assert.AreEqual($"{word.Word} {word.Word}", result[1]); }