Пример #1
0
        /// <summary>
        /// Get jokes by specified search term
        /// </summary>
        /// <param name="term">Search term</param>
        /// <returns>Jokes that match the search term with the search term hihglighted and a joke length that specifies the length of the joke</returns>
        public JokesModels GetJokesByTerm(string term)
        {
            var jokeRep = _repFactory.GetDataRepository <IJokeRepository>();

            JokesModels toReturn = jokeRep.GetJokesByTerm(term);

            if (toReturn.Results != null)
            {
                foreach (var item in toReturn.Results)
                {
                    item.JokeLength = _helper.GetJokeLength(item.Joke);
                }
            }

            return(toReturn);
        }
        public void JokesByTerm_ReturnsNull_WhenNoJokesWereFound()
        {
            var jokeList   = new List <JokeModel>();
            var jokeModels = new JokesModels {
                Results = jokeList
            };

            var factory = new Mock <IBusinessFactory>();

            factory.Setup(src => src.GetBusinessClass <IJokeBusiness>().GetJokesByTerm(It.IsAny <string>())).Returns(jokeModels);

            var controller = new JokesController(factory.Object);

            var returns = controller.JokesByTerm("this") as NegotiatedContentResult <JokesModels>;

            Assert.IsNull(returns);
        }
Пример #3
0
        public void GetJokesByTerm_Returns_JokesModels_Type()
        {
            //Arrange
            var term = "red";
            var mockJokeRepository = new Mock <IJokeRepository>();

            mockJokeRepository.Setup(x => x.GetJokesByTerm(It.IsAny <string>())).Returns(new JokesModels());
            var mockRepositoryFactory = new Mock <IRepositoryFactory>();

            mockRepositoryFactory.Setup(x => x.GetDataRepository <IJokeRepository>()).Returns(mockJokeRepository.Object);
            var business = new JokeBusiness(mockRepositoryFactory.Object, new Shared.Utilities.JokesHelper());

            //Act
            JokesModels result = business.GetJokesByTerm(term);

            //Assert
            Assert.IsInstanceOfType(result, typeof(JokesModels));
        }
        public void JokesByTerm_ReturnsJokeModels_WhenItHasJokes()
        {
            var jokeModel = new JokeModel {
                Joke = "this is not a joke"
            };
            var jokeList = new List <JokeModel> {
                jokeModel
            };
            var jokeModels = new JokesModels {
                Results = jokeList
            };

            var factory = new Mock <IBusinessFactory>();

            factory.Setup(src => src.GetBusinessClass <IJokeBusiness>().GetJokesByTerm(It.IsAny <string>())).Returns(jokeModels);

            var controller = new JokesController(factory.Object);

            var returns = controller.JokesByTerm("this") as OkNegotiatedContentResult <JokesModels>;

            Assert.AreEqual(returns.Content, jokeModels);
        }
Пример #5
0
        public void GetJokesByTerm_ReturnsNull_WhenJokesModelsResults_AreNull()
        {
            //Arrange
            var term = "red";
            List <JokeModel> results = null;
            var mockJokeRepository   = new Mock <IJokeRepository>();

            mockJokeRepository.Setup(x => x.GetJokesByTerm(It.IsAny <string>())).Returns(new JokesModels()
            {
                Results = results, SearchTerm = "test"
            });
            var mockRepositoryFactory = new Mock <IRepositoryFactory>();

            mockRepositoryFactory.Setup(x => x.GetDataRepository <IJokeRepository>()).Returns(mockJokeRepository.Object);
            var mockHighlighter = new Mock <IHighlighter>();
            var business        = new JokeBusiness(mockRepositoryFactory.Object, new Shared.Utilities.JokesHelper());

            //Act
            JokesModels result = business.GetJokesByTerm(term);

            //Assert
            Assert.IsNull(result.Results);
        }
Пример #6
0
        public void GetJokesByTerm_ReturnsCorrectNumberOf_JokesModels()
        {
            //Arrange
            var term    = "red";
            var results = new List <JokeModel> {
                new JokeModel()
            };
            var mockJokeRepository = new Mock <IJokeRepository>();

            mockJokeRepository.Setup(x => x.GetJokesByTerm(It.IsAny <string>())).Returns(new JokesModels()
            {
                Results = results, SearchTerm = "test"
            });
            var mockRepositoryFactory = new Mock <IRepositoryFactory>();

            mockRepositoryFactory.Setup(x => x.GetDataRepository <IJokeRepository>()).Returns(mockJokeRepository.Object);
            var business = new JokeBusiness(mockRepositoryFactory.Object, new Shared.Utilities.JokesHelper());

            //Act
            JokesModels result = business.GetJokesByTerm(term);

            //Assert
            Assert.AreEqual(result.Results.Count, 1);
        }