コード例 #1
0
        public async Task IndexSuccessWhenLogsFound()
        {
            var logs = new List <UserLog>()
            {
                new UserLog("123", "phrase", TimeSpan.FromSeconds(4), "action")
            };
            var returnList = new List <string>()
            {
                "word1", "word2"
            };

            _userLogServiceMock.GetAllSolverLogs().Returns(logs);
            _searchHistoryServiceMock.GetSearchedAnagrams(Arg.Any <string>()).Returns(returnList);

            var result = await _controller.Index() as ViewResult;

            var data = result.ViewData.Model as List <SearchHistory>;

            await _userLogServiceMock.Received().GetAllSolverLogs();

            await _searchHistoryServiceMock.Received().GetSearchedAnagrams(Arg.Any <string>());

            Assert.AreEqual(logs.Count, data.Count);
            Assert.AreEqual(logs[0].Ip, data[0].Ip);
            Assert.AreEqual(returnList.Count, data[0].Anagrams.Count);
            Assert.AreEqual(returnList[0], data[0].Anagrams[0]);
        }
コード例 #2
0
        public async Task IndexFailedWhenNoSolvesLeftForIp()
        {
            _userLogServiceMock.CountAnagramsLeftForIpToSolve().Returns(0);

            var result = await _controller.Index("labas") as ViewResult;

            var data = result.ViewData.Values;

            await _userLogServiceMock.Received().CountAnagramsLeftForIpToSolve();

            Assert.AreEqual(1, data.Count);
        }
コード例 #3
0
        public async Task CreateSuccessWhenAllMandatoryFieldsFilled()
        {
            _cookiesHandlerServiceMock.ClearAllCookies();
            await _wordServiceMock.InsertWord(Arg.Any <Anagram>());

            await _userLogServiceMock.AddLog(Arg.Any <TimeSpan>(), Arg.Any <UserActionTypes>());

            await _contextMock.SaveChangesAsync();

            var result = await _controller.Create(_anagram) as RedirectToActionResult;

            _cookiesHandlerServiceMock.Received().ClearAllCookies();
            await _wordServiceMock.Received().InsertWord(Arg.Any <Anagram>());

            await _userLogServiceMock.Received().AddLog(Arg.Any <TimeSpan>(), Arg.Any <UserActionTypes>());

            await _contextMock.Received().SaveChangesAsync();

            Assert.AreEqual("Index", result.ActionName);
        }
コード例 #4
0
        public void UserLogs_ShouldReturnAView()
        {
            userLogService.GenerateUserLogReport().Returns(new List <UserLogReport> {
                new UserLogReport
                {
                    UserIp     = "107.0.0.1",
                    SearchTime = new DateTime(2019, 7, 19),
                    Word       = "dangus",
                    Anagrams   = new List <string> {
                        "dugnas"
                    }
                }
            });

            var result = homeController.UserLogs();

            Assert.IsInstanceOf <ViewResult>(result);

            userLogService.Received().GenerateUserLogReport();
        }