public async Task <ActionResult> GetJokesWithTerm(string jokeTerm) { var handler = new DadJokeHandler(new DadJokeService()); var vm = await handler.GetJokesWithTerm(jokeTerm); return(PartialView("_FilteredJokesList", vm)); }
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); }
public async Task VerifyGetJokesWithTermThrowsApplicationErrorWhenASearchIsPerformedWithNoTerm() { // Arrange var handler = new DadJokeHandler(_jokeService.Object); // Act var vm = await handler.GetJokesWithTerm(string.Empty); }
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); }