public async Task <ActionResult> GetJokesWithTerm(string jokeTerm)
        {
            var handler = new DadJokeHandler(new DadJokeService());
            var vm      = await handler.GetJokesWithTerm(jokeTerm);

            return(PartialView("_FilteredJokesList", vm));
        }
Example #2
0
        public async Task VerifyGetJokesWithTermHydratesVMAndPutsJokeIntoCorrectJokeSizeGrouping()
        {
            var foundJokes = new List <DadJoke>
            {
                new DadJoke
                {
                    Id   = "123",
                    Joke = "Knock, Knock, whose there"
                },
                new DadJoke
                {
                    Id   = "456",
                    Joke = "The wheels on the bus go knock and knock, I mean round and round"
                },
                new DadJoke
                {
                    Id   = "987",
                    Joke = "This is a very long joke that takes a lot of time to develop and by the time you get to the punchline you would have been better off with knock going with something else"
                }
            };

            // Arrange
            string jokeTerm = "Knock";

            _jokeService.Setup(s => s.GetJokesWithTerm(It.IsAny <string>())).Returns(Task.FromResult <IEnumerable <DadJoke> >(foundJokes));
            var handler = new DadJokeHandler(_jokeService.Object);

            // Act
            var vm = await handler.GetJokesWithTerm(jokeTerm);

            // Assert
            Assert.AreEqual(jokeTerm, vm.Term);
            Assert.IsTrue(vm.JokesFound);
            Assert.IsTrue(vm.ShortJokes.Count == 1 && vm.MediumJokes.Count == 1 && vm.LargeJokes.Count == 1);
        }
Example #3
0
        public async Task VerifyGetJokesWithTermThrowsApplicationErrorWhenASearchIsPerformedWithNoTerm()
        {
            // Arrange
            var handler = new DadJokeHandler(_jokeService.Object);

            // Act
            var vm = await handler.GetJokesWithTerm(string.Empty);
        }
Example #4
0
        public async Task VerifyGetJokesWithTermHydratesVMWhenNoMatchingJokesWithTermFound()
        {
            // Arrange
            var    jokes    = new List <DadJoke>();
            string jokeTerm = "Knock";

            _jokeService.Setup(s => s.GetJokesWithTerm(It.IsAny <string>())).Returns(Task.FromResult <IEnumerable <DadJoke> >(jokes));
            var handler = new DadJokeHandler(_jokeService.Object);

            // Act
            var vm = await handler.GetJokesWithTerm(jokeTerm);

            // Assert
            Assert.AreEqual(jokeTerm, vm.Term);
            Assert.IsFalse(vm.JokesFound);
        }