Пример #1
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #6
0
        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");
        }
Пример #7
0
        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);
        }