public IActionResult DeleteWord(string originalWord) { WordEditInfoModel wordEditInfoModel = new WordEditInfoModel(); wordEditInfoModel.OriginalWord = originalWord; wordEditInfoModel = _dictionaryManagaingService.DeleteWord(wordEditInfoModel, HttpContext.Connection.LocalIpAddress.ToString()); return(View(wordEditInfoModel)); }
public WordEditInfoModel DeleteWord(WordEditInfoModel wordEditInfoModel, string userIp) { bool hasCreditsToDelete = _userManagingService.CheckIfValidToSearch(userIp); if (!hasCreditsToDelete) { wordEditInfoModel.EditStatus = WordEditStatus.DeleteDenied; return(wordEditInfoModel); } _wordRepository.DeleteWord(wordEditInfoModel.OriginalWord); wordEditInfoModel.EditStatus = WordEditStatus.DeleteSuccesful; return(wordEditInfoModel); }
public void DeleteWord_GivenIpOfUserWhoHasNoSearchCredits_ShouldReturnModelWithEditStatusDeleteDenied() { WordEditInfoModel wordEditInfoModel = new WordEditInfoModel { OriginalWord = "sula", NewWord = "alus" }; _userContract.GetUser("127.0.0.1").Returns(new User { Id = 1, UserIp = "127.0.0.1", SearchesLeft = 0 }); var result = _dictionaryManagingService.DeleteWord(wordEditInfoModel, "127.0.0.1"); _wordRepository.DidNotReceive().DeleteWord(wordEditInfoModel.OriginalWord); result.EditStatus.ShouldBe(WordEditStatus.DeleteDenied); }
public IActionResult EditWord(string originalWord, string newWord) { WordEditInfoModel wordEditInfoModel = new WordEditInfoModel(); wordEditInfoModel.OriginalWord = originalWord; wordEditInfoModel.NewWord = newWord; if (String.IsNullOrEmpty(wordEditInfoModel.NewWord)) { return(View(wordEditInfoModel)); } wordEditInfoModel = _dictionaryManagaingService.EditWord(wordEditInfoModel, HttpContext.Connection.LocalIpAddress.ToString()); return(View(wordEditInfoModel)); }
public WordEditInfoModel EditWord(WordEditInfoModel wordEditInfoModel, string userIp) { bool isEditSuccessful = _wordRepository.EditWord(wordEditInfoModel.OriginalWord, wordEditInfoModel.NewWord); if (isEditSuccessful) { wordEditInfoModel.EditStatus = WordEditStatus.EditSuccessful; wordEditInfoModel.OriginalWord = wordEditInfoModel.NewWord; wordEditInfoModel.NewWord = null; _userManagingService.GiveUserAdditionalSearch(userIp); } else { wordEditInfoModel.EditStatus = WordEditStatus.EditUnsuccesful; wordEditInfoModel.NewWord = null; } return(wordEditInfoModel); }
public void EditWord_GivenWordEditModelWithAlreadyExistingNewWord_ShouldNotChangeWord() { WordEditInfoModel wordEditInfoModel = new WordEditInfoModel { OriginalWord = "sula", NewWord = "alus" }; _wordRepository.EditWord(wordEditInfoModel.OriginalWord, wordEditInfoModel.NewWord).Returns(false); _userContract.GetUser("127.0.0.1").Returns(new User { Id = 1, UserIp = "127.0.0.1", SearchesLeft = 10 }); var result = _dictionaryManagingService.EditWord(wordEditInfoModel, wordEditInfoModel.NewWord); result.NewWord.ShouldBeNull(); result.OriginalWord.ShouldBe("sula"); result.EditStatus.ShouldBe(WordEditStatus.EditUnsuccesful); _userManagingService.DidNotReceive().GiveUserAdditionalSearch("127.0.0.1"); }
public void EditWord_GivenWordEditModelWithUniqueNewWord_ShouldChangeOriginalWordToNewWord() { WordEditInfoModel wordEditInfoModel = new WordEditInfoModel { OriginalWord = "sula", NewWord = "alus" }; _wordRepository.EditWord(wordEditInfoModel.OriginalWord, wordEditInfoModel.NewWord).Returns(true); _userContract.GetUser("10").Returns(new User { Id = 10, UserIp = "10", SearchesLeft = 10 }); _userContract.GetUser("127.0.0.1").Returns(new User { Id = 1, UserIp = "127.0.0.1", SearchesLeft = 10 }); var result = _dictionaryManagingService.EditWord(wordEditInfoModel, "10"); _userManagingService.Received().GiveUserAdditionalSearch("127.0.0.1"); result.NewWord.ShouldBeNull(); result.OriginalWord.ShouldBe("alus"); result.EditStatus.ShouldBe(WordEditStatus.EditSuccessful); }